@taiga-ui/kit 3.0.0-rc.4 → 3.0.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 (185) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-action.umd.js +41 -46
  4. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-badged-content.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-combo-box.umd.js +1 -1
  8. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-files.umd.js +1 -1
  10. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-copy.umd.js +2 -2
  12. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-input-count.umd.js +12 -6
  14. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +14 -10
  16. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +2 -2
  18. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-date.umd.js +2 -2
  20. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
  22. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
  24. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-number.umd.js +5 -8
  26. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-input-password.umd.js +19 -15
  28. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +4 -4
  30. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-input-phone.umd.js +2 -2
  32. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-input-tag.umd.js +68 -59
  34. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-time.umd.js +1 -1
  36. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input.umd.js +1 -1
  38. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -1
  40. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-multi-select.umd.js +8 -2
  42. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-push.umd.js +670 -0
  44. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -0
  45. package/bundles/taiga-ui-kit-components-select.umd.js +1 -1
  46. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-text-area.umd.js +25 -19
  48. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components.umd.js +10 -4
  50. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-validators.umd.js +2 -2
  52. package/bundles/taiga-ui-kit-validators.umd.js.map +1 -1
  53. package/components/action/action.component.d.ts +2 -4
  54. package/components/action/action.module.d.ts +2 -3
  55. package/components/combo-box/combo-box.directive.d.ts +2 -2
  56. package/components/index.d.ts +1 -0
  57. package/components/input/input.directive.d.ts +2 -2
  58. package/components/input-copy/input-copy.directive.d.ts +2 -2
  59. package/components/input-count/input-count.directive.d.ts +4 -3
  60. package/components/input-date/input-date.directive.d.ts +2 -2
  61. package/components/input-date-range/input-date-range.component.d.ts +3 -4
  62. package/components/input-date-range/input-date-range.directive.d.ts +3 -2
  63. package/components/input-date-time/input-date-time.directive.d.ts +2 -2
  64. package/components/input-month/input-month.directive.d.ts +2 -2
  65. package/components/input-month-range/input-month-range.directive.d.ts +2 -2
  66. package/components/input-number/input-number.directive.d.ts +2 -3
  67. package/components/input-password/input-password.component.d.ts +5 -4
  68. package/components/input-password/input-password.directive.d.ts +2 -2
  69. package/components/input-phone/input-phone.directive.d.ts +2 -2
  70. package/components/input-phone-international/input-phone-international.module.d.ts +1 -1
  71. package/components/input-tag/input-tag.component.d.ts +7 -6
  72. package/components/multi-select/multi-select.component.d.ts +2 -1
  73. package/components/push/index.d.ts +7 -0
  74. package/components/push/package.json +10 -0
  75. package/components/push/push-alert.component.d.ts +19 -0
  76. package/components/push/push-alert.directive.d.ts +12 -0
  77. package/components/push/push.component.d.ts +14 -0
  78. package/components/push/push.directive.d.ts +13 -0
  79. package/components/push/push.module.d.ts +13 -0
  80. package/components/push/push.options.d.ts +10 -0
  81. package/components/push/push.service.d.ts +13 -0
  82. package/components/push/taiga-ui-kit-components-push.d.ts +5 -0
  83. package/components/select/select.directive.d.ts +2 -2
  84. package/components/text-area/text-area.component.d.ts +6 -5
  85. package/components/text-area/text-area.directive.d.ts +2 -2
  86. package/components/text-area/text-area.module.d.ts +1 -1
  87. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +2 -2
  88. package/esm2015/components/action/action.component.js +18 -24
  89. package/esm2015/components/action/action.module.js +1 -5
  90. package/esm2015/components/badged-content/badged-content.component.js +1 -1
  91. package/esm2015/components/combo-box/combo-box.directive.js +3 -3
  92. package/esm2015/components/files/file/file.component.js +3 -3
  93. package/esm2015/components/index.js +2 -1
  94. package/esm2015/components/input/input.directive.js +3 -3
  95. package/esm2015/components/input-copy/input-copy.component.js +2 -2
  96. package/esm2015/components/input-copy/input-copy.directive.js +3 -3
  97. package/esm2015/components/input-count/input-count.component.js +2 -3
  98. package/esm2015/components/input-count/input-count.directive.js +13 -6
  99. package/esm2015/components/input-date/input-date.component.js +2 -2
  100. package/esm2015/components/input-date/input-date.directive.js +3 -3
  101. package/esm2015/components/input-date-range/input-date-range.component.js +9 -10
  102. package/esm2015/components/input-date-range/input-date-range.directive.js +8 -3
  103. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  104. package/esm2015/components/input-date-time/input-date-time.directive.js +3 -3
  105. package/esm2015/components/input-month/input-month.directive.js +3 -3
  106. package/esm2015/components/input-month-range/input-month-range.directive.js +3 -3
  107. package/esm2015/components/input-number/input-number.component.js +2 -2
  108. package/esm2015/components/input-number/input-number.directive.js +6 -9
  109. package/esm2015/components/input-password/input-password.component.js +14 -12
  110. package/esm2015/components/input-password/input-password.directive.js +7 -5
  111. package/esm2015/components/input-phone/input-phone.component.js +2 -2
  112. package/esm2015/components/input-phone/input-phone.directive.js +3 -3
  113. package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
  114. package/esm2015/components/input-phone-international/input-phone-international.module.js +5 -5
  115. package/esm2015/components/input-tag/input-tag.component.js +32 -19
  116. package/esm2015/components/input-time/input-time.component.js +2 -2
  117. package/esm2015/components/line-clamp/line-clamp.component.js +2 -2
  118. package/esm2015/components/multi-select/multi-select.component.js +9 -3
  119. package/esm2015/components/push/index.js +8 -0
  120. package/esm2015/components/push/push-alert.component.js +49 -0
  121. package/esm2015/components/push/push-alert.directive.js +45 -0
  122. package/esm2015/components/push/push.component.js +52 -0
  123. package/esm2015/components/push/push.directive.js +54 -0
  124. package/esm2015/components/push/push.module.js +73 -0
  125. package/esm2015/components/push/push.options.js +10 -0
  126. package/esm2015/components/push/push.service.js +23 -0
  127. package/esm2015/components/push/taiga-ui-kit-components-push.js +5 -0
  128. package/esm2015/components/select/select.directive.js +3 -3
  129. package/esm2015/components/text-area/text-area.component.js +26 -17
  130. package/esm2015/components/text-area/text-area.directive.js +3 -3
  131. package/esm2015/components/text-area/text-area.module.js +2 -5
  132. package/esm2015/validators/unfinished.validator.js +4 -4
  133. package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
  134. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  135. package/fesm2015/taiga-ui-kit-components-action.js +17 -27
  136. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  137. package/fesm2015/taiga-ui-kit-components-badged-content.js +1 -1
  138. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  139. package/fesm2015/taiga-ui-kit-components-combo-box.js +2 -2
  140. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  141. package/fesm2015/taiga-ui-kit-components-files.js +2 -2
  142. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  143. package/fesm2015/taiga-ui-kit-components-input-copy.js +3 -3
  144. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  145. package/fesm2015/taiga-ui-kit-components-input-count.js +13 -7
  146. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  147. package/fesm2015/taiga-ui-kit-components-input-date-range.js +14 -10
  148. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  149. package/fesm2015/taiga-ui-kit-components-input-date-time.js +3 -3
  150. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  151. package/fesm2015/taiga-ui-kit-components-input-date.js +3 -3
  152. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  153. package/fesm2015/taiga-ui-kit-components-input-month-range.js +2 -2
  154. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  155. package/fesm2015/taiga-ui-kit-components-input-month.js +2 -2
  156. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  157. package/fesm2015/taiga-ui-kit-components-input-number.js +6 -9
  158. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  159. package/fesm2015/taiga-ui-kit-components-input-password.js +18 -15
  160. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  161. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +5 -5
  162. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  163. package/fesm2015/taiga-ui-kit-components-input-phone.js +3 -3
  164. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  165. package/fesm2015/taiga-ui-kit-components-input-tag.js +31 -18
  166. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  167. package/fesm2015/taiga-ui-kit-components-input-time.js +1 -1
  168. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  169. package/fesm2015/taiga-ui-kit-components-input.js +2 -2
  170. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  171. package/fesm2015/taiga-ui-kit-components-line-clamp.js +1 -1
  172. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  173. package/fesm2015/taiga-ui-kit-components-multi-select.js +8 -2
  174. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  175. package/fesm2015/taiga-ui-kit-components-push.js +277 -0
  176. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -0
  177. package/fesm2015/taiga-ui-kit-components-select.js +2 -2
  178. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  179. package/fesm2015/taiga-ui-kit-components-text-area.js +26 -20
  180. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  181. package/fesm2015/taiga-ui-kit-components.js +1 -0
  182. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  183. package/fesm2015/taiga-ui-kit-validators.js +3 -3
  184. package/fesm2015/taiga-ui-kit-validators.js.map +1 -1
  185. package/package.json +4 -4
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectorRef } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
3
  import { AbstractTuiControl, TuiContextWithImplicit, TuiFocusableElementAccessor, TuiInputType, TuiNativeFocusableElement } from '@taiga-ui/cdk';
4
- import { TuiBrightness, TuiHintControllerDirective, TuiSizeL, TuiSizeS, TuiTextfieldSizeDirective } from '@taiga-ui/core';
4
+ import { TuiBrightness, TuiHintOptionsDirective, TuiSizeL, TuiSizeS, TuiTextfieldSizeDirective } from '@taiga-ui/core';
5
5
  import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
6
6
  import { Observable } from 'rxjs';
7
7
  import { TuiInputPasswordOptions } from './input-password-options';
@@ -10,13 +10,14 @@ export declare class TuiInputPasswordComponent extends AbstractTuiControl<string
10
10
  private readonly textfieldSize;
11
11
  readonly passwordTexts$: Observable<[string, string]>;
12
12
  readonly options: TuiInputPasswordOptions;
13
- readonly hintController: TuiHintControllerDirective;
13
+ readonly hintOptions: TuiHintOptionsDirective | null;
14
14
  private readonly mode$;
15
15
  private readonly textfield?;
16
+ private readonly directive$;
16
17
  isPasswordHidden: boolean;
17
18
  readonly computedAppearance$: Observable<string>;
18
19
  readonly type: TuiContextWithImplicit<TuiSizeS | TuiSizeL>;
19
- constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, textfieldSize: TuiTextfieldSizeDirective, passwordTexts$: Observable<[string, string]>, options: TuiInputPasswordOptions, hintController: TuiHintControllerDirective, mode$: Observable<TuiBrightness | null>);
20
+ constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, textfieldSize: TuiTextfieldSizeDirective, passwordTexts$: Observable<[string, string]>, options: TuiInputPasswordOptions, hintOptions: TuiHintOptionsDirective | null, mode$: Observable<TuiBrightness | null>);
20
21
  get nativeFocusableElement(): TuiNativeFocusableElement | null;
21
22
  get focused(): boolean;
22
23
  get icon(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeS | TuiSizeL>>;
@@ -27,6 +28,6 @@ export declare class TuiInputPasswordComponent extends AbstractTuiControl<string
27
28
  togglePasswordVisibility(): void;
28
29
  protected getFallbackValue(): string;
29
30
  private getContext;
30
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputPasswordComponent, [{ optional: true; self: true; }, null, null, null, null, null, null]>;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputPasswordComponent, [{ optional: true; self: true; }, null, null, null, null, { optional: true; }, null]>;
31
32
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputPasswordComponent, "tui-input-password", never, {}, {}, never, ["*", "input"]>;
32
33
  }
@@ -1,8 +1,8 @@
1
1
  import { DoCheck } from '@angular/core';
2
- import { TuiAbstractTextfieldHost } from '@taiga-ui/core';
2
+ import { AbstractTuiTextfieldHost } from '@taiga-ui/core';
3
3
  import { TuiInputPasswordComponent } from './input-password.component';
4
4
  import * as i0 from "@angular/core";
5
- export declare class TuiInputPasswordDirective extends TuiAbstractTextfieldHost<TuiInputPasswordComponent> implements DoCheck {
5
+ export declare class TuiInputPasswordDirective extends AbstractTuiTextfieldHost<TuiInputPasswordComponent> implements DoCheck {
6
6
  input?: HTMLInputElement;
7
7
  onValueChange(value: string): void;
8
8
  process(input: HTMLInputElement): void;
@@ -1,8 +1,8 @@
1
1
  import { DoCheck } from '@angular/core';
2
- import { TuiAbstractTextfieldHost } from '@taiga-ui/core';
2
+ import { AbstractTuiTextfieldHost } from '@taiga-ui/core';
3
3
  import { TuiInputPhoneComponent } from './input-phone.component';
4
4
  import * as i0 from "@angular/core";
5
- export declare class TuiInputPhoneDirective extends TuiAbstractTextfieldHost<TuiInputPhoneComponent> implements DoCheck {
5
+ export declare class TuiInputPhoneDirective extends AbstractTuiTextfieldHost<TuiInputPhoneComponent> implements DoCheck {
6
6
  input?: HTMLInputElement;
7
7
  get value(): string;
8
8
  onValueChange(value: string): void;
@@ -9,6 +9,6 @@ import * as i7 from "@taiga-ui/kit/components/arrow";
9
9
  import * as i8 from "@taiga-ui/cdk";
10
10
  export declare class TuiInputPhoneInternationalModule {
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputPhoneInternationalModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<TuiInputPhoneInternationalModule, [typeof i1.TuiInputPhoneInternationalComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.PolymorpheusModule, typeof i5.TuiSvgModule, typeof i6.TuiInputPhoneModule, typeof i5.TuiGroupModule, typeof i5.TuiPrimitiveTextfieldModule, typeof i5.TuiTextfieldControllerModule, typeof i5.TuiHintControllerModule, typeof i5.TuiHostedDropdownModule, typeof i5.TuiDataListModule, typeof i7.TuiArrowModule, typeof i8.TuiLetModule, typeof i8.TuiMapperPipeModule, typeof i8.TuiActiveZoneModule], [typeof i1.TuiInputPhoneInternationalComponent]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiInputPhoneInternationalModule, [typeof i1.TuiInputPhoneInternationalComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.PolymorpheusModule, typeof i5.TuiSvgModule, typeof i6.TuiInputPhoneModule, typeof i5.TuiGroupModule, typeof i5.TuiPrimitiveTextfieldModule, typeof i5.TuiTextfieldControllerModule, typeof i5.TuiHintModule, typeof i5.TuiHostedDropdownModule, typeof i5.TuiDataListModule, typeof i7.TuiArrowModule, typeof i8.TuiLetModule, typeof i8.TuiMapperPipeModule, typeof i8.TuiActiveZoneModule], [typeof i1.TuiInputPhoneInternationalComponent]>;
13
13
  static ɵinj: i0.ɵɵInjectorDeclaration<TuiInputPhoneInternationalModule>;
14
14
  }
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectorRef, ElementRef, EventEmitter, TemplateRef } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
3
  import { AbstractTuiMultipleControl, TuiActiveZoneDirective, TuiBooleanHandler, TuiContextWithImplicit, TuiFocusableElementAccessor, TuiScrollService } from '@taiga-ui/cdk';
4
- import { TuiBrightness, TuiDataListHost, TuiHintControllerDirective, TuiHostedDropdownComponent, TuiModeDirective, TuiScrollbarComponent, TuiSizeL, TuiSizeS, TuiTextfieldController } from '@taiga-ui/core';
4
+ import { TuiBrightness, TuiDataListHost, TuiHintOptionsDirective, TuiHostedDropdownComponent, TuiModeDirective, TuiScrollbarComponent, TuiSizeL, TuiSizeS, TuiTextfieldController } from '@taiga-ui/core';
5
5
  import { TuiStringifiableItem } from '@taiga-ui/kit/classes';
6
6
  import { TuiStatus } from '@taiga-ui/kit/types';
7
7
  import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
@@ -14,7 +14,7 @@ export declare class TuiInputTagComponent extends AbstractTuiMultipleControl<str
14
14
  readonly appearance: string;
15
15
  private readonly modeDirective;
16
16
  private readonly mode$;
17
- readonly hintController: TuiHintControllerDirective;
17
+ readonly hintOptions: TuiHintOptionsDirective | null;
18
18
  readonly controller: TuiTextfieldController;
19
19
  private readonly options;
20
20
  private readonly parentHostedDropdown?;
@@ -33,6 +33,8 @@ export declare class TuiInputTagComponent extends AbstractTuiMultipleControl<str
33
33
  expandable: boolean;
34
34
  inputHidden: boolean;
35
35
  uniqueTags: boolean;
36
+ maxLength: number | null;
37
+ placeholder: string;
36
38
  disabledItemHandler: TuiBooleanHandler<string | TuiStringifiableItem<any>>;
37
39
  set pseudoFocusedSetter(value: boolean | null);
38
40
  readonly searchChange: EventEmitter<string>;
@@ -41,7 +43,7 @@ export declare class TuiInputTagComponent extends AbstractTuiMultipleControl<str
41
43
  set scrollerSetter(scroller: TuiScrollbarComponent | null);
42
44
  status$: Observable<TuiStatus>;
43
45
  open: boolean;
44
- constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, tuiScrollService: TuiScrollService, elementRef: ElementRef<HTMLElement>, appearance: string, modeDirective: TuiModeDirective | null, mode$: Observable<TuiBrightness | null>, hintController: TuiHintControllerDirective, controller: TuiTextfieldController, options: TuiInputTagOptions, parentHostedDropdown?: TuiHostedDropdownComponent | undefined);
46
+ constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, tuiScrollService: TuiScrollService, elementRef: ElementRef<HTMLElement>, appearance: string, modeDirective: TuiModeDirective | null, mode$: Observable<TuiBrightness | null>, hintOptions: TuiHintOptionsDirective | null, controller: TuiTextfieldController, options: TuiInputTagOptions, parentHostedDropdown?: TuiHostedDropdownComponent | undefined);
45
47
  get nativeFocusableElement(): HTMLInputElement | null;
46
48
  get focused(): boolean;
47
49
  get size(): TuiSizeL | TuiSizeS;
@@ -54,7 +56,6 @@ export declare class TuiInputTagComponent extends AbstractTuiMultipleControl<str
54
56
  get hasPlaceholder(): boolean;
55
57
  get placeholderRaised(): boolean;
56
58
  get hasExampleText(): boolean;
57
- get hasTooltip(): boolean;
58
59
  get hasRightIcons(): boolean;
59
60
  get status(): TuiStatus;
60
61
  get canOpen(): boolean;
@@ -80,6 +81,6 @@ export declare class TuiInputTagComponent extends AbstractTuiMultipleControl<str
80
81
  private addTag;
81
82
  private deleteLastEnabledItem;
82
83
  private focusInput;
83
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputTagComponent, [{ optional: true; self: true; }, null, null, null, null, { optional: true; }, null, null, null, null, { optional: true; }]>;
84
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputTagComponent, "tui-input-tag", never, { "separator": "separator"; "search": "search"; "editable": "editable"; "tagValidator": "tagValidator"; "expandable": "expandable"; "inputHidden": "inputHidden"; "uniqueTags": "uniqueTags"; "disabledItemHandler": "disabledItemHandler"; "pseudoFocusedSetter": "pseudoFocused"; }, { "searchChange": "searchChange"; }, ["datalist"], ["*"]>;
84
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputTagComponent, [{ optional: true; self: true; }, null, null, null, null, { optional: true; }, null, { optional: true; }, null, null, { optional: true; }]>;
85
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputTagComponent, "tui-input-tag", never, { "separator": "separator"; "search": "search"; "editable": "editable"; "tagValidator": "tagValidator"; "expandable": "expandable"; "inputHidden": "inputHidden"; "uniqueTags": "uniqueTags"; "maxLength": "maxLength"; "placeholder": "placeholder"; "disabledItemHandler": "disabledItemHandler"; "pseudoFocusedSetter": "pseudoFocused"; }, { "searchChange": "searchChange"; }, ["datalist"], ["*"]>;
85
86
  }
@@ -21,6 +21,7 @@ export declare class TuiMultiSelectComponent<T> extends AbstractTuiMultipleContr
21
21
  identityMatcher: TuiItemsHandlers<T>['identityMatcher'];
22
22
  expandable: TuiMultiSelectOptions<T>['expandable'];
23
23
  search: string | null;
24
+ placeholder: string;
24
25
  editable: boolean;
25
26
  disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'];
26
27
  valueContent: TuiMultiSelectOptions<T>['valueContent'];
@@ -57,5 +58,5 @@ export declare class TuiMultiSelectComponent<T> extends AbstractTuiMultipleContr
57
58
  private updateSearch;
58
59
  private focusInput;
59
60
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiMultiSelectComponent<any>, [{ optional: true; self: true; }, null, null, null, null, null, null]>;
60
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiMultiSelectComponent<any>, "tui-multi-select", never, { "stringify": "stringify"; "identityMatcher": "identityMatcher"; "expandable": "expandable"; "search": "search"; "editable": "editable"; "disabledItemHandler": "disabledItemHandler"; "valueContent": "valueContent"; }, { "searchChange": "searchChange"; }, ["accessor", "datalist"], ["*"]>;
61
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiMultiSelectComponent<any>, "tui-multi-select", never, { "stringify": "stringify"; "identityMatcher": "identityMatcher"; "expandable": "expandable"; "search": "search"; "placeholder": "placeholder"; "editable": "editable"; "disabledItemHandler": "disabledItemHandler"; "valueContent": "valueContent"; }, { "searchChange": "searchChange"; }, ["accessor", "datalist"], ["*"]>;
61
62
  }
@@ -0,0 +1,7 @@
1
+ export * from './push.component';
2
+ export * from './push.directive';
3
+ export * from './push.module';
4
+ export * from './push.options';
5
+ export * from './push.service';
6
+ export * from './push-alert.component';
7
+ export * from './push-alert.directive';
@@ -0,0 +1,10 @@
1
+ {
2
+ "main": "../../bundles/taiga-ui-kit-components-push.umd.js",
3
+ "module": "../../fesm2015/taiga-ui-kit-components-push.js",
4
+ "es2015": "../../fesm2015/taiga-ui-kit-components-push.js",
5
+ "esm2015": "../../esm2015/components/push/taiga-ui-kit-components-push.js",
6
+ "fesm2015": "../../fesm2015/taiga-ui-kit-components-push.js",
7
+ "typings": "taiga-ui-kit-components-push.d.ts",
8
+ "sideEffects": false,
9
+ "name": "@taiga-ui/kit/components/push"
10
+ }
@@ -0,0 +1,19 @@
1
+ import { AnimationOptions } from '@angular/animations';
2
+ import { TuiDialog } from '@taiga-ui/cdk';
3
+ import { TuiPushOptions } from './push.options';
4
+ import * as i0 from "@angular/core";
5
+ export declare class TuiPushAlertComponent {
6
+ private readonly options;
7
+ readonly context: TuiDialog<TuiPushOptions, string>;
8
+ readonly animation: {
9
+ readonly delay?: string | number | undefined;
10
+ readonly params?: {
11
+ [name: string]: any;
12
+ } | undefined;
13
+ readonly value: "";
14
+ };
15
+ constructor(options: AnimationOptions, context: TuiDialog<TuiPushOptions, string>);
16
+ get isDirective(): boolean;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiPushAlertComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiPushAlertComponent, "tui-push-alert", never, {}, {}, never, never>;
19
+ }
@@ -0,0 +1,12 @@
1
+ import { ChangeDetectorRef, TemplateRef } from '@angular/core';
2
+ import { PolymorpheusTemplate } from '@tinkoff/ng-polymorpheus';
3
+ import { Observable } from 'rxjs';
4
+ import { TuiPushService } from './push.service';
5
+ import * as i0 from "@angular/core";
6
+ export declare class TuiPushAlertDirective extends PolymorpheusTemplate<any> {
7
+ private readonly show$;
8
+ set tuiPush(show: boolean);
9
+ constructor(template: TemplateRef<any>, changeDetectorRef: ChangeDetectorRef, destroy$: Observable<unknown>, push: TuiPushService);
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiPushAlertDirective, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiPushAlertDirective, "[tuiPush]", never, { "tuiPush": "tuiPush"; }, {}, never>;
12
+ }
@@ -0,0 +1,14 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TuiPushComponent {
5
+ readonly closeWord$: Observable<string>;
6
+ heading: string;
7
+ type: string;
8
+ timestamp: number;
9
+ readonly close: EventEmitter<void>;
10
+ constructor(closeWord$: Observable<string>);
11
+ get closeable(): boolean;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiPushComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiPushComponent, "tui-push", never, { "heading": "heading"; "type": "type"; "timestamp": "timestamp"; }, { "close": "close"; }, never, ["img", "tui-svg", "*", "[tuiButton]", "[tuiLink]"]>;
14
+ }
@@ -0,0 +1,13 @@
1
+ import { TuiButtonOptions, TuiModeDirective } from '@taiga-ui/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TuiPushDirective extends TuiModeDirective implements TuiButtonOptions {
5
+ private readonly modeDirective;
6
+ size: TuiButtonOptions['size'];
7
+ shape: null;
8
+ readonly change$: Subject<void>;
9
+ constructor(modeDirective: TuiModeDirective | null);
10
+ get appearance(): string;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiPushDirective, [{ optional: true; skipSelf: true; }]>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiPushDirective, "tui-push", never, {}, {}, never>;
13
+ }
@@ -0,0 +1,13 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./push.component";
3
+ import * as i2 from "./push.directive";
4
+ import * as i3 from "./push-alert.component";
5
+ import * as i4 from "./push-alert.directive";
6
+ import * as i5 from "@angular/common";
7
+ import * as i6 from "@tinkoff/ng-polymorpheus";
8
+ import * as i7 from "@taiga-ui/core";
9
+ export declare class TuiPushModule {
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiPushModule, never>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiPushModule, [typeof i1.TuiPushComponent, typeof i2.TuiPushDirective, typeof i3.TuiPushAlertComponent, typeof i4.TuiPushAlertDirective], [typeof i5.CommonModule, typeof i6.PolymorpheusModule, typeof i7.TuiButtonModule, typeof i7.TuiLinkModule, typeof i7.TuiSvgModule, typeof i7.TuiFormatDatePipeModule], [typeof i1.TuiPushComponent, typeof i2.TuiPushDirective, typeof i3.TuiPushAlertComponent, typeof i4.TuiPushAlertDirective]>;
12
+ static ɵinj: i0.ɵɵInjectorDeclaration<TuiPushModule>;
13
+ }
@@ -0,0 +1,10 @@
1
+ export interface TuiPushOptions {
2
+ readonly heading: string;
3
+ readonly type: string;
4
+ readonly timestamp: number;
5
+ readonly image: string;
6
+ readonly icon: string;
7
+ readonly iconColor: string;
8
+ readonly buttons: readonly string[];
9
+ }
10
+ export declare const TUI_PUSH_DEFAULT_OPTIONS: TuiPushOptions;
@@ -0,0 +1,13 @@
1
+ import { AbstractTuiDialogService, TuiBaseDialogContext } from '@taiga-ui/cdk';
2
+ import { PolymorpheusComponent, PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
3
+ import { Observable } from 'rxjs';
4
+ import { TuiPushOptions } from './push.options';
5
+ import { TuiPushAlertComponent } from './push-alert.component';
6
+ import * as i0 from "@angular/core";
7
+ export declare class TuiPushService extends AbstractTuiDialogService<TuiPushOptions, string> {
8
+ protected readonly component: PolymorpheusComponent<TuiPushAlertComponent, Record<any, any>>;
9
+ protected readonly defaultOptions: TuiPushOptions;
10
+ open(content: PolymorpheusContent<TuiBaseDialogContext<string> & TuiPushOptions>, options?: Partial<TuiPushOptions>): Observable<string>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiPushService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<TuiPushService>;
13
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@taiga-ui/kit/components/push" />
5
+ export * from './index';
@@ -1,7 +1,7 @@
1
- import { TuiAbstractTextfieldHost } from '@taiga-ui/core';
1
+ import { AbstractTuiTextfieldHost } from '@taiga-ui/core';
2
2
  import { TuiSelectComponent } from './select.component';
3
3
  import * as i0 from "@angular/core";
4
- export declare class TuiSelectDirective extends TuiAbstractTextfieldHost<TuiSelectComponent<unknown>> {
4
+ export declare class TuiSelectDirective extends AbstractTuiTextfieldHost<TuiSelectComponent<unknown>> {
5
5
  get readOnly(): boolean;
6
6
  get value(): string;
7
7
  onValueChange(value: string): void;
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectorRef } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
3
  import { AbstractTuiControl, TuiFocusableElementAccessor } from '@taiga-ui/cdk';
4
- import { TuiBrightness, TuiHintControllerDirective, TuiSizeL, TuiSizeS, TuiTextfieldController } from '@taiga-ui/core';
4
+ import { TuiBrightness, TuiHintOptionsDirective, TuiSizeL, TuiSizeS, TuiTextfieldController } from '@taiga-ui/core';
5
5
  import { Observable } from 'rxjs';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare const DEFAULT_ROWS = 20;
@@ -12,12 +12,13 @@ export declare class TuiTextAreaComponent extends AbstractTuiControl<string> imp
12
12
  readonly isIOS: boolean;
13
13
  readonly mode$: Observable<TuiBrightness | null>;
14
14
  readonly controller: TuiTextfieldController;
15
- readonly hintController: TuiHintControllerDirective;
15
+ readonly hintOptions: TuiHintOptionsDirective | null;
16
16
  private readonly focusableElement?;
17
17
  private readonly textfield?;
18
18
  rows: number;
19
+ maxLength: number | null;
19
20
  expandable: boolean;
20
- constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, appearance: string, isIOS: boolean, mode$: Observable<TuiBrightness | null>, controller: TuiTextfieldController, hintController: TuiHintControllerDirective);
21
+ constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, appearance: string, isIOS: boolean, mode$: Observable<TuiBrightness | null>, controller: TuiTextfieldController, hintOptions: TuiHintOptionsDirective | null);
21
22
  get labelOutside(): boolean;
22
23
  get nativeFocusableElement(): HTMLTextAreaElement | null;
23
24
  get focused(): boolean;
@@ -38,6 +39,6 @@ export declare class TuiTextAreaComponent extends AbstractTuiControl<string> imp
38
39
  onMouseDown(event: MouseEvent): void;
39
40
  protected getFallbackValue(): string;
40
41
  private get lineHeight();
41
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextAreaComponent, [{ optional: true; self: true; }, null, null, null, null, null, null]>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextAreaComponent, "tui-text-area", never, { "rows": "rows"; "expandable": "expandable"; }, {}, ["textfield"], ["*", "textarea"]>;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextAreaComponent, [{ optional: true; self: true; }, null, null, null, null, null, { optional: true; }]>;
43
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextAreaComponent, "tui-text-area", never, { "rows": "rows"; "maxLength": "maxLength"; "expandable": "expandable"; }, {}, ["textfield"], ["*", "textarea"]>;
43
44
  }
@@ -1,7 +1,7 @@
1
- import { TuiAbstractTextfieldHost } from '@taiga-ui/core';
1
+ import { AbstractTuiTextfieldHost } from '@taiga-ui/core';
2
2
  import { TuiTextAreaComponent } from './text-area.component';
3
3
  import * as i0 from "@angular/core";
4
- export declare class TuiTextAreaDirective extends TuiAbstractTextfieldHost<TuiTextAreaComponent> {
4
+ export declare class TuiTextAreaDirective extends AbstractTuiTextfieldHost<TuiTextAreaComponent> {
5
5
  onValueChange(value: string): void;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextAreaDirective, never>;
7
7
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextAreaDirective, "tui-text-area", never, {}, {}, never>;
@@ -7,6 +7,6 @@ import * as i5 from "@taiga-ui/cdk";
7
7
  import * as i6 from "@taiga-ui/core";
8
8
  export declare class TuiTextAreaModule {
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextAreaModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<TuiTextAreaModule, [typeof i1.TuiTextAreaComponent, typeof i2.TuiTextAreaDirective], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.TuiFocusableModule, typeof i6.TuiScrollbarModule, typeof i6.TuiTooltipModule, typeof i6.TuiWrapperModule, typeof i6.TuiDescribedByModule, typeof i6.TuiSvgModule, typeof i6.TuiPrimitiveTextfieldModule], [typeof i1.TuiTextAreaComponent, typeof i2.TuiTextAreaDirective, typeof i6.TuiTextfieldComponent]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiTextAreaModule, [typeof i1.TuiTextAreaComponent, typeof i2.TuiTextAreaDirective], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.TuiFocusableModule, typeof i6.TuiScrollbarModule, typeof i6.TuiTooltipModule, typeof i6.TuiWrapperModule, typeof i6.TuiSvgModule, typeof i6.TuiPrimitiveTextfieldModule], [typeof i1.TuiTextAreaComponent, typeof i2.TuiTextAreaDirective, typeof i6.TuiTextfieldComponent]>;
11
11
  static ɵinj: i0.ɵɵInjectorDeclaration<TuiTextAreaModule>;
12
12
  }
@@ -71,7 +71,7 @@ export class TuiAccordionItemComponent extends AbstractTuiInteractive {
71
71
  }
72
72
  }
73
73
  TuiAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAccordionItemComponent, deps: [{ token: ChangeDetectorRef }, { token: TUI_MODE }], target: i0.ɵɵFactoryTarget.Component });
74
- TuiAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: { noPadding: "noPadding", showArrow: "showArrow", borders: "borders", size: "size", disabled: "disabled", disableHover: "disableHover", open: "open", async: "async" }, outputs: { openChange: "openChange" }, host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "class._no-padding": "this.noPadding", "class._has-arrow": "this.showArrow", "attr.data-tui-host-borders": "this.borders", "attr.data-size": "this.size", "class._disabled": "this.disabled" } }, providers: [tuiAsFocusableItemAccessor(TuiAccordionItemComponent), MODE_PROVIDER], queries: [{ propertyName: "eagerContent", first: true, predicate: TuiAccordionItemEagerContentDirective, descendants: true }, { propertyName: "lazyContent", first: true, predicate: TuiAccordionItemContentDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n #focusableElement\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (keydown.space)=\"onItemKeyDownSpace($event)\"\n (keydown.enter)=\"onItemKeyDownSpace($event)\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n>\n <div\n automation-id=\"tui-accordion__item-header\"\n class=\"t-header\"\n [class.t-header_open]=\"open\"\n [class.t-header_hoverable]=\"!disableHover\"\n (click)=\"onRowToggle()\"\n >\n <div\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content></ng-content>\n </div>\n <tui-svg\n *ngIf=\"showArrow\"\n automation-id=\"tui-accordion__item-arrow\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_open]=\"open\"\n ></tui-svg>\n </div>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <div\n *ngIf=\"eagerContent\"\n class=\"t-content\"\n >\n <ng-content select=\"[tuiAccordionItemContent]\"></ng-content>\n </div>\n <ng-template tuiExpandContent>\n <div\n *ngIf=\"lazyContent\"\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n </tui-expand>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-tui-host-borders=top-bottom]{border-radius:0!important}.t-wrapper{position:relative;border-radius:inherit}.t-wrapper:focus{outline:none}.t-wrapper:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-base-04);pointer-events:none}:host:not([data-tui-host-borders]) .t-wrapper:after{border-width:0}:host[data-tui-host-borders=all] .t-wrapper:after{border-width:1px}:host[data-tui-host-borders=top-bottom] .t-wrapper:after{border-left-width:0;border-right-width:0}:host[data-tui-host-borders=top] .t-wrapper:after{border-left-width:0;border-right-width:0;border-bottom-width:0}:host[data-tui-host-borders=bottom] .t-wrapper:after{border-left-width:0;border-right-width:0;border-top-width:0}:host[data-mode=onDark] .t-wrapper:after{border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-wrapper:after{border-color:var(--tui-text-01)}:host._focus-visible .t-wrapper:after{border:2px solid var(--tui-focus)}:host:not([data-mode]) .t-wrapper{background:var(--tui-base-01)}.t-header{transition-property:background;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-bottom:1px solid var(--tui-base-04);min-height:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-01);cursor:pointer}:host[data-mode=onDark] .t-header{color:var(--tui-text-01-night);border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-header{border-color:var(--tui-text-01)}:host:not([data-tui-host-borders]) .t-header{border-bottom-width:0;box-shadow:none}:host._has-arrow .t-header{padding-right:.75rem}:host[data-mode=onDark] .t-header_open{background:var(--tui-clear-inverse)}:host[data-mode=onLight] .t-header_open{background:var(--tui-clear)}:host[data-size=s] .t-header{font:var(--tui-font-text-m);min-height:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .t-header{padding-left:0;padding-right:0}:host._disabled .t-header{cursor:default}:host:hover:not([data-mode]) .t-header_hoverable{background:var(--tui-base-02)}:host:hover[data-mode=onDark] .t-header_hoverable{background:var(--tui-clear-inverse)}:host:hover[data-mode=onLight] .t-header_hoverable{background:var(--tui-clear)}.t-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:0;flex-grow:1}:host._has-arrow .t-title{margin-right:.5rem}.t-icon{transition-property:transform,color;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:1.5rem;height:1.5rem;margin-left:auto;color:var(--tui-base-06)}.t-icon_open{transform:rotate(180deg)}:host[data-mode] .t-icon{opacity:var(--tui-disabled-opacity)}:host:hover[data-mode] .t-icon{opacity:.8}:host[data-mode=onDark] .t-icon{color:var(--tui-text-01-night)}:host[data-mode=onLight] .t-icon{color:var(--tui-text-01)}:host:hover:not([data-mode]) .t-icon{color:var(--tui-base-07)}.t-content{font:var(--tui-font-text-m);padding:1.25rem;word-wrap:break-word}:host[data-size=s] .t-content{font:var(--tui-font-text-s);padding:1rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i2.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i2.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i2.TuiFocusedDirective, selector: "[tuiFocusedChange]", outputs: ["tuiFocusedChange"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiExpandContentDirective, selector: "[tuiExpandContent]" }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
+ TuiAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: { noPadding: "noPadding", showArrow: "showArrow", borders: "borders", size: "size", disabled: "disabled", disableHover: "disableHover", open: "open", async: "async" }, outputs: { openChange: "openChange" }, host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "class._no-padding": "this.noPadding", "class._has-arrow": "this.showArrow", "attr.data-tui-host-borders": "this.borders", "attr.data-size": "this.size", "class._disabled": "this.disabled" } }, providers: [tuiAsFocusableItemAccessor(TuiAccordionItemComponent), MODE_PROVIDER], queries: [{ propertyName: "eagerContent", first: true, predicate: TuiAccordionItemEagerContentDirective, descendants: true }, { propertyName: "lazyContent", first: true, predicate: TuiAccordionItemContentDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n #focusableElement\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (keydown.space)=\"onItemKeyDownSpace($event)\"\n (keydown.enter)=\"onItemKeyDownSpace($event)\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n>\n <div\n automation-id=\"tui-accordion__item-header\"\n class=\"t-header\"\n [class.t-header_open]=\"open\"\n [class.t-header_hoverable]=\"!disableHover\"\n (click)=\"onRowToggle()\"\n >\n <div\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content></ng-content>\n </div>\n <tui-svg\n *ngIf=\"showArrow\"\n automation-id=\"tui-accordion__item-arrow\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_open]=\"open\"\n ></tui-svg>\n </div>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <ng-template>\n <div\n *ngIf=\"lazyContent\"\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n <div\n *ngIf=\"eagerContent\"\n class=\"t-content\"\n >\n <ng-content select=\"[tuiAccordionItemContent]\"></ng-content>\n </div>\n </tui-expand>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-tui-host-borders=top-bottom]{border-radius:0!important}.t-wrapper{position:relative;border-radius:inherit}.t-wrapper:focus{outline:none}.t-wrapper:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-base-04);pointer-events:none}:host:not([data-tui-host-borders]) .t-wrapper:after{border-width:0}:host[data-tui-host-borders=all] .t-wrapper:after{border-width:1px}:host[data-tui-host-borders=top-bottom] .t-wrapper:after{border-left-width:0;border-right-width:0}:host[data-tui-host-borders=top] .t-wrapper:after{border-left-width:0;border-right-width:0;border-bottom-width:0}:host[data-tui-host-borders=bottom] .t-wrapper:after{border-left-width:0;border-right-width:0;border-top-width:0}:host[data-mode=onDark] .t-wrapper:after{border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-wrapper:after{border-color:var(--tui-text-01)}:host._focus-visible .t-wrapper:after{border:2px solid var(--tui-focus)}:host:not([data-mode]) .t-wrapper{background:var(--tui-base-01)}.t-header{transition-property:background;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-bottom:1px solid var(--tui-base-04);min-height:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-01);cursor:pointer}:host[data-mode=onDark] .t-header{color:var(--tui-text-01-night);border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-header{border-color:var(--tui-text-01)}:host:not([data-tui-host-borders]) .t-header{border-bottom-width:0;box-shadow:none}:host._has-arrow .t-header{padding-right:.75rem}:host[data-mode=onDark] .t-header_open{background:var(--tui-clear-inverse)}:host[data-mode=onLight] .t-header_open{background:var(--tui-clear)}:host[data-size=s] .t-header{font:var(--tui-font-text-m);min-height:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .t-header{padding-left:0;padding-right:0}:host._disabled .t-header{cursor:default}:host:hover:not([data-mode]) .t-header_hoverable{background:var(--tui-base-02)}:host:hover[data-mode=onDark] .t-header_hoverable{background:var(--tui-clear-inverse)}:host:hover[data-mode=onLight] .t-header_hoverable{background:var(--tui-clear)}.t-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:0;flex-grow:1}:host._has-arrow .t-title{margin-right:.5rem}.t-icon{transition-property:transform,color;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:1.5rem;height:1.5rem;margin-left:auto;color:var(--tui-base-06)}.t-icon_open{transform:rotate(180deg)}:host[data-mode] .t-icon{opacity:var(--tui-disabled-opacity)}:host:hover[data-mode] .t-icon{opacity:.8}:host[data-mode=onDark] .t-icon{color:var(--tui-text-01-night)}:host[data-mode=onLight] .t-icon{color:var(--tui-text-01)}:host:hover:not([data-mode]) .t-icon{color:var(--tui-base-07)}.t-content{font:var(--tui-font-text-m);padding:1.25rem;word-wrap:break-word}:host[data-size=s] .t-content{font:var(--tui-font-text-s);padding:1rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i2.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i2.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i2.TuiFocusedDirective, selector: "[tuiFocusedChange]", outputs: ["tuiFocusedChange"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
75
  __decorate([
76
76
  tuiDefaultProp()
77
77
  ], TuiAccordionItemComponent.prototype, "noPadding", void 0);
@@ -157,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
157
157
  type: ContentChild,
158
158
  args: [TuiAccordionItemContentDirective]
159
159
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLGNBQWMsRUFFZCxrQkFBa0IsR0FFckIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBRSxRQUFRLEVBQTBCLE1BQU0sZ0JBQWdCLENBQUM7QUFHaEYsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDcEYsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFZL0YsTUFBTSxPQUFPLHlCQUNULFNBQVEsc0JBQXNCO0lBb0Q5QixZQUNnRCxpQkFBb0MsRUFDckQsS0FBdUM7UUFFbEUsS0FBSyxFQUFFLENBQUM7UUFIb0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNyRCxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQTdDdEUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUtsQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBS2pCLFlBQU8sR0FBZ0MsS0FBSyxDQUFDO1FBSzdDLFNBQUks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LDJCQUEyQixFQUFFLGFBQWEsQ0FBQztvQkFDakYsSUFBSSxFQUFFO3dCQUNGLG9CQUFvQixFQUFFLE9BQU87cUJBQ2hDO2lCQUNKOzswQkF1RFEsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLFFBQVE7NENBbERILGdCQUFnQjtzQkFEaEMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBTTdCLFNBQVM7c0JBSFIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBT2hDLFNBQVM7c0JBSFIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTy9CLE9BQU87c0JBSE4sS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBT3pDLElBQUk7c0JBSEgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTzdCLFFBQVE7c0JBSFAsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTlCLFlBQVk7c0JBRlgsS0FBSztnQkFNTixJQUFJO3NCQUZILEtBQUs7Z0JBTU4sS0FBSztzQkFGSixLQUFLO2dCQUtHLFVBQVU7c0JBRGxCLE1BQU07Z0JBSUUsWUFBWTtzQkFEcEIsWUFBWTt1QkFBQyxxQ0FBcUM7Z0JBSTFDLFdBQVc7c0JBRG5CLFlBQVk7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZSxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtNT0RFX1BST1ZJREVSLCBUVUlfTU9ERSwgVHVpQnJpZ2h0bmVzcywgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpQWNjb3JkaW9uSXRlbUNvbnRlbnREaXJlY3RpdmV9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlBY2NvcmRpb25JdGVtRWFnZXJDb250ZW50RGlyZWN0aXZlfSBmcm9tICcuL2FjY29yZGlvbi1pdGVtLWVhZ2VyLWNvbnRlbnQuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktYWNjb3JkaW9uLWl0ZW1gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9hY2NvcmRpb24taXRlbS50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9hY2NvcmRpb24taXRlbS5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudCksIE1PREVfUFJPVklERVJdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6IGBtb2RlJGAsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZVxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChgZm9jdXNhYmxlRWxlbWVudGApXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fbm8tcGFkZGluZ2ApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBub1BhZGRpbmcgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5faGFzLWFycm93YClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNob3dBcnJvdyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXR1aS1ob3N0LWJvcmRlcnNgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYm9yZGVyczogJ2FsbCcgfCAndG9wLWJvdHRvbScgfCBudWxsID0gYGFsbGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXNpemVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSBgbWA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2Rpc2FibGVkYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZUhvdmVyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFzeW5jID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlBY2NvcmRpb25JdGVtRWFnZXJDb250ZW50RGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IGVhZ2VyQ29udGVudD86IFR1aUFjY29yZGlvbkl0ZW1FYWdlckNvbnRlbnREaXJlY3RpdmU7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aUFjY29yZGlvbkl0ZW1Db250ZW50RGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IGxhenlDb250ZW50PzogVHVpQWNjb3JkaW9uSXRlbUNvbnRlbnREaXJlY3RpdmU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8ICF0aGlzLmZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c1Zpc2libGUoZm9jdXNWaXNpYmxlKTtcbiAgICB9XG5cbiAgICBvblJvd1RvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9wZW4oIXRoaXMub3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkl0ZW1LZXlEb3duRXNjKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZm9jdXNlZCB8fCAhdGhpcy5vcGVuKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1LZXlEb3duU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLm9uUm93VG9nZ2xlKCk7XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlT3BlbihmYWxzZSk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVPcGVuKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3BlbiA9PT0gb3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1hY2NvcmRpb25fX2l0ZW0td3JhcHBlclwiXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIFt0dWlGb2N1c2FibGVdPVwiY29tcHV0ZWRGb2N1c2FibGVcIlxuICAgICh0dWlGb2N1c1Zpc2libGVDaGFuZ2UpPVwib25Gb2N1c1Zpc2libGUoJGV2ZW50KVwiXG4gICAgKHR1aUZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuICAgIChrZXlkb3duLnNwYWNlKT1cIm9uSXRlbUtleURvd25TcGFjZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkl0ZW1LZXlEb3duU3BhY2UoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uZXNjKT1cIm9uSXRlbUtleURvd25Fc2MoJGV2ZW50KVwiXG4+XG4gICAgPGRpdlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjY29yZGlvbl9faXRlbS1oZWFkZXJcIlxuICAgICAgICBjbGFzcz1cInQtaGVhZGVyXCJcbiAgICAgICAgW2NsYXNzLnQtaGVhZGVyX29wZW5dPVwib3BlblwiXG4gICAgICAgIFtjbGFzcy50LWhlYWRlcl9ob3ZlcmFibGVdPVwiIWRpc2FibGVIb3ZlclwiXG4gICAgICAgIChjbGljayk9XCJvblJvd1RvZ2dsZSgpXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19pdGVtLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10aXRsZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAqbmdJZj1cInNob3dBcnJvd1wiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjY29yZGlvbl9faXRlbS1hcnJvd1wiXG4gICAgICAgICAgICBzcmM9XCJ0dWlJY29uQ2hldnJvbkRvd25MYXJnZVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uX29wZW5dPVwib3BlblwiXG4gICAgICAgID48L3R1aS1zdmc+XG4gICAgPC9kaXY+XG4gICAgPHR1aS1leHBhbmRcbiAgICAgICAgW2FzeW5jXT1cImFzeW5jXCJcbiAgICAgICAgW2V4cGFuZGVkXT1cIm9wZW5cIlxuICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJlYWdlckNvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdHVpQWNjb3JkaW9uSXRlbUNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHR1aUV4cGFuZENvbnRlbnQ+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJsYXp5Q29udGVudFwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1hY2NvcmRpb25fX2l0ZW0tY29udGVudFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImxhenlDb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC90dWktZXhwYW5kPlxuPC9kaXY+XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLGNBQWMsRUFFZCxrQkFBa0IsR0FFckIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBRSxRQUFRLEVBQTBCLE1BQU0sZ0JBQWdCLENBQUM7QUFHaEYsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDcEYsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFZL0YsTUFBTSxPQUFPLHlCQUNULFNBQVEsc0JBQXNCO0lBb0Q5QixZQUNnRCxpQkFBb0MsRUFDckQsS0FBdUM7UUFFbEUsS0FBSyxFQUFFLENBQUM7UUFIb0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNyRCxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQTdDdEUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUtsQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBS2pCLFlBQU8sR0FBZ0MsS0FBSyxDQUFDO1FBSzdDLFNBQUksR0FBYSxHQUFHLENBQUM7UUFLckIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUlqQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUlyQixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBSWIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUdMLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBYWxELENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQzFDLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFnQjtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxjQUFjLENBQUMsWUFBcUI7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFZO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUM3QixPQUFPO1NBQ1Y7UUFFRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBWTtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQWE7UUFDNUIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtZQUNwQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDOzt1SEFsSFEseUJBQXlCLGtCQXNEdEIsaUJBQWlCLGFBQ2pCLFFBQVE7MkdBdkRYLHlCQUF5Qix3Z0JBTHZCLENBQUMsMEJBQTBCLENBQUMseUJBQXlCLENBQUMsRUFBRSxhQUFhLENBQUMsb0VBb0RuRSxxQ0FBcUMsOEVBR3JDLGdDQUFnQyw2TEN2RmxELHFzREF1REE7QURSSTtJQURDLGNBQWMsRUFBRTs0REFDQztBQUtsQjtJQURDLGNBQWMsRUFBRTs0REFDQTtBQUtqQjtJQURDLGNBQWMsRUFBRTswREFDNEI7QUFLN0M7SUFEQyxjQUFjLEVBQUU7dURBQ0k7QUFLckI7SUFEQyxjQUFjLEVBQUU7MkRBQ0E7QUFJakI7SUFEQyxjQUFjLEVBQUU7K0RBQ0k7QUFJckI7SUFEQyxjQUFjLEVBQUU7dURBQ0o7QUFJYjtJQURDLGNBQWMsRUFBRTt3REFDSDs0RkExQ0wseUJBQXlCO2tCQVZyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUMxQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsMEJBQTBCLDJCQUEyQixFQUFFLGFBQWEsQ0FBQztvQkFDakYsSUFBSSxFQUFFO3dCQUNGLG9CQUFvQixFQUFFLE9BQU87cUJBQ2hDO2lCQUNKOzswQkF1RFEsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLFFBQVE7NENBbERILGdCQUFnQjtzQkFEaEMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBTTdCLFNBQVM7c0JBSFIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBT2hDLFNBQVM7c0JBSFIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTy9CLE9BQU87c0JBSE4sS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBT3pDLElBQUk7c0JBSEgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTzdCLFFBQVE7c0JBSFAsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTlCLFlBQVk7c0JBRlgsS0FBSztnQkFNTixJQUFJO3NCQUZILEtBQUs7Z0JBTU4sS0FBSztzQkFGSixLQUFLO2dCQUtHLFVBQVU7c0JBRGxCLE1BQU07Z0JBSUUsWUFBWTtzQkFEcEIsWUFBWTt1QkFBQyxxQ0FBcUM7Z0JBSTFDLFdBQVc7c0JBRG5CLFlBQVk7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZSxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtNT0RFX1BST1ZJREVSLCBUVUlfTU9ERSwgVHVpQnJpZ2h0bmVzcywgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpQWNjb3JkaW9uSXRlbUNvbnRlbnREaXJlY3RpdmV9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlBY2NvcmRpb25JdGVtRWFnZXJDb250ZW50RGlyZWN0aXZlfSBmcm9tICcuL2FjY29yZGlvbi1pdGVtLWVhZ2VyLWNvbnRlbnQuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktYWNjb3JkaW9uLWl0ZW1gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9hY2NvcmRpb24taXRlbS50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9hY2NvcmRpb24taXRlbS5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudCksIE1PREVfUFJPVklERVJdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6IGBtb2RlJGAsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZVxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChgZm9jdXNhYmxlRWxlbWVudGApXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fbm8tcGFkZGluZ2ApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBub1BhZGRpbmcgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5faGFzLWFycm93YClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNob3dBcnJvdyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXR1aS1ob3N0LWJvcmRlcnNgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYm9yZGVyczogJ2FsbCcgfCAndG9wLWJvdHRvbScgfCBudWxsID0gYGFsbGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXNpemVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSBgbWA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2Rpc2FibGVkYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZUhvdmVyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFzeW5jID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlBY2NvcmRpb25JdGVtRWFnZXJDb250ZW50RGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IGVhZ2VyQ29udGVudD86IFR1aUFjY29yZGlvbkl0ZW1FYWdlckNvbnRlbnREaXJlY3RpdmU7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aUFjY29yZGlvbkl0ZW1Db250ZW50RGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IGxhenlDb250ZW50PzogVHVpQWNjb3JkaW9uSXRlbUNvbnRlbnREaXJlY3RpdmU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8ICF0aGlzLmZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c1Zpc2libGUoZm9jdXNWaXNpYmxlKTtcbiAgICB9XG5cbiAgICBvblJvd1RvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9wZW4oIXRoaXMub3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkl0ZW1LZXlEb3duRXNjKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZm9jdXNlZCB8fCAhdGhpcy5vcGVuKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1LZXlEb3duU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLm9uUm93VG9nZ2xlKCk7XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlT3BlbihmYWxzZSk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVPcGVuKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3BlbiA9PT0gb3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1hY2NvcmRpb25fX2l0ZW0td3JhcHBlclwiXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIFt0dWlGb2N1c2FibGVdPVwiY29tcHV0ZWRGb2N1c2FibGVcIlxuICAgICh0dWlGb2N1c1Zpc2libGVDaGFuZ2UpPVwib25Gb2N1c1Zpc2libGUoJGV2ZW50KVwiXG4gICAgKHR1aUZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuICAgIChrZXlkb3duLnNwYWNlKT1cIm9uSXRlbUtleURvd25TcGFjZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkl0ZW1LZXlEb3duU3BhY2UoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uZXNjKT1cIm9uSXRlbUtleURvd25Fc2MoJGV2ZW50KVwiXG4+XG4gICAgPGRpdlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjY29yZGlvbl9faXRlbS1oZWFkZXJcIlxuICAgICAgICBjbGFzcz1cInQtaGVhZGVyXCJcbiAgICAgICAgW2NsYXNzLnQtaGVhZGVyX29wZW5dPVwib3BlblwiXG4gICAgICAgIFtjbGFzcy50LWhlYWRlcl9ob3ZlcmFibGVdPVwiIWRpc2FibGVIb3ZlclwiXG4gICAgICAgIChjbGljayk9XCJvblJvd1RvZ2dsZSgpXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19pdGVtLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10aXRsZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAqbmdJZj1cInNob3dBcnJvd1wiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjY29yZGlvbl9faXRlbS1hcnJvd1wiXG4gICAgICAgICAgICBzcmM9XCJ0dWlJY29uQ2hldnJvbkRvd25MYXJnZVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uX29wZW5dPVwib3BlblwiXG4gICAgICAgID48L3R1aS1zdmc+XG4gICAgPC9kaXY+XG4gICAgPHR1aS1leHBhbmRcbiAgICAgICAgW2FzeW5jXT1cImFzeW5jXCJcbiAgICAgICAgW2V4cGFuZGVkXT1cIm9wZW5cIlxuICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwibGF6eUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19pdGVtLWNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJsYXp5Q29udGVudCBhcyB0ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImVhZ2VyQ29udGVudFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0dWlBY2NvcmRpb25JdGVtQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvdHVpLWV4cGFuZD5cbjwvZGl2PlxuIl19
@@ -1,57 +1,51 @@
1
1
  import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, ElementRef, HostListener, Inject, Input, ViewChild, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, HostListener, Inject, Input, } from '@angular/core';
3
3
  import { AbstractTuiInteractive, tuiAsFocusableItemAccessor, tuiDefaultProp, TuiDestroyService, TuiFocusVisibleService, tuiIsNativeFocused, } from '@taiga-ui/cdk';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@taiga-ui/kit/components/marker-icon";
6
6
  import * as i2 from "@angular/common";
7
- import * as i3 from "@taiga-ui/core";
8
- import * as i4 from "@taiga-ui/cdk";
9
- // TODO: 3.0 Refactor to button[tuiAction]
7
+ import * as i3 from "@taiga-ui/cdk";
10
8
  export class TuiActionComponent extends AbstractTuiInteractive {
11
9
  constructor(focusVisible$, elementRef) {
12
10
  super();
13
11
  this.elementRef = elementRef;
14
12
  this.icon = ``;
15
- this.isLink = this.elementRef.nativeElement.matches(`a`);
16
13
  this.disabled = false;
17
- if (!this.isLink) {
18
- return;
19
- }
20
14
  focusVisible$.subscribe(visible => {
21
15
  this.updateFocusVisible(visible);
22
16
  });
23
17
  }
24
18
  get nativeFocusableElement() {
25
- if (this.isLink) {
26
- return this.elementRef.nativeElement;
27
- }
28
- return this.focusableElement ? this.focusableElement.nativeElement : null;
19
+ return this.elementRef.nativeElement;
29
20
  }
30
21
  get focused() {
31
22
  return tuiIsNativeFocused(this.nativeFocusableElement);
32
23
  }
24
+ get tabIndex() {
25
+ return this.computedFocusable ? 0 : -1;
26
+ }
33
27
  onFocused(focused) {
34
28
  this.updateFocused(focused);
35
29
  }
36
- onFocusVisible(focusVisible) {
37
- this.updateFocusVisible(focusVisible);
38
- }
39
30
  }
40
31
  TuiActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiActionComponent, deps: [{ token: TuiFocusVisibleService }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
41
- TuiActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiActionComponent, selector: "tui-action, a[tuiAction]", inputs: { icon: "icon" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" } }, providers: [
32
+ TuiActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiActionComponent, selector: "button[tuiAction], a[tuiAction]", inputs: { icon: "icon" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "tabIndex": "this.tabIndex" }, classAttribute: "tui-island tui-island_hoverable" }, providers: [
42
33
  TuiDestroyService,
43
34
  TuiFocusVisibleService,
44
35
  tuiAsFocusableItemAccessor(TuiActionComponent),
45
- ], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<label\n *ngIf=\"!isLink; else content\"\n automation-id=\"tui-action__content\"\n class=\"t-wrapper\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <button\n #focusableElement\n type=\"button\"\n automation-id=\"tui-action__native\"\n class=\"t-button\"\n [id]=\"id\"\n [tuiDescribedBy]=\"id\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n ></button>\n</label>\n<ng-template #content>\n <div class=\"t-wrapper\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n<tui-marker-icon\n size=\"s\"\n class=\"t-icon\"\n [src]=\"icon\"\n></tui-marker-icon>\n", styles: [":host{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);transition-property:all;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;cursor:pointer;transition-property:transform,box-shadow;will-change:transform,box-shadow;position:relative;display:flex;font:var(--tui-font-text-m);padding:.875rem;color:var(--tui-text-01);text-decoration:none;border:2px solid transparent;border-radius:var(--tui-radius-l);outline:none}:host:hover{box-shadow:0 .75rem 2.25rem rgba(0,0,0,.2);transform:translateY(-.25rem)}:host._focus-visible{border-color:var(--tui-focus)}.t-button{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;cursor:pointer;outline:none}.t-icon{margin-left:1.25rem;color:var(--tui-link);color:var(--tui-action-color, var(--tui-link));background-color:var(--tui-base-02);background-color:var(--tui-action-background, var(--tui-base-02))}.t-wrapper{flex:1}\n"], components: [{ type: i1.TuiMarkerIconComponent, selector: "tui-marker-icon", inputs: ["mode", "size", "src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.TuiDescribedByDirective, selector: "[tuiDescribedBy]:not(ng-container)", inputs: ["tuiDescribedBy"] }, { type: i4.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i4.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
+ ], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<tui-marker-icon\n *ngIf=\"icon\"\n size=\"s\"\n class=\"t-icon tui-island__marker\"\n [src]=\"icon\"\n></tui-marker-icon>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font-size:inherit;line-height:inherit;display:flex;justify-content:space-between;font:var(--tui-font-text-m);padding:.875rem;border:2px solid transparent;text-align:start}:host._focus-visible{border-color:var(--tui-focus)}:host:after{display:none}.t-icon{color:var(--tui-link);color:var(--tui-action-color, var(--tui-link));background-color:var(--tui-base-02);background-color:var(--tui-action-background, var(--tui-base-02))}\n"], components: [{ type: i1.TuiMarkerIconComponent, selector: "tui-marker-icon", inputs: ["mode", "size", "src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
37
  __decorate([
47
38
  tuiDefaultProp()
48
39
  ], TuiActionComponent.prototype, "icon", void 0);
49
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiActionComponent, decorators: [{
50
41
  type: Component,
51
42
  args: [{
52
- selector: `tui-action, a[tuiAction]`,
43
+ selector: `button[tuiAction], a[tuiAction]`,
53
44
  templateUrl: `./action.template.html`,
54
45
  styleUrls: [`./action.style.less`],
46
+ host: {
47
+ class: `tui-island tui-island_hoverable`,
48
+ },
55
49
  changeDetection: ChangeDetectionStrategy.OnPush,
56
50
  providers: [
57
51
  TuiDestroyService,
@@ -59,17 +53,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
59
53
  tuiAsFocusableItemAccessor(TuiActionComponent),
60
54
  ],
61
55
  }]
62
- }], ctorParameters: function () { return [{ type: i4.TuiFocusVisibleService, decorators: [{
56
+ }], ctorParameters: function () { return [{ type: i3.TuiFocusVisibleService, decorators: [{
63
57
  type: Inject,
64
58
  args: [TuiFocusVisibleService]
65
59
  }] }, { type: i0.ElementRef, decorators: [{
66
60
  type: Inject,
67
61
  args: [ElementRef]
68
- }] }]; }, propDecorators: { focusableElement: [{
69
- type: ViewChild,
70
- args: [`focusableElement`]
71
- }], icon: [{
62
+ }] }]; }, propDecorators: { icon: [{
72
63
  type: Input
64
+ }], tabIndex: [{
65
+ type: HostBinding,
66
+ args: [`tabIndex`]
73
67
  }], onFocused: [{
74
68
  type: HostListener,
75
69
  args: [`focusin`, [`true`]]
@@ -77,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
77
71
  type: HostListener,
78
72
  args: [`focusout`, [`false`]]
79
73
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2FjdGlvbi9hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYWN0aW9uL2FjdGlvbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGtCQUFrQixHQUVyQixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBRXZCLDBDQUEwQztBQVkxQyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsc0JBQXNCO0lBWTFELFlBQ29DLGFBQXFDLEVBQ2hDLFVBQW1DO1FBRXhFLEtBQUssRUFBRSxDQUFDO1FBRjZCLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBUjVFLFNBQUksR0FBRyxFQUFFLENBQUM7UUFFRCxXQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFRdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZCxPQUFPO1NBQ1Y7UUFFRCxhQUFhLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN0QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1NBQ3hDO1FBRUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBSUQsU0FBUyxDQUFDLE9BQWdCO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxZQUFxQjtRQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7Z0hBL0NRLGtCQUFrQixrQkFhZixzQkFBc0IsYUFDdEIsVUFBVTtvR0FkYixrQkFBa0Isb0tBTmhCO1FBQ1AsaUJBQWlCO1FBQ2pCLHNCQUFzQjtRQUN0QiwwQkFBMEIsQ0FBQyxrQkFBa0IsQ0FBQztLQUNqRCx1S0M3Qkwsb3RCQTJCQTtBRFVJO0lBREMsY0FBYyxFQUFFO2dEQUNQOzRGQU5ELGtCQUFrQjtrQkFYOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDbEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsMEJBQTBCLG9CQUFvQjtxQkFDakQ7aUJBQ0o7OzBCQWNRLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQyxVQUFVOzRDQVpMLGdCQUFnQjtzQkFEaEMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBSzdCLElBQUk7c0JBRkgsS0FBSztnQkFxQ04sU0FBUztzQkFGUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQzs7c0JBQ2hDLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpSW50ZXJhY3RpdmUsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpRm9jdXNWaXNpYmxlU2VydmljZSxcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8vIFRPRE86IDMuMCBSZWZhY3RvciB0byBidXR0b25bdHVpQWN0aW9uXVxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktYWN0aW9uLCBhW3R1aUFjdGlvbl1gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9hY3Rpb24udGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vYWN0aW9uLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIFR1aUZvY3VzVmlzaWJsZVNlcnZpY2UsXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUFjdGlvbkNvbXBvbmVudCksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZSB7XG4gICAgQFZpZXdDaGlsZChgZm9jdXNhYmxlRWxlbWVudGApXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uID0gYGA7XG5cbiAgICByZWFkb25seSBpc0xpbmsgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5tYXRjaGVzKGBhYCk7XG5cbiAgICByZWFkb25seSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpRm9jdXNWaXNpYmxlU2VydmljZSkgZm9jdXNWaXNpYmxlJDogVHVpRm9jdXNWaXNpYmxlU2VydmljZSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIGlmICghdGhpcy5pc0xpbmspIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvY3VzVmlzaWJsZSQuc3Vic2NyaWJlKHZpc2libGUgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGb2N1c1Zpc2libGUodmlzaWJsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuaXNMaW5rKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGVFbGVtZW50ID8gdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgZm9jdXNpbmAsIFtgdHJ1ZWBdKVxuICAgIEBIb3N0TGlzdGVuZXIoYGZvY3Vzb3V0YCwgW2BmYWxzZWBdKVxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c1Zpc2libGUoZm9jdXNWaXNpYmxlKTtcbiAgICB9XG59XG4iLCI8bGFiZWxcbiAgICAqbmdJZj1cIiFpc0xpbms7IGVsc2UgY29udGVudFwiXG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1hY3Rpb25fX2NvbnRlbnRcIlxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8YnV0dG9uXG4gICAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjdGlvbl9fbmF0aXZlXCJcbiAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIFt0dWlEZXNjcmliZWRCeV09XCJpZFwiXG4gICAgICAgIFt0dWlGb2N1c2FibGVdPVwiY29tcHV0ZWRGb2N1c2FibGVcIlxuICAgICAgICAodHVpRm9jdXNWaXNpYmxlQ2hhbmdlKT1cIm9uRm9jdXNWaXNpYmxlKCRldmVudClcIlxuICAgID48L2J1dHRvbj5cbjwvbGFiZWw+XG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPHR1aS1tYXJrZXItaWNvblxuICAgIHNpemU9XCJzXCJcbiAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgW3NyY109XCJpY29uXCJcbj48L3R1aS1tYXJrZXItaWNvbj5cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2FjdGlvbi9hY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYWN0aW9uL2FjdGlvbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGtCQUFrQixHQUVyQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFnQnZCLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxzQkFBc0I7SUFPMUQsWUFDb0MsYUFBcUMsRUFDaEMsVUFBbUM7UUFFeEUsS0FBSyxFQUFFLENBQUM7UUFGNkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFONUUsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFRdEIsYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUlELFNBQVMsQ0FBQyxPQUFnQjtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7O2dIQW5DUSxrQkFBa0Isa0JBUWYsc0JBQXNCLGFBQ3RCLFVBQVU7b0dBVGIsa0JBQWtCLDJRQU5oQjtRQUNQLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIsMEJBQTBCLENBQUMsa0JBQWtCLENBQUM7S0FDakQsaURDL0JMLHFLQU9BO0FENkJJO0lBREMsY0FBYyxFQUFFO2dEQUNQOzRGQUhELGtCQUFrQjtrQkFkOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDbEMsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxpQ0FBaUM7cUJBQzNDO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLDBCQUEwQixvQkFBb0I7cUJBQ2pEO2lCQUNKOzswQkFTUSxNQUFNOzJCQUFDLHNCQUFzQjs7MEJBQzdCLE1BQU07MkJBQUMsVUFBVTs0Q0FOdEIsSUFBSTtzQkFGSCxLQUFLO2dCQTBCRixRQUFRO3NCQURYLFdBQVc7dUJBQUMsVUFBVTtnQkFPdkIsU0FBUztzQkFGUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQzs7c0JBQ2hDLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZSxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICBUdWlGb2N1c1Zpc2libGVTZXJ2aWNlLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGBidXR0b25bdHVpQWN0aW9uXSwgYVt0dWlBY3Rpb25dYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vYWN0aW9uLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2FjdGlvbi5zdHlsZS5sZXNzYF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogYHR1aS1pc2xhbmQgdHVpLWlzbGFuZF9ob3ZlcmFibGVgLFxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBUdWlGb2N1c1Zpc2libGVTZXJ2aWNlLFxuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlBY3Rpb25Db21wb25lbnQpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFjdGlvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0VHVpSW50ZXJhY3RpdmUge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uID0gYGA7XG5cbiAgICByZWFkb25seSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpRm9jdXNWaXNpYmxlU2VydmljZSkgZm9jdXNWaXNpYmxlJDogVHVpRm9jdXNWaXNpYmxlU2VydmljZSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIGZvY3VzVmlzaWJsZSQuc3Vic2NyaWJlKHZpc2libGUgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGb2N1c1Zpc2libGUodmlzaWJsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGB0YWJJbmRleGApXG4gICAgZ2V0IHRhYkluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkRm9jdXNhYmxlID8gMCA6IC0xO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGZvY3VzaW5gLCBbYHRydWVgXSlcbiAgICBASG9zdExpc3RlbmVyKGBmb2N1c291dGAsIFtgZmFsc2VgXSlcbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPHR1aS1tYXJrZXItaWNvblxuICAgICpuZ0lmPVwiaWNvblwiXG4gICAgc2l6ZT1cInNcIlxuICAgIGNsYXNzPVwidC1pY29uIHR1aS1pc2xhbmRfX21hcmtlclwiXG4gICAgW3NyY109XCJpY29uXCJcbj48L3R1aS1tYXJrZXItaWNvbj5cbiJdfQ==