@cuby-ui/cdk 0.0.150 → 0.0.151

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 (105) hide show
  1. package/README.md +24 -24
  2. package/constants/index.d.ts +1 -1
  3. package/constants/svg-node-filter.d.ts +1 -1
  4. package/directives/auto-resizing.directive.d.ts +18 -18
  5. package/directives/click-outside.directive.d.ts +9 -9
  6. package/directives/content-editable-value-accessor.directive.d.ts +17 -17
  7. package/directives/dimensions-observer.directive.d.ts +13 -13
  8. package/directives/element.directive.d.ts +8 -8
  9. package/directives/focus-trap.directive.d.ts +14 -14
  10. package/directives/index.d.ts +10 -10
  11. package/directives/item.directive.d.ts +5 -5
  12. package/directives/let.context.d.ts +7 -7
  13. package/directives/let.directive.d.ts +9 -9
  14. package/directives/target.directive.d.ts +14 -14
  15. package/esm2020/constants/index.mjs +1 -1
  16. package/esm2020/constants/svg-node-filter.mjs +8 -8
  17. package/esm2020/cuby-ui-cdk.mjs +4 -4
  18. package/esm2020/directives/auto-resizing.directive.mjs +67 -67
  19. package/esm2020/directives/click-outside.directive.mjs +29 -29
  20. package/esm2020/directives/content-editable-value-accessor.directive.mjs +44 -44
  21. package/esm2020/directives/dimensions-observer.directive.mjs +32 -32
  22. package/esm2020/directives/element.directive.mjs +19 -19
  23. package/esm2020/directives/focus-trap.directive.mjs +50 -50
  24. package/esm2020/directives/index.mjs +11 -11
  25. package/esm2020/directives/item.directive.mjs +14 -14
  26. package/esm2020/directives/let.context.mjs +12 -12
  27. package/esm2020/directives/let.directive.mjs +23 -23
  28. package/esm2020/directives/target.directive.mjs +35 -35
  29. package/esm2020/index.mjs +8 -8
  30. package/esm2020/interfaces/dimensions.mjs +2 -2
  31. package/esm2020/interfaces/index.mjs +4 -4
  32. package/esm2020/interfaces/on-change.mjs +2 -2
  33. package/esm2020/interfaces/on-touched.mjs +2 -2
  34. package/esm2020/pipes/filter.pipe.mjs +17 -17
  35. package/esm2020/pipes/index.mjs +2 -2
  36. package/esm2020/services/destroy.service.mjs +15 -15
  37. package/esm2020/services/id.service.mjs +18 -18
  38. package/esm2020/services/index.mjs +4 -4
  39. package/esm2020/services/popover.service.mjs +38 -38
  40. package/esm2020/tokens/history.mjs +5 -5
  41. package/esm2020/tokens/index.mjs +5 -5
  42. package/esm2020/tokens/local-storage.mjs +5 -5
  43. package/esm2020/tokens/session-storage.mjs +5 -5
  44. package/esm2020/tokens/window.mjs +11 -11
  45. package/esm2020/types/date-time.mjs +2 -0
  46. package/esm2020/types/index.mjs +7 -6
  47. package/esm2020/types/input-type.mjs +2 -2
  48. package/esm2020/types/mapper.mjs +2 -2
  49. package/esm2020/types/matcher.mjs +2 -2
  50. package/esm2020/types/nullable.mjs +2 -2
  51. package/esm2020/types/value-of.mjs +1 -1
  52. package/esm2020/utils/dom/contains-or-after.mjs +10 -10
  53. package/esm2020/utils/dom/index.mjs +3 -3
  54. package/esm2020/utils/dom/is-html-element.mjs +4 -4
  55. package/esm2020/utils/focus/blur-native-focused.mjs +9 -9
  56. package/esm2020/utils/focus/get-closest-focusable.mjs +22 -22
  57. package/esm2020/utils/focus/get-native-focused.mjs +11 -11
  58. package/esm2020/utils/focus/index.mjs +6 -6
  59. package/esm2020/utils/focus/is-native-keyboard-focusable.mjs +27 -27
  60. package/esm2020/utils/focus/is-native-mouse-focusable.mjs +7 -7
  61. package/esm2020/utils/index.mjs +4 -4
  62. package/esm2020/utils/token/create-token.mjs +8 -8
  63. package/esm2020/utils/token/index.mjs +3 -3
  64. package/esm2020/utils/token/provide.mjs +4 -4
  65. package/fesm2015/cuby-ui-cdk.mjs +430 -430
  66. package/fesm2015/cuby-ui-cdk.mjs.map +1 -1
  67. package/fesm2020/cuby-ui-cdk.mjs +437 -437
  68. package/fesm2020/cuby-ui-cdk.mjs.map +1 -1
  69. package/index.d.ts +7 -7
  70. package/interfaces/dimensions.d.ts +4 -4
  71. package/interfaces/index.d.ts +3 -3
  72. package/interfaces/on-change.d.ts +3 -3
  73. package/interfaces/on-touched.d.ts +3 -3
  74. package/package.json +1 -1
  75. package/pipes/filter.pipe.d.ts +8 -8
  76. package/pipes/index.d.ts +1 -1
  77. package/services/destroy.service.d.ts +8 -8
  78. package/services/id.service.d.ts +7 -7
  79. package/services/index.d.ts +3 -3
  80. package/services/popover.service.d.ts +22 -22
  81. package/tokens/history.d.ts +1 -1
  82. package/tokens/index.d.ts +4 -4
  83. package/tokens/local-storage.d.ts +1 -1
  84. package/tokens/session-storage.d.ts +1 -1
  85. package/tokens/window.d.ts +1 -1
  86. package/types/date-time.d.ts +1 -0
  87. package/types/index.d.ts +6 -5
  88. package/types/input-type.d.ts +1 -1
  89. package/types/mapper.d.ts +1 -1
  90. package/types/matcher.d.ts +2 -2
  91. package/types/nullable.d.ts +1 -1
  92. package/types/value-of.d.ts +1 -1
  93. package/utils/dom/contains-or-after.d.ts +1 -1
  94. package/utils/dom/index.d.ts +2 -2
  95. package/utils/dom/is-html-element.d.ts +1 -1
  96. package/utils/focus/blur-native-focused.d.ts +1 -1
  97. package/utils/focus/get-closest-focusable.d.ts +7 -7
  98. package/utils/focus/get-native-focused.d.ts +1 -1
  99. package/utils/focus/index.d.ts +5 -5
  100. package/utils/focus/is-native-keyboard-focusable.d.ts +1 -1
  101. package/utils/focus/is-native-mouse-focusable.d.ts +1 -1
  102. package/utils/index.d.ts +3 -3
  103. package/utils/token/create-token.d.ts +3 -3
  104. package/utils/token/index.d.ts +2 -2
  105. package/utils/token/provide.d.ts +3 -3
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # Cdk
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project cdk` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cdk`.
8
- > Note: Don't forget to add `--project cdk` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build cdk` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build cdk`, go to the dist folder `cd dist/cdk` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test cdk` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # Cdk
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project cdk` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project cdk`.
8
+ > Note: Don't forget to add `--project cdk` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build cdk` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build cdk`, go to the dist folder `cd dist/cdk` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test cdk` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -1 +1 @@
1
- export * from './svg-node-filter';
1
+ export * from './svg-node-filter';
@@ -1 +1 @@
1
- export declare const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number>;
1
+ export declare const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number>;
@@ -1,18 +1,18 @@
1
- import type { AfterViewInit, OnInit } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class CuiAutoResizingDirective implements OnInit, AfterViewInit {
4
- private readonly window;
5
- private readonly element;
6
- private readonly ngControl;
7
- private readonly ngModel;
8
- private readonly destroy$;
9
- private readonly elementStyles;
10
- ngOnInit(): void;
11
- ngAfterViewInit(): void;
12
- protected onInput(): void;
13
- private initNgControlValueChangeSubscription;
14
- private initNgModelValueChangeSubscription;
15
- private resize;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<CuiAutoResizingDirective, never>;
17
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuiAutoResizingDirective, "textarea[cuiAutoResizing]", never, {}, {}, never, never, true, never>;
18
- }
1
+ import type { AfterViewInit, OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CuiAutoResizingDirective implements OnInit, AfterViewInit {
4
+ private readonly window;
5
+ private readonly element;
6
+ private readonly ngControl;
7
+ private readonly ngModel;
8
+ private readonly destroy$;
9
+ private readonly elementStyles;
10
+ ngOnInit(): void;
11
+ ngAfterViewInit(): void;
12
+ protected onInput(): void;
13
+ private initNgControlValueChangeSubscription;
14
+ private initNgModelValueChangeSubscription;
15
+ private resize;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiAutoResizingDirective, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiAutoResizingDirective, "textarea[cuiAutoResizing]", never, {}, {}, never, never, true, never>;
18
+ }
@@ -1,9 +1,9 @@
1
- import { EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class CuiClickOutsideDirective {
4
- private readonly element;
5
- cuiClickOutside: EventEmitter<HTMLElement>;
6
- protected onClickOutside(target: HTMLElement): void;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<CuiClickOutsideDirective, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuiClickOutsideDirective, "(cuiClickOutside)", never, {}, { "cuiClickOutside": "cuiClickOutside"; }, never, never, true, never>;
9
- }
1
+ import { EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CuiClickOutsideDirective {
4
+ private readonly element;
5
+ cuiClickOutside: EventEmitter<HTMLElement>;
6
+ protected onClickOutside(target: HTMLElement): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiClickOutsideDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiClickOutsideDirective, "(cuiClickOutside)", never, {}, { "cuiClickOutside": "cuiClickOutside"; }, never, never, true, never>;
9
+ }
@@ -1,17 +1,17 @@
1
- import type { ControlValueAccessor } from '@angular/forms';
2
- import type { CuiNullable } from '../types';
3
- import type { CuiOnChange, CuiOnTouched } from '../interfaces';
4
- import * as i0 from "@angular/core";
5
- export declare class CuiContentEditableValueAccessorDirective implements ControlValueAccessor {
6
- private readonly element;
7
- protected onChange: CuiOnChange<string>;
8
- protected onTouched: CuiOnTouched;
9
- writeValue(value: CuiNullable<string>): void;
10
- registerOnChange(fn: CuiOnChange<string>): void;
11
- registerOnTouched(fn: CuiOnTouched): void;
12
- setDisabledState(isDisabled: boolean): void;
13
- protected onInput(): void;
14
- protected onBlur(): void;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<CuiContentEditableValueAccessorDirective, never>;
16
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuiContentEditableValueAccessorDirective, "[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]", never, {}, {}, never, never, true, never>;
17
- }
1
+ import type { ControlValueAccessor } from '@angular/forms';
2
+ import type { CuiNullable } from '../types';
3
+ import type { CuiOnChange, CuiOnTouched } from '../interfaces';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CuiContentEditableValueAccessorDirective implements ControlValueAccessor {
6
+ private readonly element;
7
+ protected onChange: CuiOnChange<string>;
8
+ protected onTouched: CuiOnTouched;
9
+ writeValue(value: CuiNullable<string>): void;
10
+ registerOnChange(fn: CuiOnChange<string>): void;
11
+ registerOnTouched(fn: CuiOnTouched): void;
12
+ setDisabledState(isDisabled: boolean): void;
13
+ protected onInput(): void;
14
+ protected onBlur(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiContentEditableValueAccessorDirective, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiContentEditableValueAccessorDirective, "[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]", never, {}, {}, never, never, true, never>;
17
+ }
@@ -1,13 +1,13 @@
1
- import type { OnInit, OnDestroy } from '@angular/core';
2
- import { EventEmitter } from '@angular/core';
3
- import type { CuiDimensions } from '../interfaces';
4
- import * as i0 from "@angular/core";
5
- export declare class CuiDimensionsObserverDirective implements OnInit, OnDestroy {
6
- private readonly element;
7
- private readonly observer;
8
- cuiResizeObserver: EventEmitter<CuiDimensions>;
9
- ngOnInit(): void;
10
- ngOnDestroy(): void;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<CuiDimensionsObserverDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuiDimensionsObserverDirective, "[cuiResizeObserver]", never, {}, { "cuiResizeObserver": "cuiResizeObserver"; }, never, never, true, never>;
13
- }
1
+ import type { OnInit, OnDestroy } from '@angular/core';
2
+ import { EventEmitter } from '@angular/core';
3
+ import type { CuiDimensions } from '../interfaces';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CuiDimensionsObserverDirective implements OnInit, OnDestroy {
6
+ private readonly element;
7
+ private readonly observer;
8
+ cuiResizeObserver: EventEmitter<CuiDimensions>;
9
+ ngOnInit(): void;
10
+ ngOnDestroy(): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiDimensionsObserverDirective, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiDimensionsObserverDirective, "[cuiResizeObserver]", never, {}, { "cuiResizeObserver": "cuiResizeObserver"; }, never, never, true, never>;
13
+ }
@@ -1,8 +1,8 @@
1
- import { ElementRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class CuiElementDirective<T extends Element = HTMLElement> implements ElementRef<T> {
4
- nativeElement: any;
5
- constructor();
6
- static ɵfac: i0.ɵɵFactoryDeclaration<CuiElementDirective<any>, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuiElementDirective<any>, "[cuiElement]", ["elementRef"], {}, {}, never, never, true, never>;
8
- }
1
+ import { ElementRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CuiElementDirective<T extends Element = HTMLElement> implements ElementRef<T> {
4
+ nativeElement: any;
5
+ constructor();
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiElementDirective<any>, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiElementDirective<any>, "[cuiElement]", ["elementRef"], {}, {}, never, never, true, never>;
8
+ }
@@ -1,14 +1,14 @@
1
- import type { OnDestroy } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class CuiFocusTrapDirective implements OnDestroy {
4
- private readonly document;
5
- private readonly element;
6
- private readonly activeElement;
7
- constructor();
8
- ngOnDestroy(): void;
9
- protected readonly tabIndex = 0;
10
- protected onFocusIn(node: Node): void;
11
- private initElementFocus;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<CuiFocusTrapDirective, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuiFocusTrapDirective, "[cuiFocusTrap]", never, {}, {}, never, never, true, never>;
14
- }
1
+ import type { OnDestroy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CuiFocusTrapDirective implements OnDestroy {
4
+ private readonly document;
5
+ private readonly element;
6
+ private readonly activeElement;
7
+ constructor();
8
+ ngOnDestroy(): void;
9
+ protected readonly tabIndex = 0;
10
+ protected onFocusIn(node: Node): void;
11
+ private initElementFocus;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiFocusTrapDirective, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiFocusTrapDirective, "[cuiFocusTrap]", never, {}, {}, never, never, true, never>;
14
+ }
@@ -1,10 +1,10 @@
1
- export * from './auto-resizing.directive';
2
- export * from './click-outside.directive';
3
- export * from './dimensions-observer.directive';
4
- export * from './content-editable-value-accessor.directive';
5
- export * from './element.directive';
6
- export * from './focus-trap.directive';
7
- export * from './item.directive';
8
- export * from './let.context';
9
- export * from './let.directive';
10
- export * from './target.directive';
1
+ export * from './auto-resizing.directive';
2
+ export * from './click-outside.directive';
3
+ export * from './dimensions-observer.directive';
4
+ export * from './content-editable-value-accessor.directive';
5
+ export * from './element.directive';
6
+ export * from './focus-trap.directive';
7
+ export * from './item.directive';
8
+ export * from './let.context';
9
+ export * from './let.directive';
10
+ export * from './target.directive';
@@ -1,5 +1,5 @@
1
- import * as i0 from "@angular/core";
2
- export declare class CuiItemDirective {
3
- static ɵfac: i0.ɵɵFactoryDeclaration<CuiItemDirective, never>;
4
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuiItemDirective, "[cuiItem]", never, {}, {}, never, never, true, never>;
5
- }
1
+ import * as i0 from "@angular/core";
2
+ export declare class CuiItemDirective {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiItemDirective, never>;
4
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiItemDirective, "[cuiItem]", never, {}, {}, never, never, true, never>;
5
+ }
@@ -1,7 +1,7 @@
1
- import type { CuiLetDirective } from './let.directive';
2
- export declare class CuiLetContext<T> {
3
- private readonly internalDirectiveInstance;
4
- constructor(internalDirectiveInstance: CuiLetDirective<T>);
5
- get $implicit(): T;
6
- get cuiLet(): T;
7
- }
1
+ import type { CuiLetDirective } from './let.directive';
2
+ export declare class CuiLetContext<T> {
3
+ private readonly internalDirectiveInstance;
4
+ constructor(internalDirectiveInstance: CuiLetDirective<T>);
5
+ get $implicit(): T;
6
+ get cuiLet(): T;
7
+ }
@@ -1,9 +1,9 @@
1
- import { CuiLetContext } from './let.context';
2
- import * as i0 from "@angular/core";
3
- export declare class CuiLetDirective<T> {
4
- cuiLet: T;
5
- constructor();
6
- static ngTemplateContextGuard<T>(_dir: CuiLetDirective<T>, _ctx: unknown): _ctx is CuiLetContext<T>;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<CuiLetDirective<any>, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuiLetDirective<any>, "[cuiLet]", never, { "cuiLet": "cuiLet"; }, {}, never, never, true, never>;
9
- }
1
+ import { CuiLetContext } from './let.context';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CuiLetDirective<T> {
4
+ cuiLet: T;
5
+ constructor();
6
+ static ngTemplateContextGuard<T>(_dir: CuiLetDirective<T>, _ctx: unknown): _ctx is CuiLetContext<T>;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiLetDirective<any>, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiLetDirective<any>, "[cuiLet]", never, { "cuiLet": "cuiLet"; }, {}, never, never, true, never>;
9
+ }
@@ -1,14 +1,14 @@
1
- import type { OnInit, OnDestroy } from '@angular/core';
2
- import { EventEmitter } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export declare class CuiTargetDirective implements OnInit, OnDestroy {
5
- private readonly clickListener;
6
- ccTarget: HTMLElement;
7
- clicked: EventEmitter<MouseEvent>;
8
- ngOnInit(): void;
9
- ngOnDestroy(): void;
10
- private initClickListener;
11
- private destroyClickListener;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<CuiTargetDirective, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<CuiTargetDirective, "[ccTarget]", never, { "ccTarget": "ccTarget"; }, { "clicked": "clicked"; }, never, never, true, never>;
14
- }
1
+ import type { OnInit, OnDestroy } from '@angular/core';
2
+ import { EventEmitter } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CuiTargetDirective implements OnInit, OnDestroy {
5
+ private readonly clickListener;
6
+ ccTarget: HTMLElement;
7
+ clicked: EventEmitter<MouseEvent>;
8
+ ngOnInit(): void;
9
+ ngOnDestroy(): void;
10
+ private initClickListener;
11
+ private destroyClickListener;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiTargetDirective, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiTargetDirective, "[ccTarget]", never, { "ccTarget": "ccTarget"; }, { "clicked": "clicked"; }, never, never, true, never>;
14
+ }
@@ -1,2 +1,2 @@
1
- export * from './svg-node-filter';
1
+ export * from './svg-node-filter';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N2Zy1ub2RlLWZpbHRlcic7Il19
@@ -1,8 +1,8 @@
1
- export const svgNodeFilter = {
2
- acceptNode(node) {
3
- return 'ownerSVGElement' in node
4
- ? NodeFilter.FILTER_REJECT
5
- : NodeFilter.FILTER_ACCEPT;
6
- },
7
- };
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLW5vZGUtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2NvbnN0YW50cy9zdmctbm9kZS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFnRDtJQUN4RSxVQUFVLENBQUMsSUFBVTtRQUNuQixPQUFPLGlCQUFpQixJQUFJLElBQUk7WUFDOUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxhQUFhO1lBQzFCLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQy9CLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHN2Z05vZGVGaWx0ZXI6IEV4Y2x1ZGU8Tm9kZUZpbHRlciwgKG5vZGU6IE5vZGUpID0+IG51bWJlcj4gPSB7XHJcbiAgYWNjZXB0Tm9kZShub2RlOiBOb2RlKTogbnVtYmVyIHtcclxuICAgIHJldHVybiAnb3duZXJTVkdFbGVtZW50JyBpbiBub2RlXHJcbiAgICAgID8gTm9kZUZpbHRlci5GSUxURVJfUkVKRUNUXHJcbiAgICAgIDogTm9kZUZpbHRlci5GSUxURVJfQUNDRVBUO1xyXG4gIH0sXHJcbn07Il19
1
+ export const svgNodeFilter = {
2
+ acceptNode(node) {
3
+ return 'ownerSVGElement' in node
4
+ ? NodeFilter.FILTER_REJECT
5
+ : NodeFilter.FILTER_ACCEPT;
6
+ },
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLW5vZGUtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2NvbnN0YW50cy9zdmctbm9kZS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFnRDtJQUN4RSxVQUFVLENBQUMsSUFBVTtRQUNuQixPQUFPLGlCQUFpQixJQUFJLElBQUk7WUFDOUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxhQUFhO1lBQzFCLENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQy9CLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHN2Z05vZGVGaWx0ZXI6IEV4Y2x1ZGU8Tm9kZUZpbHRlciwgKG5vZGU6IE5vZGUpID0+IG51bWJlcj4gPSB7XG4gIGFjY2VwdE5vZGUobm9kZTogTm9kZSk6IG51bWJlciB7XG4gICAgcmV0dXJuICdvd25lclNWR0VsZW1lbnQnIGluIG5vZGVcbiAgICAgID8gTm9kZUZpbHRlci5GSUxURVJfUkVKRUNUXG4gICAgICA6IE5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVDtcbiAgfSxcbn07Il19
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VieS11aS1jZGsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jZGsvY3VieS11aS1jZGsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,67 +1,67 @@
1
- import { Directive, ElementRef, HostListener, inject } from '@angular/core';
2
- import { NgControl, NgModel } from '@angular/forms';
3
- import { takeUntil } from 'rxjs';
4
- import { CUI_WINDOW } from '../tokens';
5
- import { CuiDestroyService } from '../services';
6
- import * as i0 from "@angular/core";
7
- export class CuiAutoResizingDirective {
8
- constructor() {
9
- this.window = inject(CUI_WINDOW);
10
- this.element = inject(ElementRef).nativeElement;
11
- this.ngControl = inject(NgControl, { self: true, optional: true });
12
- this.ngModel = inject(NgModel, { self: true, optional: true });
13
- this.destroy$ = inject(CuiDestroyService, { self: true });
14
- this.elementStyles = this.element.style;
15
- }
16
- ngOnInit() {
17
- this.initNgControlValueChangeSubscription();
18
- this.initNgModelValueChangeSubscription();
19
- }
20
- ngAfterViewInit() {
21
- this.resize();
22
- }
23
- onInput() {
24
- this.resize();
25
- }
26
- initNgControlValueChangeSubscription() {
27
- if (!this.ngControl) {
28
- return;
29
- }
30
- this.ngControl.valueChanges
31
- .pipe(takeUntil(this.destroy$))
32
- .subscribe(this.resize.bind(this));
33
- }
34
- initNgModelValueChangeSubscription() {
35
- if (!this.ngModel) {
36
- return;
37
- }
38
- this.ngModel.valueChanges
39
- .pipe(takeUntil(this.destroy$))
40
- .subscribe(this.resize.bind(this));
41
- }
42
- resize() {
43
- const computedMaxHeight = this.window.getComputedStyle(this.element).maxHeight;
44
- this.elementStyles.height = 'auto';
45
- this.elementStyles.height = this.element.scrollHeight + 'px';
46
- if (parseFloat(this.element.style.height) < parseFloat(computedMaxHeight)) {
47
- this.elementStyles.overflow = 'hidden';
48
- return;
49
- }
50
- this.elementStyles.overflowY = 'scroll';
51
- this.elementStyles.height = computedMaxHeight;
52
- }
53
- }
54
- CuiAutoResizingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAutoResizingDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
55
- CuiAutoResizingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiAutoResizingDirective, isStandalone: true, selector: "textarea[cuiAutoResizing]", host: { listeners: { "input": "onInput()" } }, providers: [CuiDestroyService], ngImport: i0 });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAutoResizingDirective, decorators: [{
57
- type: Directive,
58
- args: [{
59
- standalone: true,
60
- selector: 'textarea[cuiAutoResizing]',
61
- providers: [CuiDestroyService]
62
- }]
63
- }], propDecorators: { onInput: [{
64
- type: HostListener,
65
- args: ['input']
66
- }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1yZXNpemluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9hdXRvLXJlc2l6aW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFPaEQsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQU1tQixXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVCLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBNEIsQ0FBQztRQUMxRCxjQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUQsWUFBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFELGFBQVEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVyRCxrQkFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0tBbURyRDtJQWpEUSxRQUFRO1FBQ2IsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFHUyxPQUFPO1FBQ2YsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxvQ0FBb0M7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFhO2FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxrQ0FBa0M7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFhO2FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxNQUFNO1FBQ1osTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFL0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUU3RCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUN6RSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFFdkMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLGlCQUFpQixDQUFDO0lBQ2hELENBQUM7O3NIQXpEVSx3QkFBd0I7MEdBQXhCLHdCQUF3Qix1SEFGeEIsQ0FBQyxpQkFBaUIsQ0FBQzs0RkFFbkIsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDL0I7OEJBb0JXLE9BQU87c0JBRGhCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQ1VJX1dJTkRPVyB9IGZyb20gJy4uL3Rva2Vucyc7XHJcbmltcG9ydCB7IEN1aURlc3Ryb3lTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzZWxlY3RvcjogJ3RleHRhcmVhW2N1aUF1dG9SZXNpemluZ10nLFxyXG4gIHByb3ZpZGVyczogW0N1aURlc3Ryb3lTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VpQXV0b1Jlc2l6aW5nRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdyA9IGluamVjdChDVUlfV0lORE9XKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIHJlYWRvbmx5IG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgc2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBuZ01vZGVsID0gaW5qZWN0KE5nTW9kZWwsIHsgc2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IGluamVjdChDdWlEZXN0cm95U2VydmljZSwgeyBzZWxmOiB0cnVlIH0pO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRTdHlsZXMgPSB0aGlzLmVsZW1lbnQuc3R5bGU7XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdE5nQ29udHJvbFZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uKCk7XHJcbiAgICB0aGlzLmluaXROZ01vZGVsVmFsdWVDaGFuZ2VTdWJzY3JpcHRpb24oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnKVxyXG4gIHByb3RlY3RlZCBvbklucHV0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNpemUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdE5nQ29udHJvbFZhbHVlQ2hhbmdlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm5nQ29udHJvbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzIVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5yZXNpemUuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXROZ01vZGVsVmFsdWVDaGFuZ2VTdWJzY3JpcHRpb24oKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubmdNb2RlbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5uZ01vZGVsLnZhbHVlQ2hhbmdlcyFcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHRoaXMucmVzaXplLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNpemUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb21wdXRlZE1heEhlaWdodCA9IHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5lbGVtZW50KS5tYXhIZWlnaHQ7XHJcblxyXG4gICAgdGhpcy5lbGVtZW50U3R5bGVzLmhlaWdodCA9ICdhdXRvJztcclxuICAgIHRoaXMuZWxlbWVudFN0eWxlcy5oZWlnaHQgPSB0aGlzLmVsZW1lbnQuc2Nyb2xsSGVpZ2h0ICsgJ3B4JztcclxuXHJcbiAgICBpZiAocGFyc2VGbG9hdCh0aGlzLmVsZW1lbnQuc3R5bGUuaGVpZ2h0KSA8IHBhcnNlRmxvYXQoY29tcHV0ZWRNYXhIZWlnaHQpKSB7XHJcbiAgICAgIHRoaXMuZWxlbWVudFN0eWxlcy5vdmVyZmxvdyA9ICdoaWRkZW4nO1xyXG5cclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZWxlbWVudFN0eWxlcy5vdmVyZmxvd1kgPSAnc2Nyb2xsJztcclxuICAgIHRoaXMuZWxlbWVudFN0eWxlcy5oZWlnaHQgPSBjb21wdXRlZE1heEhlaWdodDtcclxuICB9XHJcbn1cclxuIl19
1
+ import { Directive, ElementRef, HostListener, inject } from '@angular/core';
2
+ import { NgControl, NgModel } from '@angular/forms';
3
+ import { takeUntil } from 'rxjs';
4
+ import { CUI_WINDOW } from '../tokens';
5
+ import { CuiDestroyService } from '../services';
6
+ import * as i0 from "@angular/core";
7
+ export class CuiAutoResizingDirective {
8
+ constructor() {
9
+ this.window = inject(CUI_WINDOW);
10
+ this.element = inject(ElementRef).nativeElement;
11
+ this.ngControl = inject(NgControl, { self: true, optional: true });
12
+ this.ngModel = inject(NgModel, { self: true, optional: true });
13
+ this.destroy$ = inject(CuiDestroyService, { self: true });
14
+ this.elementStyles = this.element.style;
15
+ }
16
+ ngOnInit() {
17
+ this.initNgControlValueChangeSubscription();
18
+ this.initNgModelValueChangeSubscription();
19
+ }
20
+ ngAfterViewInit() {
21
+ this.resize();
22
+ }
23
+ onInput() {
24
+ this.resize();
25
+ }
26
+ initNgControlValueChangeSubscription() {
27
+ if (!this.ngControl) {
28
+ return;
29
+ }
30
+ this.ngControl.valueChanges
31
+ .pipe(takeUntil(this.destroy$))
32
+ .subscribe(this.resize.bind(this));
33
+ }
34
+ initNgModelValueChangeSubscription() {
35
+ if (!this.ngModel) {
36
+ return;
37
+ }
38
+ this.ngModel.valueChanges
39
+ .pipe(takeUntil(this.destroy$))
40
+ .subscribe(this.resize.bind(this));
41
+ }
42
+ resize() {
43
+ const computedMaxHeight = this.window.getComputedStyle(this.element).maxHeight;
44
+ this.elementStyles.height = 'auto';
45
+ this.elementStyles.height = this.element.scrollHeight + 'px';
46
+ if (parseFloat(this.element.style.height) < parseFloat(computedMaxHeight)) {
47
+ this.elementStyles.overflow = 'hidden';
48
+ return;
49
+ }
50
+ this.elementStyles.overflowY = 'scroll';
51
+ this.elementStyles.height = computedMaxHeight;
52
+ }
53
+ }
54
+ CuiAutoResizingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAutoResizingDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
55
+ CuiAutoResizingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiAutoResizingDirective, isStandalone: true, selector: "textarea[cuiAutoResizing]", host: { listeners: { "input": "onInput()" } }, providers: [CuiDestroyService], ngImport: i0 });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAutoResizingDirective, decorators: [{
57
+ type: Directive,
58
+ args: [{
59
+ standalone: true,
60
+ selector: 'textarea[cuiAutoResizing]',
61
+ providers: [CuiDestroyService]
62
+ }]
63
+ }], propDecorators: { onInput: [{
64
+ type: HostListener,
65
+ args: ['input']
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1yZXNpemluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9hdXRvLXJlc2l6aW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFPaEQsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQU1tQixXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVCLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBNEIsQ0FBQztRQUMxRCxjQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUQsWUFBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFELGFBQVEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVyRCxrQkFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0tBbURyRDtJQWpEUSxRQUFRO1FBQ2IsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFHUyxPQUFPO1FBQ2YsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxvQ0FBb0M7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFhO2FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxrQ0FBa0M7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFhO2FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxNQUFNO1FBQ1osTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFL0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUU3RCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUN6RSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFFdkMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLGlCQUFpQixDQUFDO0lBQ2hELENBQUM7O3NIQXpEVSx3QkFBd0I7MEdBQXhCLHdCQUF3Qix1SEFGeEIsQ0FBQyxpQkFBaUIsQ0FBQzs0RkFFbkIsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDL0I7OEJBb0JXLE9BQU87c0JBRGhCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENVSV9XSU5ET1cgfSBmcm9tICcuLi90b2tlbnMnO1xuaW1wb3J0IHsgQ3VpRGVzdHJveVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3RleHRhcmVhW2N1aUF1dG9SZXNpemluZ10nLFxuICBwcm92aWRlcnM6IFtDdWlEZXN0cm95U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQ3VpQXV0b1Jlc2l6aW5nRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3cgPSBpbmplY3QoQ1VJX1dJTkRPVyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHJlYWRvbmx5IG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgc2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmdNb2RlbCA9IGluamVjdChOZ01vZGVsLCB7IHNlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gaW5qZWN0KEN1aURlc3Ryb3lTZXJ2aWNlLCB7IHNlbGY6IHRydWUgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50U3R5bGVzID0gdGhpcy5lbGVtZW50LnN0eWxlO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXROZ0NvbnRyb2xWYWx1ZUNoYW5nZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuaW5pdE5nTW9kZWxWYWx1ZUNoYW5nZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZSgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnKVxuICBwcm90ZWN0ZWQgb25JbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0TmdDb250cm9sVmFsdWVDaGFuZ2VTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm5nQ29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubmdDb250cm9sLnZhbHVlQ2hhbmdlcyFcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5yZXNpemUuYmluZCh0aGlzKSk7XG4gIH1cblxuICBwcml2YXRlIGluaXROZ01vZGVsVmFsdWVDaGFuZ2VTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm5nTW9kZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm5nTW9kZWwudmFsdWVDaGFuZ2VzIVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLnJlc2l6ZS5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXB1dGVkTWF4SGVpZ2h0ID0gdGhpcy53aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnQpLm1heEhlaWdodDtcblxuICAgIHRoaXMuZWxlbWVudFN0eWxlcy5oZWlnaHQgPSAnYXV0byc7XG4gICAgdGhpcy5lbGVtZW50U3R5bGVzLmhlaWdodCA9IHRoaXMuZWxlbWVudC5zY3JvbGxIZWlnaHQgKyAncHgnO1xuXG4gICAgaWYgKHBhcnNlRmxvYXQodGhpcy5lbGVtZW50LnN0eWxlLmhlaWdodCkgPCBwYXJzZUZsb2F0KGNvbXB1dGVkTWF4SGVpZ2h0KSkge1xuICAgICAgdGhpcy5lbGVtZW50U3R5bGVzLm92ZXJmbG93ID0gJ2hpZGRlbic7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmVsZW1lbnRTdHlsZXMub3ZlcmZsb3dZID0gJ3Njcm9sbCc7XG4gICAgdGhpcy5lbGVtZW50U3R5bGVzLmhlaWdodCA9IGNvbXB1dGVkTWF4SGVpZ2h0O1xuICB9XG59XG4iXX0=
@@ -1,29 +1,29 @@
1
- import { Directive, ElementRef, EventEmitter, HostListener, inject, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CuiClickOutsideDirective {
4
- constructor() {
5
- this.element = inject(ElementRef).nativeElement;
6
- this.cuiClickOutside = new EventEmitter();
7
- }
8
- onClickOutside(target) {
9
- if (this.element.contains(target)) {
10
- return;
11
- }
12
- this.cuiClickOutside.emit(target);
13
- }
14
- }
15
- CuiClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
- CuiClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiClickOutsideDirective, isStandalone: true, selector: "(cuiClickOutside)", outputs: { cuiClickOutside: "cuiClickOutside" }, host: { listeners: { "document:click": "onClickOutside($event.target)" } }, ngImport: i0 });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiClickOutsideDirective, decorators: [{
18
- type: Directive,
19
- args: [{
20
- standalone: true,
21
- selector: '(cuiClickOutside)'
22
- }]
23
- }], propDecorators: { cuiClickOutside: [{
24
- type: Output
25
- }], onClickOutside: [{
26
- type: HostListener,
27
- args: ['document:click', ['$event.target']]
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWxHLE1BQU0sT0FBTyx3QkFBd0I7SUFKckM7UUFLbUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFHckQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0tBVTFEO0lBUFcsY0FBYyxDQUFDLE1BQW1CO1FBQzFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7c0hBYlUsd0JBQXdCOzBHQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7OEJBS1EsZUFBZTtzQkFEckIsTUFBTTtnQkFJRyxjQUFjO3NCQUR2QixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2VsZWN0b3I6ICcoY3VpQ2xpY2tPdXRzaWRlKSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1aUNsaWNrT3V0c2lkZURpcmVjdGl2ZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjdWlDbGlja091dHNpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPEhUTUxFbGVtZW50PigpO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxyXG4gIHByb3RlY3RlZCBvbkNsaWNrT3V0c2lkZSh0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5lbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY3VpQ2xpY2tPdXRzaWRlLmVtaXQodGFyZ2V0KTtcclxuICB9XHJcbn0iXX0=
1
+ import { Directive, ElementRef, EventEmitter, HostListener, inject, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CuiClickOutsideDirective {
4
+ constructor() {
5
+ this.element = inject(ElementRef).nativeElement;
6
+ this.cuiClickOutside = new EventEmitter();
7
+ }
8
+ onClickOutside(target) {
9
+ if (this.element.contains(target)) {
10
+ return;
11
+ }
12
+ this.cuiClickOutside.emit(target);
13
+ }
14
+ }
15
+ CuiClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
+ CuiClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CuiClickOutsideDirective, isStandalone: true, selector: "(cuiClickOutside)", outputs: { cuiClickOutside: "cuiClickOutside" }, host: { listeners: { "document:click": "onClickOutside($event.target)" } }, ngImport: i0 });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiClickOutsideDirective, decorators: [{
18
+ type: Directive,
19
+ args: [{
20
+ standalone: true,
21
+ selector: '(cuiClickOutside)'
22
+ }]
23
+ }], propDecorators: { cuiClickOutside: [{
24
+ type: Output
25
+ }], onClickOutside: [{
26
+ type: HostListener,
27
+ args: ['document:click', ['$event.target']]
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWxHLE1BQU0sT0FBTyx3QkFBd0I7SUFKckM7UUFLbUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFHckQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO0tBVTFEO0lBUFcsY0FBYyxDQUFDLE1BQW1CO1FBQzFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7c0hBYlUsd0JBQXdCOzBHQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7OEJBS1EsZUFBZTtzQkFEckIsTUFBTTtnQkFJRyxjQUFjO3NCQUR2QixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnKGN1aUNsaWNrT3V0c2lkZSknXG59KVxuZXhwb3J0IGNsYXNzIEN1aUNsaWNrT3V0c2lkZURpcmVjdGl2ZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY3VpQ2xpY2tPdXRzaWRlID0gbmV3IEV2ZW50RW1pdHRlcjxIVE1MRWxlbWVudD4oKTtcblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBwcm90ZWN0ZWQgb25DbGlja091dHNpZGUodGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY3VpQ2xpY2tPdXRzaWRlLmVtaXQodGFyZ2V0KTtcbiAgfVxufSJdfQ==