@taiga-ui/experimental 4.20.0 → 4.21.0-canary.4cd9438

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 (33) hide show
  1. package/components/accordion/accordion.component.d.ts +6 -3
  2. package/components/expand/expand.component.d.ts +2 -0
  3. package/components/hint/hint.component.d.ts +0 -1
  4. package/components/index.d.ts +1 -0
  5. package/components/search-results/index.d.ts +5 -0
  6. package/components/search-results/search-history.component.d.ts +31 -0
  7. package/components/search-results/search-hotkey.directive.d.ts +9 -0
  8. package/components/search-results/search-results.component.d.ts +36 -0
  9. package/components/search-results/search-results.d.ts +4 -0
  10. package/components/search-results/search-results.options.d.ts +19 -0
  11. package/esm2022/components/accordion/accordion.component.mjs +29 -19
  12. package/esm2022/components/accordion/accordion.directive.mjs +4 -3
  13. package/esm2022/components/expand/expand.component.mjs +11 -2
  14. package/esm2022/components/hint/hint.component.mjs +4 -8
  15. package/esm2022/components/index.mjs +2 -1
  16. package/esm2022/components/search-results/index.mjs +6 -0
  17. package/esm2022/components/search-results/search-history.component.mjs +59 -0
  18. package/esm2022/components/search-results/search-hotkey.directive.mjs +30 -0
  19. package/esm2022/components/search-results/search-results.component.mjs +87 -0
  20. package/esm2022/components/search-results/search-results.mjs +9 -0
  21. package/esm2022/components/search-results/search-results.options.mjs +9 -0
  22. package/esm2022/components/search-results/taiga-ui-experimental-components-search-results.mjs +5 -0
  23. package/fesm2022/taiga-ui-experimental-components-accordion.mjs +31 -20
  24. package/fesm2022/taiga-ui-experimental-components-accordion.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-experimental-components-expand.mjs +10 -1
  26. package/fesm2022/taiga-ui-experimental-components-expand.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-experimental-components-hint.mjs +3 -7
  28. package/fesm2022/taiga-ui-experimental-components-hint.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-experimental-components-search-results.mjs +181 -0
  30. package/fesm2022/taiga-ui-experimental-components-search-results.mjs.map +1 -0
  31. package/fesm2022/taiga-ui-experimental-components.mjs +1 -0
  32. package/fesm2022/taiga-ui-experimental-components.mjs.map +1 -1
  33. package/package.json +18 -12
@@ -1,16 +1,19 @@
1
- import type { QueryList } from '@angular/core';
1
+ import type { AfterViewInit, QueryList } from '@angular/core';
2
2
  import type { TuiSizeL, TuiSizeS } from '@taiga-ui/core/types';
3
3
  import { TuiExpand } from '@taiga-ui/experimental/components/expand';
4
4
  import { TuiAccordionDirective } from './accordion.directive';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@taiga-ui/core/directives/group";
7
- export declare class TuiAccordionComponent {
7
+ export declare class TuiAccordionComponent implements AfterViewInit {
8
+ private readonly destroyRef;
9
+ private readonly toggle$;
8
10
  readonly expands: QueryList<TuiExpand>;
9
11
  readonly directives: QueryList<TuiAccordionDirective>;
10
12
  closeOthers: boolean;
11
13
  readonly size: import("@angular/core").WritableSignal<"m" | "l" | "s">;
12
14
  set sizeSetter(size: TuiSizeL | TuiSizeS);
13
- toggle(directive: TuiAccordionDirective, value: boolean): void;
15
+ ngAfterViewInit(): void;
16
+ toggle(directive: TuiAccordionDirective): void;
14
17
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAccordionComponent, never>;
15
18
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiAccordionComponent, "tui-accordion", never, { "closeOthers": { "alias": "closeOthers"; "required": false; }; "sizeSetter": { "alias": "size"; "required": false; }; }, {}, ["expands", "directives"], ["*"], true, [{ directive: typeof i1.TuiGroup; inputs: {}; outputs: {}; }]>;
16
19
  }
@@ -1,6 +1,8 @@
1
1
  import { TemplateRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiExpand {
4
+ private readonly el;
5
+ private readonly cdr;
4
6
  protected content?: TemplateRef<any>;
5
7
  protected readonly signal: import("@angular/core").WritableSignal<boolean>;
6
8
  protected readonly animating: import("@angular/core").WritableSignal<boolean>;
@@ -8,7 +8,6 @@ export declare class TuiHintComponent<C = any> {
8
8
  private readonly el;
9
9
  private readonly hover;
10
10
  private readonly vvs;
11
- private readonly viewport;
12
11
  protected readonly dummy: {
13
12
  value: string;
14
13
  params: {
@@ -2,3 +2,4 @@ export * from '@taiga-ui/experimental/components/accordion';
2
2
  export * from '@taiga-ui/experimental/components/expand';
3
3
  export * from '@taiga-ui/experimental/components/hint';
4
4
  export * from '@taiga-ui/experimental/components/input-phone-international';
5
+ export * from '@taiga-ui/experimental/components/search-results';
@@ -0,0 +1,5 @@
1
+ export * from './search-history.component';
2
+ export * from './search-hotkey.directive';
3
+ export * from './search-results';
4
+ export * from './search-results.component';
5
+ export * from './search-results.options';
@@ -0,0 +1,31 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TuiSearchHistory {
3
+ private readonly textfield;
4
+ private readonly storage;
5
+ private readonly control;
6
+ protected readonly close: import("@angular/core").Signal<string | undefined>;
7
+ protected readonly i18n: import("@angular/core").Signal<{
8
+ popular: string;
9
+ history: string;
10
+ placeholder: string;
11
+ hotkey: string;
12
+ all: string;
13
+ empty: string;
14
+ } | undefined>;
15
+ protected readonly options: {
16
+ key: string;
17
+ history: string;
18
+ popular: string;
19
+ empty: string;
20
+ remove: string;
21
+ };
22
+ protected readonly $: import("rxjs").Subscription | undefined;
23
+ protected history: readonly string[];
24
+ popular: readonly string[];
25
+ protected store(item: string): void;
26
+ protected remove(item: string): void;
27
+ protected select(item: string): void;
28
+ private get items();
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSearchHistory, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiSearchHistory, "tui-search-history", never, { "popular": { "alias": "popular"; "required": false; }; }, {}, never, never, true, never>;
31
+ }
@@ -0,0 +1,9 @@
1
+ import { TuiInputSearch } from '@taiga-ui/layout/components/input-search';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TuiSearchHotkey {
4
+ private readonly platform;
5
+ protected readonly search: TuiInputSearch;
6
+ protected readonly placeholder: import("@angular/core").Signal<string | undefined>;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSearchHotkey, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSearchHotkey, "input[tuiSearchHotkey]", never, {}, {}, never, never, true, never>;
9
+ }
@@ -0,0 +1,36 @@
1
+ import type { KeyValue } from '@angular/common';
2
+ import type { OnChanges } from '@angular/core';
3
+ import { TemplateRef } from '@angular/core';
4
+ import type { TuiContext } from '@taiga-ui/cdk/types';
5
+ import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield';
6
+ import * as i0 from "@angular/core";
7
+ export declare class TuiSearchResultsComponent<T> implements OnChanges {
8
+ private readonly el;
9
+ protected readonly options: {
10
+ key: string;
11
+ history: string;
12
+ popular: string;
13
+ empty: string;
14
+ remove: string;
15
+ };
16
+ protected readonly i18n: import("@angular/core").Signal<{
17
+ popular: string;
18
+ history: string;
19
+ placeholder: string;
20
+ hotkey: string;
21
+ all: string;
22
+ empty: string;
23
+ } | undefined>;
24
+ protected readonly textfield: TuiTextfieldComponent<any>;
25
+ protected active: number;
26
+ readonly template?: TemplateRef<TuiContext<T>>;
27
+ results: Record<string, readonly T[]> | null;
28
+ ngOnChanges(): void;
29
+ protected isEmpty(results: Record<string, readonly T[]>): boolean;
30
+ protected onArrow(current: HTMLElement, step: number): void;
31
+ protected tab(step: number): void;
32
+ protected notEmpty({ value }: KeyValue<string, readonly T[]>): boolean;
33
+ protected asIs(): number;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSearchResultsComponent<any>, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiSearchResultsComponent<any>, "tui-search-results", never, { "results": { "alias": "results"; "required": false; }; }, {}, ["template"], ["*"], true, never>;
36
+ }
@@ -0,0 +1,4 @@
1
+ import { TuiSearchHistory } from './search-history.component';
2
+ import { TuiSearchHotkey } from './search-hotkey.directive';
3
+ import { TuiSearchResultsComponent } from './search-results.component';
4
+ export declare const TuiSearchResults: (typeof TuiSearchHistory | typeof TuiSearchHotkey | typeof TuiSearchResultsComponent)[];
@@ -0,0 +1,19 @@
1
+ export declare const TUI_SEARCH_RESULTS_OPTIONS: import("@angular/core").InjectionToken<{
2
+ key: string;
3
+ history: string;
4
+ popular: string;
5
+ empty: string;
6
+ remove: string;
7
+ }>, tuiSearchResultsOptionsProvider: (item: Partial<{
8
+ key: string;
9
+ history: string;
10
+ popular: string;
11
+ empty: string;
12
+ remove: string;
13
+ }> | import("@angular/core").ProviderToken<Partial<{
14
+ key: string;
15
+ history: string;
16
+ popular: string;
17
+ empty: string;
18
+ remove: string;
19
+ }>>) => import("@angular/core").FactoryProvider;
@@ -1,12 +1,16 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, Input, signal, ViewEncapsulation, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ContentChildren, DestroyRef, inject, Input, signal, ViewEncapsulation, } from '@angular/core';
2
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
2
3
  import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
3
4
  import { TuiGroup, tuiGroupOptionsProvider } from '@taiga-ui/core/directives/group';
4
5
  import { TuiExpand } from '@taiga-ui/experimental/components/expand';
6
+ import { ReplaySubject } from 'rxjs';
5
7
  import { TuiAccordionDirective } from './accordion.directive';
6
8
  import * as i0 from "@angular/core";
7
9
  import * as i1 from "@taiga-ui/core/directives/group";
8
10
  class TuiAccordionComponent {
9
11
  constructor() {
12
+ this.destroyRef = inject(DestroyRef);
13
+ this.toggle$ = new ReplaySubject(Infinity);
10
14
  this.expands = EMPTY_QUERY;
11
15
  this.directives = EMPTY_QUERY;
12
16
  this.closeOthers = true;
@@ -15,20 +19,26 @@ class TuiAccordionComponent {
15
19
  set sizeSetter(size) {
16
20
  this.size.set(size);
17
21
  }
18
- toggle(directive, value) {
19
- if (this.closeOthers && value) {
20
- this.expands.forEach((expand) => {
21
- expand.expanded = false;
22
- });
23
- this.directives.forEach((dir) => {
24
- if (dir === directive) {
25
- return;
26
- }
27
- dir.open.set(false);
28
- dir.tuiAccordionChange.emit(false);
29
- });
30
- }
31
- this.expands.get(this.directives.toArray().indexOf(directive)).expanded = value;
22
+ ngAfterViewInit() {
23
+ this.toggle$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((d) => {
24
+ if (this.closeOthers && d.open()) {
25
+ this.expands.forEach((expand) => {
26
+ expand.expanded = false;
27
+ });
28
+ this.directives.forEach((dir) => {
29
+ if (dir === d) {
30
+ return;
31
+ }
32
+ dir.open.set(false);
33
+ dir.tuiAccordion = false;
34
+ dir.tuiAccordionChange.emit(false);
35
+ });
36
+ }
37
+ this.expands.get(this.directives.toArray().indexOf(d)).expanded = d.open();
38
+ });
39
+ }
40
+ toggle(directive) {
41
+ this.toggle$.next(directive);
32
42
  }
33
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
44
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiAccordionComponent, isStandalone: true, selector: "tui-accordion", inputs: { closeOthers: "closeOthers", sizeSetter: ["size", "sizeSetter"] }, host: { properties: { "attr.data-size": "size()" } }, providers: [
@@ -36,7 +46,7 @@ class TuiAccordionComponent {
36
46
  orientation: 'vertical',
37
47
  collapsed: true,
38
48
  }),
39
- ], queries: [{ propertyName: "expands", predicate: TuiExpand, static: true }, { propertyName: "directives", predicate: TuiAccordionDirective, static: true }], hostDirectives: [{ directive: i1.TuiGroup }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-accordion{inline-size:-webkit-fill-available;inline-size:-moz-available;inline-size:stretch;border-radius:var(--t-group-radius);overflow:hidden}tui-accordion>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion>[tuiAccordion]:last-of-type:not(._open){-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end);border-end-start-radius:inherit;border-end-end-radius:inherit}tui-accordion>[tuiAccordion]:first-child{border-start-start-radius:inherit!important;border-start-end-radius:inherit!important}tui-accordion>[tuiAccordion]:first-child:last-of-type:not(._open){-webkit-mask:none;mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}tui-accordion>tui-expand{visibility:hidden;min-block-size:1px!important;padding:1.25rem;font:var(--tui-font-text-m);transition-property:grid-template-rows,padding,visibility!important;box-shadow:inset 0 0 0 1px var(--tui-border-normal)}tui-accordion>tui-expand:last-child{border-end-start-radius:inherit!important;border-end-end-radius:inherit!important}tui-accordion[data-size=m]>tui-expand{padding:1rem;font:var(--tui-font-text-s)}tui-accordion[data-size=s]>tui-expand{padding:.625rem;font:var(--tui-font-text-s)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
49
+ ], queries: [{ propertyName: "expands", predicate: TuiExpand }, { propertyName: "directives", predicate: TuiAccordionDirective }], hostDirectives: [{ directive: i1.TuiGroup }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-accordion{inline-size:-webkit-fill-available;inline-size:-moz-available;inline-size:stretch;border-radius:var(--t-group-radius);overflow:hidden}tui-accordion>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion>[tuiAccordion]:last-of-type:not(._open){-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end);border-end-start-radius:inherit;border-end-end-radius:inherit}tui-accordion>[tuiAccordion]:first-child{border-start-start-radius:inherit!important;border-start-end-radius:inherit!important}tui-accordion>[tuiAccordion]:first-child:last-of-type:not(._open){-webkit-mask:none;mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}tui-accordion>tui-expand{visibility:hidden;min-block-size:1px!important;padding:1.25rem;font:var(--tui-font-text-m);transition-property:grid-template-rows,padding,visibility!important;box-shadow:inset 0 0 0 1px var(--tui-border-normal)}tui-accordion>tui-expand:last-child{border-end-start-radius:inherit!important;border-end-end-radius:inherit!important}tui-accordion[data-size=m]>tui-expand{padding:1rem;font:var(--tui-font-text-s)}tui-accordion[data-size=s]>tui-expand{padding:.625rem;font:var(--tui-font-text-s)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
50
  }
41
51
  export { TuiAccordionComponent };
42
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAccordionComponent, decorators: [{
@@ -51,14 +61,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
51
61
  }, styles: ["tui-accordion{inline-size:-webkit-fill-available;inline-size:-moz-available;inline-size:stretch;border-radius:var(--t-group-radius);overflow:hidden}tui-accordion>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion>[tuiAccordion]:last-of-type:not(._open){-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end);border-end-start-radius:inherit;border-end-end-radius:inherit}tui-accordion>[tuiAccordion]:first-child{border-start-start-radius:inherit!important;border-start-end-radius:inherit!important}tui-accordion>[tuiAccordion]:first-child:last-of-type:not(._open){-webkit-mask:none;mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}tui-accordion>tui-expand{visibility:hidden;min-block-size:1px!important;padding:1.25rem;font:var(--tui-font-text-m);transition-property:grid-template-rows,padding,visibility!important;box-shadow:inset 0 0 0 1px var(--tui-border-normal)}tui-accordion>tui-expand:last-child{border-end-start-radius:inherit!important;border-end-end-radius:inherit!important}tui-accordion[data-size=m]>tui-expand{padding:1rem;font:var(--tui-font-text-s)}tui-accordion[data-size=s]>tui-expand{padding:.625rem;font:var(--tui-font-text-s)}\n"] }]
52
62
  }], propDecorators: { expands: [{
53
63
  type: ContentChildren,
54
- args: [TuiExpand, { static: true }]
64
+ args: [TuiExpand]
55
65
  }], directives: [{
56
66
  type: ContentChildren,
57
- args: [TuiAccordionDirective, { static: true }]
67
+ args: [TuiAccordionDirective]
58
68
  }], closeOthers: [{
59
69
  type: Input
60
70
  }], sizeSetter: [{
61
71
  type: Input,
62
72
  args: ['size']
63
73
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFFBQVEsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRWxGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVuRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBRTVELE1Ba0JhLHFCQUFxQjtJQWxCbEM7UUFvQm9CLFlBQU8sR0FBeUIsV0FBVyxDQUFDO1FBRzVDLGVBQVUsR0FBcUMsV0FBVyxDQUFDO1FBR3BFLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRVYsU0FBSSxHQUFHLE1BQU0sQ0FBc0IsR0FBRyxDQUFDLENBQUM7S0F5QjNEO0lBdkJHLElBQ1csVUFBVSxDQUFDLElBQXlCO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBZ0MsRUFBRSxLQUFjO1FBQzFELElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxLQUFLLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDNUIsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUM1QixJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7b0JBQ25CLE9BQU87aUJBQ1Y7Z0JBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3BCLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFFLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNyRixDQUFDOytHQWxDUSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw4TEFYbkI7WUFDUCx1QkFBdUIsQ0FBQztnQkFDcEIsV0FBVyxFQUFFLFVBQVU7Z0JBQ3ZCLFNBQVMsRUFBRSxJQUFJO2FBQ2xCLENBQUM7U0FDTCxrREFPZ0IsU0FBUywyREFHVCxxQkFBcUIseUZBbkI1QixnQkFBZ0I7O1NBZWpCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQWxCakMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sZUFBZSxZQUNmLGdCQUFnQixpQkFFWCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQLHVCQUF1QixDQUFDOzRCQUNwQixXQUFXLEVBQUUsVUFBVTs0QkFDdkIsU0FBUyxFQUFFLElBQUk7eUJBQ2xCLENBQUM7cUJBQ0wsa0JBQ2UsQ0FBQyxRQUFRLENBQUMsUUFDcEI7d0JBQ0Ysa0JBQWtCLEVBQUUsUUFBUTtxQkFDL0I7OEJBSWUsT0FBTztzQkFEdEIsZUFBZTt1QkFBQyxTQUFTLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFRO2dCQUlqQyxVQUFVO3NCQUR6QixlQUFlO3VCQUFDLHFCQUFxQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBUTtnQkFJdEQsV0FBVztzQkFEakIsS0FBSztnQkFNSyxVQUFVO3NCQURwQixLQUFLO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlHcm91cCwgdHVpR3JvdXBPcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZ3JvdXAnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtUdWlFeHBhbmR9IGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwvY29tcG9uZW50cy9leHBhbmQnO1xuXG5pbXBvcnQge1R1aUFjY29yZGlvbkRpcmVjdGl2ZX0gZnJvbSAnLi9hY2NvcmRpb24uZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1hY2NvcmRpb24nLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICAgIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpR3JvdXBPcHRpb25zUHJvdmlkZXIoe1xuICAgICAgICAgICAgb3JpZW50YXRpb246ICd2ZXJ0aWNhbCcsXG4gICAgICAgICAgICBjb2xsYXBzZWQ6IHRydWUsXG4gICAgICAgIH0pLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlHcm91cF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFjY29yZGlvbkNvbXBvbmVudCB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlFeHBhbmQsIHtzdGF0aWM6IHRydWV9IGFzIGFueSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgZXhwYW5kczogUXVlcnlMaXN0PFR1aUV4cGFuZD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpQWNjb3JkaW9uRGlyZWN0aXZlLCB7c3RhdGljOiB0cnVlfSBhcyBhbnkpXG4gICAgcHVibGljIHJlYWRvbmx5IGRpcmVjdGl2ZXM6IFF1ZXJ5TGlzdDxUdWlBY2NvcmRpb25EaXJlY3RpdmU+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjbG9zZU90aGVycyA9IHRydWU7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2l6ZSA9IHNpZ25hbDxUdWlTaXplTCB8IFR1aVNpemVTPignbCcpO1xuXG4gICAgQElucHV0KCdzaXplJylcbiAgICBwdWJsaWMgc2V0IHNpemVTZXR0ZXIoc2l6ZTogVHVpU2l6ZUwgfCBUdWlTaXplUykge1xuICAgICAgICB0aGlzLnNpemUuc2V0KHNpemUpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGUoZGlyZWN0aXZlOiBUdWlBY2NvcmRpb25EaXJlY3RpdmUsIHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNsb3NlT3RoZXJzICYmIHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZHMuZm9yRWFjaCgoZXhwYW5kKSA9PiB7XG4gICAgICAgICAgICAgICAgZXhwYW5kLmV4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmVzLmZvckVhY2goKGRpcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkaXIgPT09IGRpcmVjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZGlyLm9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICBkaXIudHVpQWNjb3JkaW9uQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4cGFuZHMuZ2V0KHRoaXMuZGlyZWN0aXZlcy50b0FycmF5KCkuaW5kZXhPZihkaXJlY3RpdmUpKSEuZXhwYW5kZWQgPSB2YWx1ZTtcbiAgICB9XG59XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsUUFBUSxFQUFFLHVCQUF1QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFbEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFbkMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7OztBQUU1RCxNQWtCYSxxQkFBcUI7SUFsQmxDO1FBbUJxQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBd0IsUUFBUSxDQUFDLENBQUM7UUFHOUQsWUFBTyxHQUF5QixXQUFXLENBQUM7UUFHNUMsZUFBVSxHQUFxQyxXQUFXLENBQUM7UUFHcEUsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFVixTQUFJLEdBQUcsTUFBTSxDQUFzQixHQUFHLENBQUMsQ0FBQztLQWdDM0Q7SUE5QkcsSUFDVyxVQUFVLENBQUMsSUFBeUI7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkUsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDNUIsTUFBTSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQzVCLENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQzVCLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRTt3QkFDWCxPQUFPO3FCQUNWO29CQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNwQixHQUFHLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztvQkFDekIsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkMsQ0FBQyxDQUFDLENBQUM7YUFDTjtZQUVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoRixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBZ0M7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQzsrR0E1Q1EscUJBQXFCO21HQUFyQixxQkFBcUIsOExBWG5CO1lBQ1AsdUJBQXVCLENBQUM7Z0JBQ3BCLFdBQVcsRUFBRSxVQUFVO2dCQUN2QixTQUFTLEVBQUUsSUFBSTthQUNsQixDQUFDO1NBQ0wsa0RBVWdCLFNBQVMsNkNBR1QscUJBQXFCLDJFQXRCNUIsZ0JBQWdCOztTQWVqQixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFsQmpDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGVBQWUsWUFDZixnQkFBZ0IsaUJBRVgsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCx1QkFBdUIsQ0FBQzs0QkFDcEIsV0FBVyxFQUFFLFVBQVU7NEJBQ3ZCLFNBQVMsRUFBRSxJQUFJO3lCQUNsQixDQUFDO3FCQUNMLGtCQUNlLENBQUMsUUFBUSxDQUFDLFFBQ3BCO3dCQUNGLGtCQUFrQixFQUFFLFFBQVE7cUJBQy9COzhCQU9lLE9BQU87c0JBRHRCLGVBQWU7dUJBQUMsU0FBUztnQkFJVixVQUFVO3NCQUR6QixlQUFlO3VCQUFDLHFCQUFxQjtnQkFJL0IsV0FBVztzQkFEakIsS0FBSztnQkFNSyxVQUFVO3NCQURwQixLQUFLO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7QWZ0ZXJWaWV3SW5pdCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpR3JvdXAsIHR1aUdyb3VwT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2dyb3VwJztcbmltcG9ydCB0eXBlIHtUdWlTaXplTCwgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7VHVpRXhwYW5kfSBmcm9tICdAdGFpZ2EtdWkvZXhwZXJpbWVudGFsL2NvbXBvbmVudHMvZXhwYW5kJztcbmltcG9ydCB7UmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpQWNjb3JkaW9uRGlyZWN0aXZlfSBmcm9tICcuL2FjY29yZGlvbi5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWFjY29yZGlvbicsXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudCAvPicsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWNjb3JkaW9uLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlHcm91cE9wdGlvbnNQcm92aWRlcih7XG4gICAgICAgICAgICBvcmllbnRhdGlvbjogJ3ZlcnRpY2FsJyxcbiAgICAgICAgICAgIGNvbGxhcHNlZDogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aUdyb3VwXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQWNjb3JkaW9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9nZ2xlJCA9IG5ldyBSZXBsYXlTdWJqZWN0PFR1aUFjY29yZGlvbkRpcmVjdGl2ZT4oSW5maW5pdHkpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlFeHBhbmQpXG4gICAgcHVibGljIHJlYWRvbmx5IGV4cGFuZHM6IFF1ZXJ5TGlzdDxUdWlFeHBhbmQ+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aUFjY29yZGlvbkRpcmVjdGl2ZSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGlyZWN0aXZlczogUXVlcnlMaXN0PFR1aUFjY29yZGlvbkRpcmVjdGl2ZT4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNsb3NlT3RoZXJzID0gdHJ1ZTtcblxuICAgIHB1YmxpYyByZWFkb25seSBzaXplID0gc2lnbmFsPFR1aVNpemVMIHwgVHVpU2l6ZVM+KCdsJyk7XG5cbiAgICBASW5wdXQoJ3NpemUnKVxuICAgIHB1YmxpYyBzZXQgc2l6ZVNldHRlcihzaXplOiBUdWlTaXplTCB8IFR1aVNpemVTKSB7XG4gICAgICAgIHRoaXMuc2l6ZS5zZXQoc2l6ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2dnbGUkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2xvc2VPdGhlcnMgJiYgZC5vcGVuKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZHMuZm9yRWFjaCgoZXhwYW5kKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV4cGFuZC5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmVzLmZvckVhY2goKGRpcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGlyID09PSBkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBkaXIub3Blbi5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICBkaXIudHVpQWNjb3JkaW9uID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGRpci50dWlBY2NvcmRpb25DaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZXhwYW5kcy5nZXQodGhpcy5kaXJlY3RpdmVzLnRvQXJyYXkoKS5pbmRleE9mKGQpKSEuZXhwYW5kZWQgPSBkLm9wZW4oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZShkaXJlY3RpdmU6IFR1aUFjY29yZGlvbkRpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvZ2dsZSQubmV4dChkaXJlY3RpdmUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -16,12 +16,13 @@ class TuiAccordionDirective {
16
16
  }
17
17
  ngOnChanges() {
18
18
  this.open.set(!!this.tuiAccordion);
19
- this.accordion.toggle(this, this.open());
19
+ this.accordion.toggle(this);
20
20
  }
21
21
  toggle() {
22
22
  this.open.set(!this.open());
23
+ this.tuiAccordion = this.open();
23
24
  this.tuiAccordionChange.emit(this.open());
24
- this.accordion.toggle(this, this.open());
25
+ this.accordion.toggle(this);
25
26
  }
26
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
28
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiAccordionDirective, isStandalone: true, selector: "button[tuiAccordion]", inputs: { tuiAccordion: "tuiAccordion" }, outputs: { tuiAccordionChange: "tuiAccordionChange" }, host: { attributes: { "tuiButton": "", "tuiAccordion": "", "type": "button" }, listeners: { "click": "toggle()" }, properties: { "class._open": "open()" } }, providers: [tuiButtonOptionsProvider({ appearance: 'outline-grayscale' })], usesOnChanges: true, hostDirectives: [{ directive: i1.TuiButton }, { directive: i2.TuiChevron }], ngImport: i0 }); }
@@ -47,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
47
48
  }], tuiAccordionChange: [{
48
49
  type: Output
49
50
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRTVELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTVELE1BYWEscUJBQXFCO0lBYmxDO1FBY3FCLGNBQVMsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV4QyxTQUFJLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRy9FLGlCQUFZLEdBQXFCLEVBQUUsQ0FBQztRQUczQix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWpELFNBQUksR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBWXZGO0lBVlUsV0FBVztRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDOytHQXRCUSxxQkFBcUI7bUdBQXJCLHFCQUFxQixrVUFWbkIsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFDLFVBQVUsRUFBRSxtQkFBbUIsRUFBQyxDQUFDLENBQUM7O1NBVS9ELHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQWJqQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFDLFVBQVUsRUFBRSxtQkFBbUIsRUFBQyxDQUFDLENBQUM7b0JBQ3hFLGNBQWMsRUFBRSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUM7b0JBQ3ZDLElBQUksRUFBRTt3QkFDRixTQUFTLEVBQUUsRUFBRTt3QkFDYixZQUFZLEVBQUUsRUFBRTt3QkFDaEIsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsZUFBZSxFQUFFLFFBQVE7d0JBQ3pCLFNBQVMsRUFBRSxVQUFVO3FCQUN4QjtpQkFDSjs4QkFPVSxZQUFZO3NCQURsQixLQUFLO2dCQUlVLGtCQUFrQjtzQkFEakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtPbkNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlEaXJlY3RpdmVCaW5kaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcbmltcG9ydCB7VHVpQnV0dG9uLCB0dWlCdXR0b25PcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VHVpQ2hldnJvbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9kaXJlY3RpdmVzL2NoZXZyb24nO1xuXG5pbXBvcnQge1R1aUFjY29yZGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY2NvcmRpb24uY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2J1dHRvblt0dWlBY2NvcmRpb25dJyxcbiAgICBwcm92aWRlcnM6IFt0dWlCdXR0b25PcHRpb25zUHJvdmlkZXIoe2FwcGVhcmFuY2U6ICdvdXRsaW5lLWdyYXlzY2FsZSd9KV0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlCdXR0b24sIFR1aUNoZXZyb25dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHVpQnV0dG9uOiAnJyxcbiAgICAgICAgdHVpQWNjb3JkaW9uOiAnJyxcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICdbY2xhc3MuX29wZW5dJzogJ29wZW4oKScsXG4gICAgICAgICcoY2xpY2spJzogJ3RvZ2dsZSgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY2NvcmRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNjb3JkaW9uID0gaW5qZWN0KFR1aUFjY29yZGlvbkNvbXBvbmVudCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2l6ZSA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoVHVpQnV0dG9uLCAnc2l6ZScsIHRoaXMuYWNjb3JkaW9uLnNpemUpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHVpQWNjb3JkaW9uOiBib29sZWFuIHwgc3RyaW5nID0gJyc7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHVpQWNjb3JkaW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG9wZW4gPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFR1aUNoZXZyb24sICd0dWlDaGV2cm9uJywgc2lnbmFsKGZhbHNlKSk7XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3Blbi5zZXQoISF0aGlzLnR1aUFjY29yZGlvbik7XG4gICAgICAgIHRoaXMuYWNjb3JkaW9uLnRvZ2dsZSh0aGlzLCB0aGlzLm9wZW4oKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuLnNldCghdGhpcy5vcGVuKCkpO1xuICAgICAgICB0aGlzLnR1aUFjY29yZGlvbkNoYW5nZS5lbWl0KHRoaXMub3BlbigpKTtcbiAgICAgICAgdGhpcy5hY2NvcmRpb24udG9nZ2xlKHRoaXMsIHRoaXMub3BlbigpKTtcbiAgICB9XG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRTVELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTVELE1BYWEscUJBQXFCO0lBYmxDO1FBY3FCLGNBQVMsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV4QyxTQUFJLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRy9FLGlCQUFZLEdBQXFCLEVBQUUsQ0FBQztRQUczQix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWpELFNBQUksR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBYXZGO0lBWFUsV0FBVztRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLE1BQU07UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0F2QlEscUJBQXFCO21HQUFyQixxQkFBcUIsa1VBVm5CLENBQUMsd0JBQXdCLENBQUMsRUFBQyxVQUFVLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDOztTQVUvRCxxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFiakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBQyxVQUFVLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQyxDQUFDO29CQUN4RSxjQUFjLEVBQUUsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDO29CQUN2QyxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLEVBQUU7d0JBQ2IsWUFBWSxFQUFFLEVBQUU7d0JBQ2hCLElBQUksRUFBRSxRQUFRO3dCQUNkLGVBQWUsRUFBRSxRQUFRO3dCQUN6QixTQUFTLEVBQUUsVUFBVTtxQkFDeEI7aUJBQ0o7OEJBT1UsWUFBWTtzQkFEbEIsS0FBSztnQkFJVSxrQkFBa0I7c0JBRGpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7T25DaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE91dHB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5pbXBvcnQge1R1aUJ1dHRvbiwgdHVpQnV0dG9uT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aUNoZXZyb259IGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9jaGV2cm9uJztcblxuaW1wb3J0IHtUdWlBY2NvcmRpb25Db21wb25lbnR9IGZyb20gJy4vYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdidXR0b25bdHVpQWNjb3JkaW9uXScsXG4gICAgcHJvdmlkZXJzOiBbdHVpQnV0dG9uT3B0aW9uc1Byb3ZpZGVyKHthcHBlYXJhbmNlOiAnb3V0bGluZS1ncmF5c2NhbGUnfSldLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpQnV0dG9uLCBUdWlDaGV2cm9uXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR1aUJ1dHRvbjogJycsXG4gICAgICAgIHR1aUFjY29yZGlvbjogJycsXG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAnW2NsYXNzLl9vcGVuXSc6ICdvcGVuKCknLFxuICAgICAgICAnKGNsaWNrKSc6ICd0b2dnbGUoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQWNjb3JkaW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjY29yZGlvbiA9IGluamVjdChUdWlBY2NvcmRpb25Db21wb25lbnQpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNpemUgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFR1aUJ1dHRvbiwgJ3NpemUnLCB0aGlzLmFjY29yZGlvbi5zaXplKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR1aUFjY29yZGlvbjogYm9vbGVhbiB8IHN0cmluZyA9ICcnO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHR1aUFjY29yZGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBvcGVuID0gdHVpRGlyZWN0aXZlQmluZGluZyhUdWlDaGV2cm9uLCAndHVpQ2hldnJvbicsIHNpZ25hbChmYWxzZSkpO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4uc2V0KCEhdGhpcy50dWlBY2NvcmRpb24pO1xuICAgICAgICB0aGlzLmFjY29yZGlvbi50b2dnbGUodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuLnNldCghdGhpcy5vcGVuKCkpO1xuICAgICAgICB0aGlzLnR1aUFjY29yZGlvbiA9IHRoaXMub3BlbigpO1xuICAgICAgICB0aGlzLnR1aUFjY29yZGlvbkNoYW5nZS5lbWl0KHRoaXMub3BlbigpKTtcbiAgICAgICAgdGhpcy5hY2NvcmRpb24udG9nZ2xlKHRoaXMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,14 +1,23 @@
1
1
  import { NgIf, NgTemplateOutlet } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, ContentChild, Input, signal, TemplateRef, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, inject, Input, signal, TemplateRef, } from '@angular/core';
3
3
  import { TuiItem } from '@taiga-ui/cdk/directives/item';
4
+ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
4
5
  import * as i0 from "@angular/core";
5
6
  class TuiExpand {
6
7
  constructor() {
8
+ this.el = tuiInjectElement();
9
+ this.cdr = inject(ChangeDetectorRef);
7
10
  this.signal = signal(false);
8
11
  this.animating = signal(false);
9
12
  }
10
13
  set expanded(expanded) {
14
+ if (expanded === this.signal()) {
15
+ return;
16
+ }
11
17
  this.signal.set(expanded);
18
+ // TODO: try removing in Angular 17
19
+ this.cdr.detectChanges();
20
+ this.el.classList.toggle('_expanded', expanded);
12
21
  }
13
22
  onTransitionEnd({ propertyName }) {
14
23
  if (propertyName === 'grid-template-rows') {
@@ -47,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
47
56
  }], expanded: [{
48
57
  type: Input
49
58
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2V4cGFuZC9leHBhbmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQUV0RCxNQW9CYSxTQUFTO0lBcEJ0QjtRQXdCdUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBWWhEO0lBVkcsSUFDVyxRQUFRLENBQUMsUUFBaUI7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVTLGVBQWUsQ0FBQyxFQUFDLFlBQVksRUFBa0I7UUFDckQsSUFBSSxZQUFZLEtBQUssb0JBQW9CLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDckM7SUFDTCxDQUFDOytHQWhCUSxTQUFTO21HQUFULFNBQVMsc1FBQ0osT0FBTywyQkFBUyxXQUFXLDZCQWpCL0I7Ozs7Ozs7O0tBUVQsMGtCQVRTLElBQUksNkZBQUUsZ0JBQWdCOztTQWlCdkIsU0FBUzs0RkFBVCxTQUFTO2tCQXBCckIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sWUFBWSxXQUNiLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFlBQ3ZCOzs7Ozs7OztLQVFULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLG1CQUFtQixFQUFFLFVBQVU7d0JBQy9CLHNCQUFzQixFQUFFLHlCQUF5QjtxQkFDcEQ7OEJBSVMsT0FBTztzQkFEaEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDO2dCQU8vQixRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIElucHV0LFxuICAgIHNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUl0ZW19IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9pdGVtJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1leHBhbmQnLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwidC13cmFwcGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaWduYWwoKSB8fCBhbmltYXRpbmcoKVwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudCB8fCBudWxsXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL2V4cGFuZC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLl9leHBhbmRlZF0nOiAnc2lnbmFsKCknLFxuICAgICAgICAnKHRyYW5zaXRpb25lbmQuc2VsZiknOiAnb25UcmFuc2l0aW9uRW5kKCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUV4cGFuZCB7XG4gICAgQENvbnRlbnRDaGlsZChUdWlJdGVtLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHByb3RlY3RlZCBjb250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzaWduYWwgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhbmltYXRpbmcgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGV4cGFuZGVkKGV4cGFuZGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2lnbmFsLnNldChleHBhbmRlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVHJhbnNpdGlvbkVuZCh7cHJvcGVydHlOYW1lfTogVHJhbnNpdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPT09ICdncmlkLXRlbXBsYXRlLXJvd3MnKSB7XG4gICAgICAgICAgICB0aGlzLmFuaW1hdGluZy5zZXQodGhpcy5zaWduYWwoKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2V4cGFuZC9leHBhbmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBRXpELE1Bb0JhLFNBQVM7SUFwQnRCO1FBcUJxQixPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFLOUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBbUJoRDtJQWpCRyxJQUNXLFFBQVEsQ0FBQyxRQUFpQjtRQUNqQyxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDNUIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRVMsZUFBZSxDQUFDLEVBQUMsWUFBWSxFQUFrQjtRQUNyRCxJQUFJLFlBQVksS0FBSyxvQkFBb0IsRUFBRTtZQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUNyQztJQUNMLENBQUM7K0dBMUJRLFNBQVM7bUdBQVQsU0FBUyxzUUFJSixPQUFPLDJCQUFTLFdBQVcsNkJBcEIvQjs7Ozs7Ozs7S0FRVCwwa0JBVFMsSUFBSSw2RkFBRSxnQkFBZ0I7O1NBaUJ2QixTQUFTOzRGQUFULFNBQVM7a0JBcEJyQixTQUFTO2lDQUNNLElBQUksWUFDTixZQUFZLFdBQ2IsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsWUFDdkI7Ozs7Ozs7O0tBUVQsbUJBRWdCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsbUJBQW1CLEVBQUUsVUFBVTt3QkFDL0Isc0JBQXNCLEVBQUUseUJBQXlCO3FCQUNwRDs4QkFPUyxPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUM7Z0JBTy9CLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWYsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHNpZ25hbCxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUl0ZW19IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9pdGVtJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWV4cGFuZCcsXG4gICAgaW1wb3J0czogW05nSWYsIE5nVGVtcGxhdGVPdXRsZXRdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNpZ25hbCgpIHx8IGFuaW1hdGluZygpXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50IHx8IG51bGxcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhwYW5kLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MuX2V4cGFuZGVkXSc6ICdzaWduYWwoKScsXG4gICAgICAgICcodHJhbnNpdGlvbmVuZC5zZWxmKSc6ICdvblRyYW5zaXRpb25FbmQoJGV2ZW50KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRXhwYW5kIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpSXRlbSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICBwcm90ZWN0ZWQgY29udGVudD86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2lnbmFsID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYW5pbWF0aW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBleHBhbmRlZChleHBhbmRlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoZXhwYW5kZWQgPT09IHRoaXMuc2lnbmFsKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2lnbmFsLnNldChleHBhbmRlZCk7XG4gICAgICAgIC8vIFRPRE86IHRyeSByZW1vdmluZyBpbiBBbmd1bGFyIDE3XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5lbC5jbGFzc0xpc3QudG9nZ2xlKCdfZXhwYW5kZWQnLCBleHBhbmRlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVHJhbnNpdGlvbkVuZCh7cHJvcGVydHlOYW1lfTogVHJhbnNpdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPT09ICdncmlkLXRlbXBsYXRlLXJvd3MnKSB7XG4gICAgICAgICAgICB0aGlzLmFuaW1hdGluZy5zZXQodGhpcy5zaWduYWwoKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -13,19 +13,17 @@ import { tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
13
13
  import { TuiAppearance, tuiAppearance } from '@taiga-ui/core/directives/appearance';
14
14
  import { TUI_HINT_COMPONENT, TUI_HINT_PROVIDERS, TuiHintHover, TuiHintPointer, TuiHintUnstyledComponent, } from '@taiga-ui/core/directives/hint';
15
15
  import { TuiPositionService, TuiVisualViewportService } from '@taiga-ui/core/services';
16
- import { TUI_ANIMATIONS_SPEED, TUI_VIEWPORT } from '@taiga-ui/core/tokens';
16
+ import { TUI_ANIMATIONS_SPEED } from '@taiga-ui/core/tokens';
17
17
  import { tuiIsObscured, tuiToAnimationOptions } from '@taiga-ui/core/utils';
18
18
  import { injectContext, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
19
19
  import { map, takeWhile } from 'rxjs';
20
20
  import * as i0 from "@angular/core";
21
21
  import * as i1 from "@taiga-ui/core/directives/appearance";
22
- const GAP = 8;
23
22
  class TuiHintComponent {
24
23
  constructor() {
25
24
  this.el = tuiInjectElement();
26
25
  this.hover = inject(TuiHintHover);
27
26
  this.vvs = inject(TuiVisualViewportService);
28
- this.viewport = inject(TUI_VIEWPORT);
29
27
  this.dummy = { value: '', params: { end: 1, start: 1 } };
30
28
  this.options = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED), 'cubic-bezier(0.35, 1.3, 0.25, 1)');
31
29
  this.pointer = inject(TuiHintPointer, { optional: true });
@@ -65,16 +63,14 @@ class TuiHintComponent {
65
63
  update(top, left) {
66
64
  const { clientHeight, clientWidth } = this.el;
67
65
  const rect = this.accessor.getClientRect();
68
- const viewport = this.viewport.getClientRect();
69
66
  if (rect === EMPTY_CLIENT_RECT || !clientHeight || !clientWidth) {
70
67
  return;
71
68
  }
72
- const safeLeft = tuiClamp(left, GAP, viewport.width - clientWidth - GAP);
73
69
  const [beakTop, beakLeft] = this.vvs.correct([
74
70
  rect.top + rect.height / 2 - top,
75
- rect.left + rect.width / 2 - safeLeft,
71
+ rect.left + rect.width / 2 - left,
76
72
  ]);
77
- this.apply(tuiPx(Math.round(top)), tuiPx(Math.round(safeLeft)), Math.round((tuiClamp(beakTop, 0, clientHeight) / clientHeight) * 100), Math.round((tuiClamp(beakLeft, 0, clientWidth) / clientWidth) * 100));
73
+ this.apply(tuiPx(Math.round(top)), tuiPx(Math.round(left)), Math.round((tuiClamp(beakTop, 0, clientHeight) / clientHeight) * 100), Math.round((tuiClamp(beakLeft, 0, clientWidth) / clientWidth) * 100));
78
74
  }
79
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
80
76
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiHintComponent, isStandalone: true, selector: "tui-hint", host: { listeners: { "document:click": "onClick($event.target)" }, properties: { "@tuiScaleIn": "isMobile ? options : dummy", "@tuiFadeIn": "options", "class._untouchable": "pointer", "class._mobile": "isMobile", "attr.tuiTheme": "theme" } }, providers: [TUI_HINT_PROVIDERS, tuiButtonOptionsProvider({ size: 's' })], hostDirectives: [{ directive: i1.TuiAppearance }], ngImport: i0, template: `
@@ -112,4 +108,4 @@ export function tuiProvideExperimentalHint() {
112
108
  useValue: TuiHintComponent,
113
109
  };
114
110
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcmltZW50YWwvY29tcG9uZW50cy9oaW50L2hpbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxhQUFhLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFFbEYsT0FBTyxFQUNILGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGNBQWMsRUFDZCx3QkFBd0IsR0FDM0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztB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LFNBQVM7aUNBQ00sSUFBSSxZQUNOLFVBQVUsV0FDWCxDQUFDLGtCQUFrQixDQUFDLFlBQ25COzs7Ozs7S0FNVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGtCQUFrQixFQUFFLHdCQUF3QixDQUFDLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUMsY0FDMUQsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLGtCQUNuQixDQUFDLGFBQWEsQ0FBQyxRQUN6Qjt3QkFDRixlQUFlLEVBQUUsNEJBQTRCO3dCQUM3QyxjQUFjLEVBQUUsU0FBUzt3QkFDekIsc0JBQXNCLEVBQUUsU0FBUzt3QkFDakMsaUJBQWlCLEVBQUUsVUFBVTt3QkFDN0IsaUJBQWlCLEVBQUUsT0FBTzt3QkFDMUIsa0JBQWtCLEVBQUUsd0JBQXdCO3FCQUMvQzswRUF5RE8sS0FBSztBQW1DakIsTUFBTSxVQUFVLDBCQUEwQjtJQUN0QyxPQUFPO1FBQ0gsT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixRQUFRLEVBQUUsZ0JBQWdCO0tBQzdCLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7RU1QVFlfQ0xJRU5UX1JFQ1R9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpSG92ZXJlZFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9ob3ZlcmVkJztcbmltcG9ydCB7VFVJX0lTX01PQklMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aUNvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUNsYW1wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlQdXJlLCB0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7dHVpRmFkZUluLCB0dWlTY2FsZUlufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7VHVpUmVjdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7dHVpQnV0dG9uT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aUFwcGVhcmFuY2UsIHR1aUFwcGVhcmFuY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5pbXBvcnQgdHlwZSB7VHVpSGludERpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9oaW50JztcbmltcG9ydCB7XG4gICAgVFVJX0hJTlRfQ09NUE9ORU5ULFxuICAgIFRVSV9ISU5UX1BST1ZJREVSUyxcbiAgICBUdWlIaW50SG92ZXIsXG4gICAgVHVpSGludFBvaW50ZXIsXG4gICAgVHVpSGludFVuc3R5bGVkQ29tcG9uZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2hpbnQnO1xuaW1wb3J0IHtUdWlQb3NpdGlvblNlcnZpY2UsIFR1aVZpc3VhbFZpZXdwb3J0U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvc2VydmljZXMnO1xuaW1wb3J0IHtUVUlfQU5JTUFUSU9OU19TUEVFRCwgVFVJX1ZJRVdQT1JUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlJc09ic2N1cmVkLCB0dWlUb0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB7aW5qZWN0Q29udGV4dCwgUG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7bWFwLCB0YWtlV2hpbGV9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBHQVAgPSA4O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWhpbnQnLFxuICAgIGltcG9ydHM6IFtQb2x5bW9ycGhldXNPdXRsZXRdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCgpIGFzIHRleHQ7IGNvbnRleHQ6IGhpbnQuY29udGV4dFwiXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cInRleHRcIlxuICAgICAgICA+PC9zcGFuPlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbJy4vaGludC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVFVJX0hJTlRfUFJPVklERVJTLCB0dWlCdXR0b25PcHRpb25zUHJvdmlkZXIoe3NpemU6ICdzJ30pXSxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluLCB0dWlTY2FsZUluXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aUFwcGVhcmFuY2VdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tAdHVpU2NhbGVJbl0nOiAnaXNNb2JpbGUgPyBvcHRpb25zIDogZHVtbXknLFxuICAgICAgICAnW0B0dWlGYWRlSW5dJzogJ29wdGlvbnMnLFxuICAgICAgICAnW2NsYXNzLl91bnRvdWNoYWJsZV0nOiAncG9pbnRlcicsXG4gICAgICAgICdbY2xhc3MuX21vYmlsZV0nOiAnaXNNb2JpbGUnLFxuICAgICAgICAnW2F0dHIudHVpVGhlbWVdJzogJ3RoZW1lJyxcbiAgICAgICAgJyhkb2N1bWVudDpjbGljayknOiAnb25DbGljaygkZXZlbnQudGFyZ2V0KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSGludENvbXBvbmVudDxDID0gYW55PiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvdmVyID0gaW5qZWN0KFR1aUhpbnRIb3Zlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2dnMgPSBpbmplY3QoVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdwb3J0ID0gaW5qZWN0KFRVSV9WSUVXUE9SVCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHVtbXkgPSB7dmFsdWU6ICcnLCBwYXJhbXM6IHtlbmQ6IDEsIHN0YXJ0OiAxfX07XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSB0dWlUb0FuaW1hdGlvbk9wdGlvbnMoXG4gICAgICAgIGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCksXG4gICAgICAgICdjdWJpYy1iZXppZXIoMC4zNSwgMS4zLCAwLjI1LCAxKScsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBwb2ludGVyID0gaW5qZWN0KFR1aUhpbnRQb2ludGVyLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWNjZXNzb3IgPSBpbmplY3QoVHVpUmVjdEFjY2Vzc29yKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGludCA9IGluamVjdENvbnRleHQ8VHVpQ29udGV4dDxUdWlIaW50RGlyZWN0aXZlPEM+Pj4oKS4kaW1wbGljaXQ7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRlbnQgPVxuICAgICAgICB0aGlzLmhpbnQuY29tcG9uZW50LmNvbXBvbmVudCA9PT0gVHVpSGludFVuc3R5bGVkQ29tcG9uZW50XG4gICAgICAgICAgICA/IHNpZ25hbCgnJylcbiAgICAgICAgICAgIDogdGhpcy5oaW50LmNvbnRlbnQ7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGhlbWUgPSB0aGlzLmhpbnQuZWxcbiAgICAgICAgLmNsb3Nlc3QoJ1t0dWlUaGVtZV0nKVxuICAgICAgICA/LmdldEF0dHJpYnV0ZSgndHVpVGhlbWUnKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhcHBlYXJhbmNlID0gdHVpQXBwZWFyYW5jZSh0aGlzLmhpbnQuYXBwZWFyYW5jZSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgaW5qZWN0KFR1aVBvc2l0aW9uU2VydmljZSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLmhpbnQuZWwuaXNDb25uZWN0ZWQpLFxuICAgICAgICAgICAgICAgIG1hcCgocG9pbnQpID0+IHRoaXMudnZzLmNvcnJlY3QocG9pbnQpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6IChbdG9wLCBsZWZ0XSkgPT4gdGhpcy51cGRhdGUodG9wLCBsZWZ0KSxcbiAgICAgICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4gdGhpcy5ob3Zlci50b2dnbGUoZmFsc2UpLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgaW5qZWN0KFR1aUhvdmVyZWRTZXJ2aWNlKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChob3ZlcikgPT4gdGhpcy5ob3Zlci50b2dnbGUoaG92ZXIpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljayh0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICghdGFyZ2V0LmNsb3Nlc3QoJ3R1aS1oaW50JykgJiYgIXRoaXMuaGludC5lbC5jb250YWlucyh0YXJnZXQpKSB8fFxuICAgICAgICAgICAgdHVpSXNPYnNjdXJlZCh0aGlzLmhpbnQuZWwpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5ob3Zlci50b2dnbGUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGFwcGx5KHRvcDogc3RyaW5nLCBsZWZ0OiBzdHJpbmcsIGJlYWtUb3A6IG51bWJlciwgYmVha0xlZnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmVsLnN0eWxlLnRvcCA9IHRvcDtcbiAgICAgICAgdGhpcy5lbC5zdHlsZS5sZWZ0ID0gbGVmdDtcbiAgICAgICAgdGhpcy5lbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10b3AnLCBgJHtiZWFrVG9wfSVgKTtcbiAgICAgICAgdGhpcy5lbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1sZWZ0JywgYCR7YmVha0xlZnR9JWApO1xuICAgICAgICB0aGlzLmVsLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgJy0tcm90YXRlJyxcbiAgICAgICAgICAgICFiZWFrTGVmdCB8fCBNYXRoLmNlaWwoYmVha0xlZnQpID09PSAxMDAgPyAnOTBkZWcnIDogJzBkZWcnLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlKHRvcDogbnVtYmVyLCBsZWZ0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2NsaWVudEhlaWdodCwgY2xpZW50V2lkdGh9ID0gdGhpcy5lbDtcbiAgICAgICAgY29uc3QgcmVjdCA9IHRoaXMuYWNjZXNzb3IuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB2aWV3cG9ydCA9IHRoaXMudmlld3BvcnQuZ2V0Q2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGlmIChyZWN0ID09PSBFTVBUWV9DTElFTlRfUkVDVCB8fCAhY2xpZW50SGVpZ2h0IHx8ICFjbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2FmZUxlZnQgPSB0dWlDbGFtcChsZWZ0LCBHQVAsIHZpZXdwb3J0LndpZHRoIC0gY2xpZW50V2lkdGggLSBHQVApO1xuICAgICAgICBjb25zdCBbYmVha1RvcCwgYmVha0xlZnRdID0gdGhpcy52dnMuY29ycmVjdChbXG4gICAgICAgICAgICByZWN0LnRvcCArIHJlY3QuaGVpZ2h0IC8gMiAtIHRvcCxcbiAgICAgICAgICAgIHJlY3QubGVmdCArIHJlY3Qud2lkdGggLyAyIC0gc2FmZUxlZnQsXG4gICAgICAgIF0pO1xuXG4gICAgICAgIHRoaXMuYXBwbHkoXG4gICAgICAgICAgICB0dWlQeChNYXRoLnJvdW5kKHRvcCkpLFxuICAgICAgICAgICAgdHVpUHgoTWF0aC5yb3VuZChzYWZlTGVmdCkpLFxuICAgICAgICAgICAgTWF0aC5yb3VuZCgodHVpQ2xhbXAoYmVha1RvcCwgMCwgY2xpZW50SGVpZ2h0KSAvIGNsaWVudEhlaWdodCkgKiAxMDApLFxuICAgICAgICAgICAgTWF0aC5yb3VuZCgodHVpQ2xhbXAoYmVha0xlZnQsIDAsIGNsaWVudFdpZHRoKSAvIGNsaWVudFdpZHRoKSAqIDEwMCksXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpUHJvdmlkZUV4cGVyaW1lbnRhbEhpbnQoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9ISU5UX0NPTVBPTkVOVCxcbiAgICAgICAgdXNlVmFsdWU6IFR1aUhpbnRDb21wb25lbnQsXG4gICAgfTtcbn1cbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcmltZW50YWwvY29tcG9uZW50cy9oaW50L2hpbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxhQUFhLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFFbEYsT0FBTyxFQUNILGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGNBQWMsRUFDZCx3QkFBd0IsR0FDM0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztB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LDRCQUE0Qjt3QkFDN0MsY0FBYyxFQUFFLFNBQVM7d0JBQ3pCLHNCQUFzQixFQUFFLFNBQVM7d0JBQ2pDLGlCQUFpQixFQUFFLFVBQVU7d0JBQzdCLGlCQUFpQixFQUFFLE9BQU87d0JBQzFCLGtCQUFrQixFQUFFLHdCQUF3QjtxQkFDL0M7MEVBd0RPLEtBQUs7QUFpQ2pCLE1BQU0sVUFBVSwwQkFBMEI7SUFDdEMsT0FBTztRQUNILE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsUUFBUSxFQUFFLGdCQUFnQjtLQUM3QixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0VNUFRZX0NMSUVOVF9SRUNUfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUhvdmVyZWRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaG92ZXJlZCc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlDbGFtcH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7dHVpUHVyZSwgdHVpUHh9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3R1aUZhZGVJbiwgdHVpU2NhbGVJbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1R1aVJlY3RBY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY2xhc3Nlcyc7XG5pbXBvcnQge3R1aUJ1dHRvbk9wdGlvbnNQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtUdWlBcHBlYXJhbmNlLCB0dWlBcHBlYXJhbmNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UnO1xuaW1wb3J0IHR5cGUge1R1aUhpbnREaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaGludCc7XG5pbXBvcnQge1xuICAgIFRVSV9ISU5UX0NPTVBPTkVOVCxcbiAgICBUVUlfSElOVF9QUk9WSURFUlMsXG4gICAgVHVpSGludEhvdmVyLFxuICAgIFR1aUhpbnRQb2ludGVyLFxuICAgIFR1aUhpbnRVbnN0eWxlZENvbXBvbmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9oaW50JztcbmltcG9ydCB7VHVpUG9zaXRpb25TZXJ2aWNlLCBUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3NlcnZpY2VzJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTlNfU1BFRUR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUlzT2JzY3VyZWQsIHR1aVRvQW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtpbmplY3RDb250ZXh0LCBQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHttYXAsIHRha2VXaGlsZX0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktaGludCcsXG4gICAgaW1wb3J0czogW1BvbHltb3JwaGV1c091dGxldF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50KCkgYXMgdGV4dDsgY29udGV4dDogaGludC5jb250ZXh0XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwidGV4dFwiXG4gICAgICAgID48L3NwYW4+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnLi9oaW50LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtUVUlfSElOVF9QUk9WSURFUlMsIHR1aUJ1dHRvbk9wdGlvbnNQcm92aWRlcih7c2l6ZTogJ3MnfSldLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlGYWRlSW4sIHR1aVNjYWxlSW5dLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpQXBwZWFyYW5jZV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW0B0dWlTY2FsZUluXSc6ICdpc01vYmlsZSA/IG9wdGlvbnMgOiBkdW1teScsXG4gICAgICAgICdbQHR1aUZhZGVJbl0nOiAnb3B0aW9ucycsXG4gICAgICAgICdbY2xhc3MuX3VudG91Y2hhYmxlXSc6ICdwb2ludGVyJyxcbiAgICAgICAgJ1tjbGFzcy5fbW9iaWxlXSc6ICdpc01vYmlsZScsXG4gICAgICAgICdbYXR0ci50dWlUaGVtZV0nOiAndGhlbWUnLFxuICAgICAgICAnKGRvY3VtZW50OmNsaWNrKSc6ICdvbkNsaWNrKCRldmVudC50YXJnZXQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlIaW50Q29tcG9uZW50PEMgPSBhbnk+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG92ZXIgPSBpbmplY3QoVHVpSGludEhvdmVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZ2cyA9IGluamVjdChUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2UpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGR1bW15ID0ge3ZhbHVlOiAnJywgcGFyYW1zOiB7ZW5kOiAxLCBzdGFydDogMX19O1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gdHVpVG9BbmltYXRpb25PcHRpb25zKFxuICAgICAgICBpbmplY3QoVFVJX0FOSU1BVElPTlNfU1BFRUQpLFxuICAgICAgICAnY3ViaWMtYmV6aWVyKDAuMzUsIDEuMywgMC4yNSwgMSknLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcG9pbnRlciA9IGluamVjdChUdWlIaW50UG9pbnRlciwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjY2Vzc29yID0gaW5qZWN0KFR1aVJlY3RBY2Nlc3Nvcik7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhpbnQgPSBpbmplY3RDb250ZXh0PFR1aUNvbnRleHQ8VHVpSGludERpcmVjdGl2ZTxDPj4+KCkuJGltcGxpY2l0O1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc01vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250ZW50ID1cbiAgICAgICAgdGhpcy5oaW50LmNvbXBvbmVudC5jb21wb25lbnQgPT09IFR1aUhpbnRVbnN0eWxlZENvbXBvbmVudFxuICAgICAgICAgICAgPyBzaWduYWwoJycpXG4gICAgICAgICAgICA6IHRoaXMuaGludC5jb250ZW50O1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRoZW1lID0gdGhpcy5oaW50LmVsXG4gICAgICAgIC5jbG9zZXN0KCdbdHVpVGhlbWVdJylcbiAgICAgICAgPy5nZXRBdHRyaWJ1dGUoJ3R1aVRoZW1lJyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwZWFyYW5jZSA9IHR1aUFwcGVhcmFuY2UodGhpcy5oaW50LmFwcGVhcmFuY2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGluamVjdChUdWlQb3NpdGlvblNlcnZpY2UpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlV2hpbGUoKCkgPT4gdGhpcy5oaW50LmVsLmlzQ29ubmVjdGVkKSxcbiAgICAgICAgICAgICAgICBtYXAoKHBvaW50KSA9PiB0aGlzLnZ2cy5jb3JyZWN0KHBvaW50KSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAoW3RvcCwgbGVmdF0pID0+IHRoaXMudXBkYXRlKHRvcCwgbGVmdCksXG4gICAgICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IHRoaXMuaG92ZXIudG9nZ2xlKGZhbHNlKSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGluamVjdChUdWlIb3ZlcmVkU2VydmljZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoaG92ZXIpID0+IHRoaXMuaG92ZXIudG9nZ2xlKGhvdmVyKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2xpY2sodGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoIXRhcmdldC5jbG9zZXN0KCd0dWktaGludCcpICYmICF0aGlzLmhpbnQuZWwuY29udGFpbnModGFyZ2V0KSkgfHxcbiAgICAgICAgICAgIHR1aUlzT2JzY3VyZWQodGhpcy5oaW50LmVsKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuaG92ZXIudG9nZ2xlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBhcHBseSh0b3A6IHN0cmluZywgbGVmdDogc3RyaW5nLCBiZWFrVG9wOiBudW1iZXIsIGJlYWtMZWZ0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbC5zdHlsZS50b3AgPSB0b3A7XG4gICAgICAgIHRoaXMuZWwuc3R5bGUubGVmdCA9IGxlZnQ7XG4gICAgICAgIHRoaXMuZWwuc3R5bGUuc2V0UHJvcGVydHkoJy0tdG9wJywgYCR7YmVha1RvcH0lYCk7XG4gICAgICAgIHRoaXMuZWwuc3R5bGUuc2V0UHJvcGVydHkoJy0tbGVmdCcsIGAke2JlYWtMZWZ0fSVgKTtcbiAgICAgICAgdGhpcy5lbC5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICctLXJvdGF0ZScsXG4gICAgICAgICAgICAhYmVha0xlZnQgfHwgTWF0aC5jZWlsKGJlYWtMZWZ0KSA9PT0gMTAwID8gJzkwZGVnJyA6ICcwZGVnJyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZSh0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIGNsaWVudFdpZHRofSA9IHRoaXMuZWw7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKTtcblxuICAgICAgICBpZiAocmVjdCA9PT0gRU1QVFlfQ0xJRU5UX1JFQ1QgfHwgIWNsaWVudEhlaWdodCB8fCAhY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFtiZWFrVG9wLCBiZWFrTGVmdF0gPSB0aGlzLnZ2cy5jb3JyZWN0KFtcbiAgICAgICAgICAgIHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyIC0gdG9wLFxuICAgICAgICAgICAgcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCAvIDIgLSBsZWZ0LFxuICAgICAgICBdKTtcblxuICAgICAgICB0aGlzLmFwcGx5KFxuICAgICAgICAgICAgdHVpUHgoTWF0aC5yb3VuZCh0b3ApKSxcbiAgICAgICAgICAgIHR1aVB4KE1hdGgucm91bmQobGVmdCkpLFxuICAgICAgICAgICAgTWF0aC5yb3VuZCgodHVpQ2xhbXAoYmVha1RvcCwgMCwgY2xpZW50SGVpZ2h0KSAvIGNsaWVudEhlaWdodCkgKiAxMDApLFxuICAgICAgICAgICAgTWF0aC5yb3VuZCgodHVpQ2xhbXAoYmVha0xlZnQsIDAsIGNsaWVudFdpZHRoKSAvIGNsaWVudFdpZHRoKSAqIDEwMCksXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpUHJvdmlkZUV4cGVyaW1lbnRhbEhpbnQoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9ISU5UX0NPTVBPTkVOVCxcbiAgICAgICAgdXNlVmFsdWU6IFR1aUhpbnRDb21wb25lbnQsXG4gICAgfTtcbn1cbiJdfQ==
@@ -2,4 +2,5 @@ export * from '@taiga-ui/experimental/components/accordion';
2
2
  export * from '@taiga-ui/experimental/components/expand';
3
3
  export * from '@taiga-ui/experimental/components/hint';
4
4
  export * from '@taiga-ui/experimental/components/input-phone-international';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcmltZW50YWwvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDZEQUE2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2FjY29yZGlvbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvZXhwZXJpbWVudGFsL2NvbXBvbmVudHMvZXhwYW5kJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwvY29tcG9uZW50cy9oaW50JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsJztcbiJdfQ==
5
+ export * from '@taiga-ui/experimental/components/search-results';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcmltZW50YWwvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsa0RBQWtELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvZXhwZXJpbWVudGFsL2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwvY29tcG9uZW50cy9leHBhbmQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2hpbnQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL3NlYXJjaC1yZXN1bHRzJztcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from './search-history.component';
2
+ export * from './search-hotkey.directive';
3
+ export * from './search-results';
4
+ export * from './search-results.component';
5
+ export * from './search-results.options';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHBlcmltZW50YWwvY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlYXJjaC1oaXN0b3J5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1ob3RrZXkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXJlc3VsdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy5vcHRpb25zJztcbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
3
+ import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
4
+ import { NgControl } from '@angular/forms';
5
+ import { WA_LOCAL_STORAGE } from '@ng-web-apis/common';
6
+ import { TuiButton } from '@taiga-ui/core/components/button';
7
+ import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield';
8
+ import { TuiTitle } from '@taiga-ui/core/directives/title';
9
+ import { TUI_CLOSE_WORD } from '@taiga-ui/core/tokens';
10
+ import { TuiAvatar } from '@taiga-ui/kit/components/avatar';
11
+ import { TuiCell } from '@taiga-ui/layout/components/cell';
12
+ import { TUI_INPUT_SEARCH } from '@taiga-ui/layout/tokens';
13
+ import { filter, map } from 'rxjs';
14
+ import { TUI_SEARCH_RESULTS_OPTIONS } from './search-results.options';
15
+ import * as i0 from "@angular/core";
16
+ class TuiSearchHistory {
17
+ constructor() {
18
+ this.textfield = inject(TuiTextfieldComponent);
19
+ this.storage = inject(WA_LOCAL_STORAGE);
20
+ this.control = inject(NgControl);
21
+ this.close = toSignal(inject(TUI_CLOSE_WORD));
22
+ this.i18n = toSignal(inject(TUI_INPUT_SEARCH));
23
+ this.options = inject(TUI_SEARCH_RESULTS_OPTIONS);
24
+ this.$ = this.control.valueChanges
25
+ ?.pipe(map(String), filter((item) => !!item && !this.popular.includes(item)), takeUntilDestroyed())
26
+ .subscribe((value) => {
27
+ this.store(value);
28
+ });
29
+ this.history = this.items;
30
+ this.popular = [];
31
+ }
32
+ store(item) {
33
+ this.storage.setItem(this.options.key, JSON.stringify(Array.from(new Set([item.trim(), ...this.items]))
34
+ .filter((v, _, a) => v && !a.find((s) => s.startsWith(v) && s !== v))
35
+ .slice(0, 5)));
36
+ }
37
+ remove(item) {
38
+ this.textfield.input?.nativeElement.focus();
39
+ this.history = this.history.filter((v) => v !== item);
40
+ this.storage.setItem(this.options.key, JSON.stringify(this.items.filter((v) => v !== item)));
41
+ }
42
+ select(item) {
43
+ this.control.control?.setValue(item);
44
+ this.textfield.input?.nativeElement.focus();
45
+ }
46
+ get items() {
47
+ return JSON.parse(this.storage.getItem(this.options.key) || '[]');
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchHistory, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSearchHistory, isStandalone: true, selector: "tui-search-history", inputs: { popular: "popular" }, ngImport: i0, template: "<label\n *ngIf=\"history.length\"\n class=\"t-sr-label\"\n>\n {{ i18n()?.history }}\n</label>\n<button\n *ngFor=\"let item of history\"\n tuiCell=\"m\"\n type=\"button\"\n (click)=\"select(item)\"\n (keydown.backspace)=\"remove(item)\"\n (keydown.delete)=\"remove(item)\"\n (mousedown.prevent)=\"(0)\"\n>\n <tui-avatar [src]=\"options.history\" />\n <span tuiTitle>{{ item }}</span>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"options.remove\"\n (click.stop)=\"remove(item)\"\n >\n \uD83D\uDDD1\uFE0F\n </button>\n</button>\n<label\n *ngIf=\"popular.length\"\n class=\"t-sr-label\"\n>\n {{ i18n()?.popular }}\n</label>\n<button\n *ngFor=\"let item of popular\"\n tuiCell=\"m\"\n type=\"button\"\n (click)=\"select(item)\"\n (mousedown.prevent)=\"(0)\"\n>\n <tui-avatar [src]=\"options.popular\" />\n <span tuiTitle>{{ item }}</span>\n</button>\n", styles: [":host:not(:empty){display:block;padding:.325rem 0}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TuiAvatar, selector: "tui-avatar,button[tuiAvatar],a[tuiAvatar]", inputs: ["size", "round", "src"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiCell, selector: "[tuiCell]:not(ng-template)", inputs: ["tuiCell"] }, { kind: "directive", type: TuiTitle, selector: "[tuiTitle]", inputs: ["tuiTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
+ }
52
+ export { TuiSearchHistory };
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchHistory, decorators: [{
54
+ type: Component,
55
+ args: [{ standalone: true, selector: 'tui-search-history', imports: [NgForOf, NgIf, NgTemplateOutlet, TuiAvatar, TuiButton, TuiCell, TuiTitle], changeDetection: ChangeDetectionStrategy.OnPush, template: "<label\n *ngIf=\"history.length\"\n class=\"t-sr-label\"\n>\n {{ i18n()?.history }}\n</label>\n<button\n *ngFor=\"let item of history\"\n tuiCell=\"m\"\n type=\"button\"\n (click)=\"select(item)\"\n (keydown.backspace)=\"remove(item)\"\n (keydown.delete)=\"remove(item)\"\n (mousedown.prevent)=\"(0)\"\n>\n <tui-avatar [src]=\"options.history\" />\n <span tuiTitle>{{ item }}</span>\n <button\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"options.remove\"\n (click.stop)=\"remove(item)\"\n >\n \uD83D\uDDD1\uFE0F\n </button>\n</button>\n<label\n *ngIf=\"popular.length\"\n class=\"t-sr-label\"\n>\n {{ i18n()?.popular }}\n</label>\n<button\n *ngFor=\"let item of popular\"\n tuiCell=\"m\"\n type=\"button\"\n (click)=\"select(item)\"\n (mousedown.prevent)=\"(0)\"\n>\n <tui-avatar [src]=\"options.popular\" />\n <span tuiTitle>{{ item }}</span>\n</button>\n", styles: [":host:not(:empty){display:block;padding:.325rem 0}\n"] }]
56
+ }], propDecorators: { popular: [{
57
+ type: Input
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJpbWVudGFsL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJpbWVudGFsL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdHMvc2VhcmNoLWhpc3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxNQUFNLEVBQUUs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QU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUN0RSxDQUFDOytHQWxEUSxnQkFBZ0I7bUdBQWhCLGdCQUFnQiw4R0MvQjdCLHdoQ0E2Q0EsOEdEMUJjLE9BQU8sbUhBQUUsSUFBSSw2RkFBb0IsU0FBUyx3SEFBRSxTQUFTLG9JQUFFLE9BQU8sNEZBQUUsUUFBUTs7U0FZekUsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBZjVCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLG9CQUFvQixXQUNyQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLG1CQVVsRSx1QkFBdUIsQ0FBQyxNQUFNOzhCQXVCeEMsT0FBTztzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkLCB0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7V0FfTE9DQUxfU1RPUkFHRX0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7VHVpVGl0bGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvdGl0bGUnO1xuaW1wb3J0IHtUVUlfQ0xPU0VfV09SRH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpQXZhdGFyfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXZhdGFyJztcbmltcG9ydCB7VHVpQ2VsbH0gZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL2NlbGwnO1xuaW1wb3J0IHtUVUlfSU5QVVRfU0VBUkNIfSBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L3Rva2Vucyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfU0VBUkNIX1JFU1VMVFNfT1BUSU9OU30gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1zZWFyY2gtaGlzdG9yeScsXG4gICAgaW1wb3J0czogW05nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIFR1aUF2YXRhciwgVHVpQnV0dG9uLCBUdWlDZWxsLCBUdWlUaXRsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1oaXN0b3J5LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Q6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMzI1cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIGAsXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2VhcmNoSGlzdG9yeSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkQ29tcG9uZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2UgPSBpbmplY3QoV0FfTE9DQUxfU1RPUkFHRSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xvc2UgPSB0b1NpZ25hbChpbmplY3QoVFVJX0NMT1NFX1dPUkQpKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaTE4biA9IHRvU2lnbmFsKGluamVjdChUVUlfSU5QVVRfU0VBUkNIKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX1NFQVJDSF9SRVNVTFRTX09QVElPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSAkID0gdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICA/LnBpcGUoXG4gICAgICAgICAgICBtYXAoU3RyaW5nKSxcbiAgICAgICAgICAgIGZpbHRlcigoaXRlbSkgPT4gISFpdGVtICYmICF0aGlzLnBvcHVsYXIuaW5jbHVkZXMoaXRlbSkpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUodmFsdWUpO1xuICAgICAgICB9KTtcblxuICAgIHByb3RlY3RlZCBoaXN0b3J5ID0gdGhpcy5pdGVtcztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHBvcHVsYXI6IHJlYWRvbmx5IHN0cmluZ1tdID0gW107XG5cbiAgICBwcm90ZWN0ZWQgc3RvcmUoaXRlbTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICAgICAgdGhpcy5vcHRpb25zLmtleSxcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgICAgIEFycmF5LmZyb20obmV3IFNldChbaXRlbS50cmltKCksIC4uLnRoaXMuaXRlbXNdKSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigodiwgXywgYSkgPT4gdiAmJiAhYS5maW5kKChzKSA9PiBzLnN0YXJ0c1dpdGgodikgJiYgcyAhPT0gdikpXG4gICAgICAgICAgICAgICAgICAgIC5zbGljZSgwLCA1KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlbW92ZShpdGVtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXh0ZmllbGQuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5oaXN0b3J5ID0gdGhpcy5oaXN0b3J5LmZpbHRlcigodikgPT4gdiAhPT0gaXRlbSk7XG4gICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICAgICAgdGhpcy5vcHRpb25zLmtleSxcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuaXRlbXMuZmlsdGVyKCh2KSA9PiB2ICE9PSBpdGVtKSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNlbGVjdChpdGVtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2w/LnNldFZhbHVlKGl0ZW0pO1xuICAgICAgICB0aGlzLnRleHRmaWVsZC5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGl0ZW1zKCk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0odGhpcy5vcHRpb25zLmtleSkgfHwgJ1tdJyk7XG4gICAgfVxufVxuIiwiPGxhYmVsXG4gICAgKm5nSWY9XCJoaXN0b3J5Lmxlbmd0aFwiXG4gICAgY2xhc3M9XCJ0LXNyLWxhYmVsXCJcbj5cbiAgICB7eyBpMThuKCk/Lmhpc3RvcnkgfX1cbjwvbGFiZWw+XG48YnV0dG9uXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaGlzdG9yeVwiXG4gICAgdHVpQ2VsbD1cIm1cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJzZWxlY3QoaXRlbSlcIlxuICAgIChrZXlkb3duLmJhY2tzcGFjZSk9XCJyZW1vdmUoaXRlbSlcIlxuICAgIChrZXlkb3duLmRlbGV0ZSk9XCJyZW1vdmUoaXRlbSlcIlxuICAgIChtb3VzZWRvd24ucHJldmVudCk9XCIoMClcIlxuPlxuICAgIDx0dWktYXZhdGFyIFtzcmNdPVwib3B0aW9ucy5oaXN0b3J5XCIgLz5cbiAgICA8c3BhbiB0dWlUaXRsZT57eyBpdGVtIH19PC9zcGFuPlxuICAgIDxidXR0b25cbiAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW2ljb25TdGFydF09XCJvcHRpb25zLnJlbW92ZVwiXG4gICAgICAgIChjbGljay5zdG9wKT1cInJlbW92ZShpdGVtKVwiXG4gICAgPlxuICAgICAgICDwn5eR77iPXG4gICAgPC9idXR0b24+XG48L2J1dHRvbj5cbjxsYWJlbFxuICAgICpuZ0lmPVwicG9wdWxhci5sZW5ndGhcIlxuICAgIGNsYXNzPVwidC1zci1sYWJlbFwiXG4+XG4gICAge3sgaTE4bigpPy5wb3B1bGFyIH19XG48L2xhYmVsPlxuPGJ1dHRvblxuICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHBvcHVsYXJcIlxuICAgIHR1aUNlbGw9XCJtXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAoY2xpY2spPVwic2VsZWN0KGl0ZW0pXCJcbiAgICAobW91c2Vkb3duLnByZXZlbnQpPVwiKDApXCJcbj5cbiAgICA8dHVpLWF2YXRhciBbc3JjXT1cIm9wdGlvbnMucG9wdWxhclwiIC8+XG4gICAgPHNwYW4gdHVpVGl0bGU+e3sgaXRlbSB9fTwvc3Bhbj5cbjwvYnV0dG9uPlxuIl19