@cuby-ui/core 0.0.11 → 0.0.13

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 (53) hide show
  1. package/components/button/button.component.d.ts +8 -3
  2. package/components/input-number/input-number.component.d.ts +11 -6
  3. package/components/input-number/input-number.module.d.ts +4 -3
  4. package/components/input-password/input-password.component.d.ts +8 -4
  5. package/components/input-password/input-password.module.d.ts +2 -1
  6. package/components/input-text/input-text.component.d.ts +9 -6
  7. package/components/input-text/input-text.module.d.ts +2 -1
  8. package/components/svg/svg.component.d.ts +5 -10
  9. package/components/textarea/textarea.component.d.ts +3 -2
  10. package/directives/index.d.ts +1 -0
  11. package/directives/text-field-controller/index.d.ts +8 -0
  12. package/directives/text-field-controller/text-field-controller.module.d.ts +11 -0
  13. package/directives/text-field-controller/text-field-controller.provider.d.ts +4 -0
  14. package/directives/text-field-controller/text-field-icon-left.directive.d.ts +9 -0
  15. package/directives/text-field-controller/text-field-id.directive.d.ts +8 -0
  16. package/directives/text-field-controller/text-field-is-error.directive.d.ts +8 -0
  17. package/directives/text-field-controller/text-field-placeholder.directive.d.ts +8 -0
  18. package/directives/text-field-controller/text-field-size.directive.d.ts +9 -0
  19. package/directives/text-field-controller/text-field.controller.d.ts +20 -0
  20. package/esm2020/components/accordion/accordion-item/accordion-item.component.mjs +1 -1
  21. package/esm2020/components/button/button.component.mjs +32 -13
  22. package/esm2020/components/context-menu/context-menu.component.mjs +3 -3
  23. package/esm2020/components/icon-button/icon-button.component.mjs +2 -2
  24. package/esm2020/components/input-number/input-number.component.mjs +39 -18
  25. package/esm2020/components/input-number/input-number.module.mjs +19 -6
  26. package/esm2020/components/input-password/input-password.component.mjs +34 -15
  27. package/esm2020/components/input-password/input-password.module.mjs +9 -4
  28. package/esm2020/components/input-text/input-text.component.mjs +34 -17
  29. package/esm2020/components/input-text/input-text.module.mjs +9 -4
  30. package/esm2020/components/svg/svg.component.mjs +15 -24
  31. package/esm2020/components/textarea/textarea.component.mjs +13 -11
  32. package/esm2020/directives/index.mjs +2 -0
  33. package/esm2020/directives/text-field-controller/index.mjs +9 -0
  34. package/esm2020/directives/text-field-controller/text-field-controller.module.mjs +40 -0
  35. package/esm2020/directives/text-field-controller/text-field-controller.provider.mjs +24 -0
  36. package/esm2020/directives/text-field-controller/text-field-icon-left.directive.mjs +21 -0
  37. package/esm2020/directives/text-field-controller/text-field-id.directive.mjs +21 -0
  38. package/esm2020/directives/text-field-controller/text-field-is-error.directive.mjs +24 -0
  39. package/esm2020/directives/text-field-controller/text-field-placeholder.directive.mjs +21 -0
  40. package/esm2020/directives/text-field-controller/text-field-size.directive.mjs +24 -0
  41. package/esm2020/directives/text-field-controller/text-field.controller.mjs +25 -0
  42. package/esm2020/index.mjs +3 -2
  43. package/esm2020/interfaces/context-menu-item.mjs +1 -1
  44. package/fesm2015/cuby-ui-core.mjs +359 -105
  45. package/fesm2015/cuby-ui-core.mjs.map +1 -1
  46. package/fesm2020/cuby-ui-core.mjs +359 -105
  47. package/fesm2020/cuby-ui-core.mjs.map +1 -1
  48. package/index.d.ts +2 -1
  49. package/interfaces/context-menu-item.d.ts +1 -0
  50. package/package.json +3 -3
  51. package/styles/mixins/buttons.scss +2 -0
  52. package/styles/mixins/inputs.scss +8 -1
  53. package/styles/variables/colors.scss +3 -0
@@ -5,17 +5,22 @@ import * as i0 from "@angular/core";
5
5
  export declare class CuiButtonComponent implements CuiButtonOptions, AfterViewInit {
6
6
  private readonly changeDetectorRef;
7
7
  private readonly cuiButtonOptions;
8
+ protected readonly COLOR_BASE_500 = "var(--cui-base-500)";
9
+ protected readonly BUTTON_ICONS_COLOR_BASE_500: CuiButtonOptions['appearance'][];
10
+ protected _appearance: "link" | "accent" | "secondary" | "outlined" | "outlined-gray" | "ghost" | "destructive";
11
+ protected iconColor: string;
8
12
  protected _size: "xxs" | "xs" | "sm" | "md";
9
- protected svgOptions: {
13
+ protected iconDimensions: {
10
14
  width: number;
11
15
  height: number;
12
16
  };
13
- appearance: "link" | "accent" | "secondary" | "outlined" | "outlined-gray" | "ghost" | "destructive";
14
17
  shape: "rounded" | null;
15
18
  disabled: boolean;
16
19
  isLoaderShown: boolean;
17
20
  icon?: CuiIcon | string;
18
21
  iconRight?: CuiIcon | string;
22
+ get appearance(): CuiButtonOptions['appearance'];
23
+ set appearance(appearance: CuiButtonOptions['appearance']);
19
24
  get size(): CuiButtonOptions['size'];
20
25
  set size(size: CuiButtonOptions['size']);
21
26
  protected containsOnlyIcon: boolean;
@@ -24,5 +29,5 @@ export declare class CuiButtonComponent implements CuiButtonOptions, AfterViewIn
24
29
  ngAfterViewInit(): void;
25
30
  private initContainsOnlyIcon;
26
31
  static ɵfac: i0.ɵɵFactoryDeclaration<CuiButtonComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<CuiButtonComponent, "button[cuiButton], a[cuiButton]", never, { "appearance": "appearance"; "shape": "shape"; "disabled": "disabled"; "isLoaderShown": "isLoaderShown"; "icon": "icon"; "iconRight": "iconRight"; "size": "size"; }, {}, never, ["*"], false, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuiButtonComponent, "button[cuiButton], a[cuiButton]", never, { "shape": "shape"; "disabled": "disabled"; "isLoaderShown": "isLoaderShown"; "icon": "icon"; "iconRight": "iconRight"; "appearance": "appearance"; "size": "size"; }, {}, never, ["*"], false, never>;
28
33
  }
@@ -1,10 +1,13 @@
1
1
  import { ElementRef } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import { CuiNullable, CuiOnChange, CuiOnTouched } from '@cuby-ui/cdk';
4
+ import { CuiIcon } from '@cuby-ui/icons';
4
5
  import { CuiInputNumberOptions } from './input-number.options';
6
+ import { CuiSizeMd, CuiSizeSm } from '../../types';
5
7
  import * as i0 from "@angular/core";
6
8
  export declare class CuiInputNumberComponent implements CuiInputNumberOptions, ControlValueAccessor {
7
9
  private readonly changeDetectorRef;
10
+ private readonly cuiTextFieldController;
8
11
  private readonly cuiInputNumberOptions;
9
12
  protected readonly MIN_JS_NUMBER: number;
10
13
  protected readonly MAX_JS_NUMBER: number;
@@ -18,13 +21,15 @@ export declare class CuiInputNumberComponent implements CuiInputNumberOptions, C
18
21
  protected onTouched: CuiOnTouched;
19
22
  step: number;
20
23
  precision: number;
21
- isError: boolean;
22
- inputId?: string;
23
- inputPlaceholder?: string;
24
- set min(value: number);
25
- set max(value: number);
24
+ set min(min: number);
25
+ set max(max: number);
26
26
  protected isDisabled: boolean;
27
27
  protected input: ElementRef<HTMLInputElement>;
28
+ protected get id(): string | undefined;
29
+ protected get placeholder(): string | undefined;
30
+ protected get iconLeft(): CuiIcon | string | undefined;
31
+ protected get size(): CuiSizeSm | CuiSizeMd;
32
+ protected get isError(): boolean;
28
33
  writeValue(value: CuiNullable<number>): void;
29
34
  registerOnChange(fn: CuiOnChange<number>): void;
30
35
  registerOnTouched(fn: CuiOnTouched): void;
@@ -46,5 +51,5 @@ export declare class CuiInputNumberComponent implements CuiInputNumberOptions, C
46
51
  private calculateValidMinValue;
47
52
  private calculateValidMaxValue;
48
53
  static ɵfac: i0.ɵɵFactoryDeclaration<CuiInputNumberComponent, never>;
49
- static ɵcmp: i0.ɵɵComponentDeclaration<CuiInputNumberComponent, "cui-input-number", never, { "step": "step"; "precision": "precision"; "isError": "isError"; "inputId": "inputId"; "inputPlaceholder": "inputPlaceholder"; "min": "min"; "max": "max"; }, {}, never, never, false, never>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuiInputNumberComponent, "cui-input-number", never, { "step": "step"; "precision": "precision"; "min": "min"; "max": "max"; }, {}, never, never, false, never>;
50
55
  }
@@ -1,10 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./input-number.component";
3
3
  import * as i2 from "@angular/common";
4
- import * as i3 from "../svg/svg.module";
5
- import * as i4 from "@angular/forms";
4
+ import * as i3 from "@angular/forms";
5
+ import * as i4 from "../svg/svg.module";
6
+ import * as i5 from "../../directives/text-field-controller/text-field-controller.module";
6
7
  export declare class CuiInputNumberModule {
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<CuiInputNumberModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<CuiInputNumberModule, [typeof i1.CuiInputNumberComponent], [typeof i2.CommonModule, typeof i3.CuiSvgModule, typeof i4.FormsModule], [typeof i1.CuiInputNumberComponent]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CuiInputNumberModule, [typeof i1.CuiInputNumberComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.CuiSvgModule], [typeof i1.CuiInputNumberComponent, typeof i5.CuiTextFieldControllerModule]>;
9
10
  static ɵinj: i0.ɵɵInjectorDeclaration<CuiInputNumberModule>;
10
11
  }
@@ -1,21 +1,25 @@
1
1
  import { ControlValueAccessor } from '@angular/forms';
2
2
  import { CuiInputType, CuiNullable, CuiOnChange, CuiOnTouched } from '@cuby-ui/cdk';
3
3
  import { CuiIcon } from '@cuby-ui/icons';
4
+ import { CuiSizeMd, CuiSizeSm } from '../../types';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class CuiInputPasswordComponent implements ControlValueAccessor {
6
7
  private readonly changeDetectorRef;
8
+ private readonly cuiTextFieldController;
7
9
  protected isPasswordHidden: boolean;
8
10
  protected value: CuiNullable<string>;
9
11
  protected onChange: CuiOnChange<string>;
10
12
  protected onTouched: CuiOnTouched;
11
- isError: boolean;
12
- inputId?: string;
13
- inputPlaceholder?: string;
14
13
  protected isDisabled: boolean;
14
+ protected get id(): string | undefined;
15
+ protected get placeholder(): string | undefined;
16
+ protected get iconLeft(): CuiIcon | string | undefined;
15
17
  protected get isToggleButtonShown(): boolean;
16
18
  protected get icon(): CuiIcon;
17
19
  protected get type(): CuiInputType;
18
20
  protected get buttonTitle(): string;
21
+ protected get size(): CuiSizeSm | CuiSizeMd;
22
+ protected get isError(): boolean;
19
23
  writeValue(value: CuiNullable<string>): void;
20
24
  registerOnChange(fn: CuiOnChange<string>): void;
21
25
  registerOnTouched(fn: CuiOnTouched): void;
@@ -23,5 +27,5 @@ export declare class CuiInputPasswordComponent implements ControlValueAccessor {
23
27
  protected onInput({ target }: Event): void;
24
28
  protected onTogglePasswordVisibility(): void;
25
29
  static ɵfac: i0.ɵɵFactoryDeclaration<CuiInputPasswordComponent, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<CuiInputPasswordComponent, "cui-input-password", never, { "isError": "isError"; "inputId": "inputId"; "inputPlaceholder": "inputPlaceholder"; }, {}, never, never, false, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuiInputPasswordComponent, "cui-input-password", never, {}, {}, never, never, false, never>;
27
31
  }
@@ -3,8 +3,9 @@ import * as i1 from "./input-password.component";
3
3
  import * as i2 from "@angular/common";
4
4
  import * as i3 from "@angular/forms";
5
5
  import * as i4 from "../svg/svg.module";
6
+ import * as i5 from "../../directives/text-field-controller/text-field-controller.module";
6
7
  export declare class CuiInputPasswordModule {
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<CuiInputPasswordModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<CuiInputPasswordModule, [typeof i1.CuiInputPasswordComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.CuiSvgModule], [typeof i1.CuiInputPasswordComponent]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CuiInputPasswordModule, [typeof i1.CuiInputPasswordComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.CuiSvgModule], [typeof i1.CuiInputPasswordComponent, typeof i5.CuiTextFieldControllerModule]>;
9
10
  static ɵinj: i0.ɵɵInjectorDeclaration<CuiInputPasswordModule>;
10
11
  }
@@ -2,19 +2,22 @@ import { ElementRef } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import { CuiOnChange, CuiOnTouched, CuiNullable } from '@cuby-ui/cdk';
4
4
  import { CuiIcon } from '@cuby-ui/icons';
5
+ import { CuiSizeMd, CuiSizeSm } from '../../types';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class CuiInputTextComponent implements ControlValueAccessor {
7
- private changeDetectorRef;
8
+ private readonly changeDetectorRef;
9
+ private readonly cuiTextFieldController;
8
10
  protected value: CuiNullable<string>;
9
11
  protected onChange: CuiOnChange<string>;
10
12
  protected onTouched: CuiOnTouched;
11
- isError: boolean;
12
- inputId?: string;
13
- inputPlaceholder?: string;
14
- iconLeft?: CuiIcon | string;
15
13
  protected isDisabled: boolean;
16
14
  protected input: ElementRef<HTMLInputElement>;
15
+ protected get id(): string | undefined;
16
+ protected get placeholder(): string | undefined;
17
+ protected get iconLeft(): CuiIcon | string | undefined;
17
18
  protected get isClearButtonShown(): boolean;
19
+ protected get size(): CuiSizeSm | CuiSizeMd;
20
+ protected get isError(): boolean;
18
21
  writeValue(value: CuiNullable<string>): void;
19
22
  registerOnChange(fn: CuiOnChange<string>): void;
20
23
  registerOnTouched(fn: CuiOnTouched): void;
@@ -24,5 +27,5 @@ export declare class CuiInputTextComponent implements ControlValueAccessor {
24
27
  protected onFocus(): void;
25
28
  private changeModel;
26
29
  static ɵfac: i0.ɵɵFactoryDeclaration<CuiInputTextComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<CuiInputTextComponent, "cui-input-text", never, { "isError": "isError"; "inputId": "inputId"; "inputPlaceholder": "inputPlaceholder"; "iconLeft": "iconLeft"; }, {}, never, never, false, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuiInputTextComponent, "cui-input-text", never, {}, {}, never, never, false, never>;
28
31
  }
@@ -3,8 +3,9 @@ import * as i1 from "./input-text.component";
3
3
  import * as i2 from "@angular/common";
4
4
  import * as i3 from "@angular/forms";
5
5
  import * as i4 from "../svg/svg.module";
6
+ import * as i5 from "../../directives/text-field-controller/text-field-controller.module";
6
7
  export declare class CuiInputModule {
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<CuiInputModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<CuiInputModule, [typeof i1.CuiInputTextComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.CuiSvgModule], [typeof i1.CuiInputTextComponent]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CuiInputModule, [typeof i1.CuiInputTextComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.CuiSvgModule], [typeof i1.CuiInputTextComponent, typeof i5.CuiTextFieldControllerModule]>;
9
10
  static ɵinj: i0.ɵɵInjectorDeclaration<CuiInputModule>;
10
11
  }
@@ -1,21 +1,16 @@
1
- import { AfterViewInit } from '@angular/core';
2
1
  import { SafeHtml } from '@angular/platform-browser';
3
2
  import { CuiIcon } from '@cuby-ui/icons';
4
3
  import * as i0 from "@angular/core";
5
- export declare class CuiSvgComponent implements AfterViewInit {
4
+ export declare class CuiSvgComponent {
6
5
  private readonly domSanitizer;
7
- private readonly element;
8
- protected readonly STROKE_WIDTH_ATTRIBUTE = "stroke-width";
9
6
  protected safeSvgContent: SafeHtml;
10
- protected _strokeWidth?: number;
11
7
  width?: number;
12
8
  height?: number;
9
+ strokeWidth?: number;
13
10
  color?: string;
14
11
  set icon(icon: CuiIcon | string);
15
- set strokeWidth(strokeWidth: number | undefined);
16
- protected get isWithColor(): boolean;
17
- ngAfterViewInit(): void;
18
- private updateStrokeWidth;
12
+ get isWithStrokeWidth(): boolean;
13
+ get isWithColor(): boolean;
19
14
  static ɵfac: i0.ɵɵFactoryDeclaration<CuiSvgComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<CuiSvgComponent, "cui-svg[icon]", never, { "width": "width"; "height": "height"; "color": "color"; "icon": "icon"; "strokeWidth": "strokeWidth"; }, {}, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuiSvgComponent, "cui-svg[icon]", never, { "width": "width"; "height": "height"; "strokeWidth": "strokeWidth"; "color": "color"; "icon": "icon"; }, {}, never, never, false, never>;
21
16
  }
@@ -1,8 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "@cuby-ui/cdk";
3
3
  export declare class CuiTextareaComponent {
4
- isError: boolean;
4
+ private readonly cuiTextFieldController;
5
5
  rows: number;
6
+ protected get isError(): boolean;
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<CuiTextareaComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<CuiTextareaComponent, "textarea[cuiTextarea]", never, { "isError": "isError"; "rows": "rows"; }, {}, never, never, false, [{ directive: typeof i1.CuiAutoResizingDirective; inputs: {}; outputs: {}; }]>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuiTextareaComponent, "textarea[cuiTextarea]", never, { "rows": "rows"; }, {}, never, never, false, [{ directive: typeof i1.CuiAutoResizingDirective; inputs: {}; outputs: {}; }]>;
8
9
  }
@@ -0,0 +1 @@
1
+ export * from './text-field-controller';
@@ -0,0 +1,8 @@
1
+ export * from './text-field.controller';
2
+ export * from './text-field-controller.module';
3
+ export * from './text-field-controller.provider';
4
+ export * from './text-field-icon-left.directive';
5
+ export * from './text-field-id.directive';
6
+ export * from './text-field-is-error.directive';
7
+ export * from './text-field-placeholder.directive';
8
+ export * from './text-field-size.directive';
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./text-field-icon-left.directive";
3
+ import * as i2 from "./text-field-id.directive";
4
+ import * as i3 from "./text-field-placeholder.directive";
5
+ import * as i4 from "./text-field-is-error.directive";
6
+ import * as i5 from "./text-field-size.directive";
7
+ export declare class CuiTextFieldControllerModule {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiTextFieldControllerModule, never>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CuiTextFieldControllerModule, [typeof i1.CuiTextFieldIconLeftDirective, typeof i2.CuiTextFieldIdDirective, typeof i3.CuiTextFieldPlaceholderDirective, typeof i4.CuiTextFieldIsErrorDirective, typeof i5.CuiTextFieldSizeDirective], never, [typeof i1.CuiTextFieldIconLeftDirective, typeof i2.CuiTextFieldIdDirective, typeof i3.CuiTextFieldPlaceholderDirective, typeof i4.CuiTextFieldIsErrorDirective, typeof i5.CuiTextFieldSizeDirective]>;
10
+ static ɵinj: i0.ɵɵInjectorDeclaration<CuiTextFieldControllerModule>;
11
+ }
@@ -0,0 +1,4 @@
1
+ import { InjectionToken, Provider } from '@angular/core';
2
+ import { CuiTextFieldController } from './text-field.controller';
3
+ export declare const CUI_TEXT_FIELD_CONTROLLER: InjectionToken<CuiTextFieldController>;
4
+ export declare const CUI_TEXT_FILED_CONTROLLER_PROVIDER: Provider;
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { CuiIcon } from '@cuby-ui/icons';
3
+ import * as i0 from "@angular/core";
4
+ export declare const CUI_TEXT_FIELD_ICON_LEFT: InjectionToken<CuiTextFieldIconLeftDirective>;
5
+ export declare class CuiTextFieldIconLeftDirective {
6
+ iconLeft?: CuiIcon | string;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiTextFieldIconLeftDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiTextFieldIconLeftDirective, "[cuiTextFieldIconLeft]", never, { "iconLeft": "cuiTextFieldIconLeft"; }, {}, never, never, false, never>;
9
+ }
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare const CUI_TEXT_FIELD_ID: InjectionToken<CuiTextFieldIdDirective>;
4
+ export declare class CuiTextFieldIdDirective {
5
+ id?: string;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiTextFieldIdDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiTextFieldIdDirective, "[cuiTextFieldId]", never, { "id": "cuiTextFieldId"; }, {}, never, never, false, never>;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare const CUI_TEXT_FIELD_IS_ERROR: InjectionToken<CuiTextFieldIsErrorDirective>;
4
+ export declare class CuiTextFieldIsErrorDirective {
5
+ isError: boolean;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiTextFieldIsErrorDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiTextFieldIsErrorDirective, "[cuiTextFieldIsError]", never, { "isError": "cuiTextFieldIsError"; }, {}, never, never, false, never>;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare const CUI_TEXT_FIELD_PLACEHOLDER: InjectionToken<CuiTextFieldPlaceholderDirective>;
4
+ export declare class CuiTextFieldPlaceholderDirective {
5
+ placeholder?: string;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiTextFieldPlaceholderDirective, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiTextFieldPlaceholderDirective, "[cuiTextFieldPlaceholder]", never, { "placeholder": "cuiTextFieldPlaceholder"; }, {}, never, never, false, never>;
8
+ }
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import type { CuiSizeMd, CuiSizeSm } from '../../types';
3
+ import * as i0 from "@angular/core";
4
+ export declare const CUI_TEXT_FIELD_SIZE: InjectionToken<CuiTextFieldSizeDirective>;
5
+ export declare class CuiTextFieldSizeDirective {
6
+ size: CuiSizeSm | CuiSizeMd;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuiTextFieldSizeDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuiTextFieldSizeDirective, "[cuiTextFieldSize]", never, { "size": "cuiTextFieldSize"; }, {}, never, never, false, never>;
9
+ }
@@ -0,0 +1,20 @@
1
+ import type { CuiIcon } from '@cuby-ui/icons';
2
+ import type { CuiTextFieldSizeDirective } from './text-field-size.directive';
3
+ import type { CuiTextFieldIdDirective } from './text-field-id.directive';
4
+ import type { CuiTextFieldIconLeftDirective } from './text-field-icon-left.directive';
5
+ import type { CuiTextFieldPlaceholderDirective } from './text-field-placeholder.directive';
6
+ import type { CuiTextFieldIsErrorDirective } from './text-field-is-error.directive';
7
+ import type { CuiSizeMd, CuiSizeSm } from '../../types';
8
+ export declare class CuiTextFieldController {
9
+ private readonly iconLeftDirective;
10
+ private readonly idDirective;
11
+ private readonly isErrorDirective;
12
+ private readonly placeholderDirective;
13
+ private readonly sizeDirective;
14
+ constructor(iconLeftDirective: CuiTextFieldIconLeftDirective, idDirective: CuiTextFieldIdDirective, isErrorDirective: CuiTextFieldIsErrorDirective, placeholderDirective: CuiTextFieldPlaceholderDirective, sizeDirective: CuiTextFieldSizeDirective);
15
+ get iconLeft(): CuiIcon | string | undefined;
16
+ get id(): string | undefined;
17
+ get isError(): boolean;
18
+ get placeholder(): string | undefined;
19
+ get size(): CuiSizeSm | CuiSizeMd;
20
+ }
@@ -11,7 +11,7 @@ export class CuiAccordionItemComponent {
11
11
  }
12
12
  }
13
13
  CuiAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- CuiAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiAccordionItemComponent, selector: "cui-accordion-item", ngImport: i0, template: "<header class=\"c-header\">\n <span>\n <ng-content></ng-content>\n </span>\n <button\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconChevronDown\"\n (click)=\"onRowToggle()\"\n [class.c-button_opened]=\"isOpen\"\n ></button>\n</header>\n<div *ngIf=\"isOpen\">\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\n</div>\n", styles: [":host{padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}.c-header{font-weight:400;font-size:12px;line-height:14px;display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--cui-base-900);font-family:var(--cui-main-font);text-transform:uppercase}.c-button_opened{transform:rotate(180deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["appearance", "shape", "disabled", "isLoaderShown", "icon", "iconRight", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ CuiAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiAccordionItemComponent, selector: "cui-accordion-item", ngImport: i0, template: "<header class=\"c-header\">\n <span>\n <ng-content></ng-content>\n </span>\n <button\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconChevronDown\"\n (click)=\"onRowToggle()\"\n [class.c-button_opened]=\"isOpen\"\n ></button>\n</header>\n<div *ngIf=\"isOpen\">\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\n</div>\n", styles: [":host{padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}.c-header{font-weight:400;font-size:12px;line-height:14px;display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--cui-base-900);font-family:var(--cui-main-font);text-transform:uppercase}.c-button_opened{transform:rotate(180deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionItemComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ selector: 'cui-accordion-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<header class=\"c-header\">\n <span>\n <ng-content></ng-content>\n </span>\n <button\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconChevronDown\"\n (click)=\"onRowToggle()\"\n [class.c-button_opened]=\"isOpen\"\n ></button>\n</header>\n<div *ngIf=\"isOpen\">\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\n</div>\n", styles: [":host{padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--cui-base-10);border-radius:8px}.c-header{font-weight:400;font-size:12px;line-height:14px;display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--cui-base-900);font-family:var(--cui-main-font);text-transform:uppercase}.c-button_opened{transform:rotate(180deg)}\n"] }]
@@ -7,30 +7,49 @@ export class CuiButtonComponent {
7
7
  constructor() {
8
8
  this.changeDetectorRef = inject(ChangeDetectorRef);
9
9
  this.cuiButtonOptions = inject(CUI_BUTTON_OPTIONS);
10
+ this.COLOR_BASE_500 = 'var(--cui-base-500)';
11
+ this.BUTTON_ICONS_COLOR_BASE_500 = [
12
+ 'secondary',
13
+ 'outlined',
14
+ 'outlined-gray',
15
+ 'ghost'
16
+ ];
17
+ this._appearance = this.cuiButtonOptions.appearance;
18
+ this.iconColor = 'currentColor';
10
19
  this._size = this.cuiButtonOptions.size;
11
- this.svgOptions = {
20
+ this.iconDimensions = {
12
21
  width: 20,
13
22
  height: 20
14
23
  };
15
- this.appearance = this.cuiButtonOptions.appearance;
16
24
  this.shape = this.cuiButtonOptions.shape;
17
25
  this.disabled = false;
18
26
  this.isLoaderShown = false;
19
27
  this.containsOnlyIcon = false;
20
28
  }
29
+ get appearance() {
30
+ return this._appearance;
31
+ }
32
+ set appearance(appearance) {
33
+ this._appearance = appearance;
34
+ if (this.BUTTON_ICONS_COLOR_BASE_500.includes(appearance)) {
35
+ this.iconColor = this.COLOR_BASE_500;
36
+ return;
37
+ }
38
+ this.iconColor = 'currentColor';
39
+ }
21
40
  get size() {
22
41
  return this._size;
23
42
  }
24
43
  set size(size) {
25
44
  this._size = size;
26
45
  if (size === 'xxs') {
27
- this.svgOptions = {
46
+ this.iconDimensions = {
28
47
  width: 16,
29
48
  height: 16
30
49
  };
31
50
  return;
32
51
  }
33
- this.svgOptions = {
52
+ this.iconDimensions = {
34
53
  width: 20,
35
54
  height: 20
36
55
  };
@@ -49,16 +68,11 @@ export class CuiButtonComponent {
49
68
  }
50
69
  }
51
70
  CuiButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
- CuiButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: { appearance: "appearance", shape: "shape", disabled: "disabled", isLoaderShown: "isLoaderShown", icon: "icon", iconRight: "iconRight", size: "size" }, host: { properties: { "attr.data-appearance": "this.appearance", "attr.data-shape": "this.shape", "class._disabled": "this.disabled", "class._loading": "this.isLoaderShown", "attr.data-size": "this.size", "class._only-icon": "this.containsOnlyIcon", "disabled": "this.isDisabled" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<span\n class=\"c-wrapper\"\n [class.c-wrapper_invisible]=\"isLoaderShown\"\n>\n <cui-svg\n *ngIf=\"icon\"\n [icon]=\"icon\"\n [width]=\"svgOptions.width\"\n [height]=\"svgOptions.height\"\n class=\"c-icon\"\n ></cui-svg>\n <span\n #content\n *ngIf=\"!containsOnlyIcon\"\n >\n <ng-content></ng-content>\n </span>\n <cui-svg\n *ngIf=\"iconRight\"\n [icon]=\"iconRight\"\n [width]=\"svgOptions.width\"\n [height]=\"svgOptions.height\"\n class=\"c-icon\"\n ></cui-svg>\n</span>\n<cui-svg\n *ngIf=\"isLoaderShown\"\n icon=\"cuiIconLoading\"\n class=\"c-loader\"\n></cui-svg>\n", styles: [":host{padding:0;border:0;outline:none;cursor:pointer;appearance:none;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;font-weight:500;font-size:14px;line-height:20px;display:inline-block;position:relative;box-sizing:border-box;border-radius:8px;font-family:var(--cui-main-font)}:host:disabled{cursor:not-allowed}:host[data-shape=rounded]{border-radius:20px}:host[data-appearance=accent]{background:var(--cui-accent-800);color:var(--cui-base-0)}@media (hover: hover){:host[data-appearance=accent]:hover{background:var(--cui-accent-900)}}:host[data-appearance=accent]:active{background:var(--cui-accent-900)}:host[data-appearance=accent]:disabled{background:var(--cui-accent-800)}:host[data-appearance=secondary]{background:var(--cui-base-100);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=secondary]:hover{background:var(--cui-base-200)}}:host[data-appearance=secondary]:active{background:var(--cui-base-200)}:host[data-appearance=secondary]:disabled{background:var(--cui-base-100)}:host[data-appearance=secondary] .c-icon ::ng-deep path{stroke:var(--cui-base-500)}:host[data-appearance=outlined]{border:1px solid var(--cui-base-200);background:var(--cui-base-0);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined]:active{background:var(--cui-base-50)}:host[data-appearance=outlined]:disabled{background:var(--cui-base-0)}:host[data-appearance=outlined] .c-icon ::ng-deep path{stroke:var(--cui-base-500)}:host[data-appearance=outlined-gray]{border:1px solid var(--cui-base-200);background:var(--cui-base-10);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined-gray]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined-gray]:active{background:var(--cui-base-50)}:host[data-appearance=outlined-gray]:disabled{background:var(--cui-base-10)}:host[data-appearance=outlined-gray] .c-icon ::ng-deep path{stroke:var(--cui-base-500)}:host[data-appearance=ghost]{color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=ghost]:hover{background:var(--cui-base-50)}}:host[data-appearance=ghost]:active{background:var(--cui-base-50)}:host[data-appearance=ghost]:disabled{background:inherit}:host[data-appearance=ghost] .c-icon ::ng-deep path{stroke:var(--cui-base-500)}:host[data-appearance=destructive]{background:var(--cui-error-500);color:var(--cui-base-0)}@media (hover: hover){:host[data-appearance=destructive]:hover{background:var(--cui-error-600)}}:host[data-appearance=destructive]:active{background:var(--cui-error-600)}:host[data-appearance=destructive]:disabled{background:var(--cui-error-500)}:host[data-appearance=link]{height:24px!important;padding:0 4px!important;color:var(--cui-info-600)}@media (hover: hover){:host[data-appearance=link]:hover{color:var(--cui-info-900)}}:host[data-appearance=link]:active{color:var(--cui-info-900)}:host[data-appearance=link]:disabled{color:var(--cui-info-600)}:host[data-size=xxs]{font-size:12px;line-height:14px;height:28px;padding:0 8px}:host[data-size=xxs][data-appearance=outlined],:host[data-size=xxs][data-appearance=outlined-gray]{padding:0 7px}:host[data-size=xxs]._only-icon{width:28px}:host[data-size=xxs] .c-wrapper{gap:6px}:host[data-size=xs]{font-size:13px;line-height:16px;height:32px;padding:0 12px}:host[data-size=xs][data-appearance=outlined],:host[data-size=xs][data-appearance=outlined-gray]{padding:0 11px}:host[data-size=xs]._only-icon{width:32px}:host[data-size=sm]{height:36px;padding:0 14px}:host[data-size=sm][data-appearance=outlined],:host[data-size=sm][data-appearance=outlined-gray]{padding:0 13px}:host[data-size=sm]._only-icon{width:36px}:host[data-size=md]{height:40px;padding:0 16px}:host[data-size=md][data-appearance=outlined],:host[data-size=md][data-appearance=outlined-gray]{padding:0 15px}:host[data-size=md]._only-icon{width:40px}:host._disabled{opacity:.5}.c-wrapper{display:flex;justify-content:center;align-items:center;gap:8px;height:100%}.c-wrapper_invisible{opacity:0}.c-icon ::ng-deep path{stroke:currentColor}.c-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "color", "icon", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
71
+ CuiButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: { shape: "shape", disabled: "disabled", isLoaderShown: "isLoaderShown", icon: "icon", iconRight: "iconRight", appearance: "appearance", size: "size" }, host: { properties: { "attr.data-shape": "this.shape", "class._disabled": "this.disabled", "class._loading": "this.isLoaderShown", "attr.data-appearance": "this.appearance", "attr.data-size": "this.size", "class._only-icon": "this.containsOnlyIcon", "disabled": "this.isDisabled" } }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<span\n class=\"c-wrapper\"\n [class.c-wrapper_invisible]=\"isLoaderShown\"\n>\n <cui-svg\n *ngIf=\"icon\"\n [icon]=\"icon\"\n [width]=\"iconDimensions.width\"\n [height]=\"iconDimensions.height\"\n [color]=\"iconColor\"\n ></cui-svg>\n <span\n #content\n *ngIf=\"!containsOnlyIcon\"\n >\n <ng-content></ng-content>\n </span>\n <cui-svg\n *ngIf=\"iconRight\"\n [icon]=\"iconRight\"\n [width]=\"iconDimensions.width\"\n [height]=\"iconDimensions.height\"\n [color]=\"iconColor\"\n ></cui-svg>\n</span>\n<cui-svg\n *ngIf=\"isLoaderShown\"\n icon=\"cuiIconLoading\"\n class=\"c-loader\"\n></cui-svg>\n", styles: [":host{padding:0;border:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;font-weight:500;font-size:14px;line-height:20px;display:inline-block;position:relative;box-sizing:border-box;border-radius:8px;font-family:var(--cui-main-font)}:host:disabled{cursor:not-allowed}:host[data-shape=rounded]{border-radius:20px}:host[data-appearance=accent]{background:var(--cui-accent-800);color:var(--cui-base-0)}@media (hover: hover){:host[data-appearance=accent]:hover{background:var(--cui-accent-900)}}:host[data-appearance=accent]:active{background:var(--cui-accent-900)}:host[data-appearance=accent]:disabled{background:var(--cui-accent-800)}:host[data-appearance=secondary]{background:var(--cui-base-100);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=secondary]:hover{background:var(--cui-base-200)}}:host[data-appearance=secondary]:active{background:var(--cui-base-200)}:host[data-appearance=secondary]:disabled{background:var(--cui-base-100)}:host[data-appearance=outlined]{border:1px solid var(--cui-base-200);background:var(--cui-base-0);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined]:active{background:var(--cui-base-50)}:host[data-appearance=outlined]:disabled{background:var(--cui-base-0)}:host[data-appearance=outlined-gray]{border:1px solid var(--cui-base-200);background:var(--cui-base-10);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined-gray]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined-gray]:active{background:var(--cui-base-50)}:host[data-appearance=outlined-gray]:disabled{background:var(--cui-base-10)}:host[data-appearance=ghost]{color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=ghost]:hover{background:var(--cui-base-50)}}:host[data-appearance=ghost]:active{background:var(--cui-base-50)}:host[data-appearance=ghost]:disabled{background:inherit}:host[data-appearance=destructive]{background:var(--cui-error-500);color:var(--cui-base-0)}@media (hover: hover){:host[data-appearance=destructive]:hover{background:var(--cui-error-600)}}:host[data-appearance=destructive]:active{background:var(--cui-error-600)}:host[data-appearance=destructive]:disabled{background:var(--cui-error-500)}:host[data-appearance=link]{height:24px!important;padding:0 4px!important;color:var(--cui-info-600)}@media (hover: hover){:host[data-appearance=link]:hover{color:var(--cui-info-900)}}:host[data-appearance=link]:active{color:var(--cui-info-900)}:host[data-appearance=link]:disabled{color:var(--cui-info-600)}:host[data-size=xxs]{font-size:12px;line-height:14px;height:28px;padding:0 8px}:host[data-size=xxs][data-appearance=outlined],:host[data-size=xxs][data-appearance=outlined-gray]{padding:0 7px}:host[data-size=xxs]._only-icon{width:28px}:host[data-size=xxs] .c-wrapper{gap:6px}:host[data-size=xs]{font-size:13px;line-height:16px;height:32px;padding:0 12px}:host[data-size=xs][data-appearance=outlined],:host[data-size=xs][data-appearance=outlined-gray]{padding:0 11px}:host[data-size=xs]._only-icon{width:32px}:host[data-size=sm]{height:36px;padding:0 14px}:host[data-size=sm][data-appearance=outlined],:host[data-size=sm][data-appearance=outlined-gray]{padding:0 13px}:host[data-size=sm]._only-icon{width:36px}:host[data-size=md]{height:40px;padding:0 16px}:host[data-size=md][data-appearance=outlined],:host[data-size=md][data-appearance=outlined-gray]{padding:0 15px}:host[data-size=md]._only-icon{width:40px}:host._disabled{opacity:.5}.c-wrapper{display:flex;justify-content:center;align-items:center;gap:8px;height:100%}.c-wrapper_invisible{opacity:0}.c-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
53
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiButtonComponent, decorators: [{
54
73
  type: Component,
55
- args: [{ selector: 'button[cuiButton], a[cuiButton]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"c-wrapper\"\n [class.c-wrapper_invisible]=\"isLoaderShown\"\n>\n <cui-svg\n *ngIf=\"icon\"\n [icon]=\"icon\"\n [width]=\"svgOptions.width\"\n [height]=\"svgOptions.height\"\n class=\"c-icon\"\n ></cui-svg>\n <span\n #content\n *ngIf=\"!containsOnlyIcon\"\n >\n <ng-content></ng-content>\n </span>\n <cui-svg\n *ngIf=\"iconRight\"\n [icon]=\"iconRight\"\n [width]=\"svgOptions.width\"\n [height]=\"svgOptions.height\"\n class=\"c-icon\"\n ></cui-svg>\n</span>\n<cui-svg\n *ngIf=\"isLoaderShown\"\n icon=\"cuiIconLoading\"\n class=\"c-loader\"\n></cui-svg>\n", styles: [":host{padding:0;border:0;outline:none;cursor:pointer;appearance:none;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;font-weight:500;font-size:14px;line-height:20px;display:inline-block;position:relative;box-sizing:border-box;border-radius:8px;font-family:var(--cui-main-font)}:host:disabled{cursor:not-allowed}:host[data-shape=rounded]{border-radius:20px}:host[data-appearance=accent]{background:var(--cui-accent-800);color:var(--cui-base-0)}@media (hover: hover){:host[data-appearance=accent]:hover{background:var(--cui-accent-900)}}:host[data-appearance=accent]:active{background:var(--cui-accent-900)}:host[data-appearance=accent]:disabled{background:var(--cui-accent-800)}:host[data-appearance=secondary]{background:var(--cui-base-100);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=secondary]:hover{background:var(--cui-base-200)}}:host[data-appearance=secondary]:active{background:var(--cui-base-200)}:host[data-appearance=secondary]:disabled{background:var(--cui-base-100)}:host[data-appearance=secondary] .c-icon ::ng-deep path{stroke:var(--cui-base-500)}:host[data-appearance=outlined]{border:1px solid var(--cui-base-200);background:var(--cui-base-0);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined]:active{background:var(--cui-base-50)}:host[data-appearance=outlined]:disabled{background:var(--cui-base-0)}:host[data-appearance=outlined] .c-icon ::ng-deep path{stroke:var(--cui-base-500)}:host[data-appearance=outlined-gray]{border:1px solid var(--cui-base-200);background:var(--cui-base-10);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined-gray]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined-gray]:active{background:var(--cui-base-50)}:host[data-appearance=outlined-gray]:disabled{background:var(--cui-base-10)}:host[data-appearance=outlined-gray] .c-icon ::ng-deep path{stroke:var(--cui-base-500)}:host[data-appearance=ghost]{color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=ghost]:hover{background:var(--cui-base-50)}}:host[data-appearance=ghost]:active{background:var(--cui-base-50)}:host[data-appearance=ghost]:disabled{background:inherit}:host[data-appearance=ghost] .c-icon ::ng-deep path{stroke:var(--cui-base-500)}:host[data-appearance=destructive]{background:var(--cui-error-500);color:var(--cui-base-0)}@media (hover: hover){:host[data-appearance=destructive]:hover{background:var(--cui-error-600)}}:host[data-appearance=destructive]:active{background:var(--cui-error-600)}:host[data-appearance=destructive]:disabled{background:var(--cui-error-500)}:host[data-appearance=link]{height:24px!important;padding:0 4px!important;color:var(--cui-info-600)}@media (hover: hover){:host[data-appearance=link]:hover{color:var(--cui-info-900)}}:host[data-appearance=link]:active{color:var(--cui-info-900)}:host[data-appearance=link]:disabled{color:var(--cui-info-600)}:host[data-size=xxs]{font-size:12px;line-height:14px;height:28px;padding:0 8px}:host[data-size=xxs][data-appearance=outlined],:host[data-size=xxs][data-appearance=outlined-gray]{padding:0 7px}:host[data-size=xxs]._only-icon{width:28px}:host[data-size=xxs] .c-wrapper{gap:6px}:host[data-size=xs]{font-size:13px;line-height:16px;height:32px;padding:0 12px}:host[data-size=xs][data-appearance=outlined],:host[data-size=xs][data-appearance=outlined-gray]{padding:0 11px}:host[data-size=xs]._only-icon{width:32px}:host[data-size=sm]{height:36px;padding:0 14px}:host[data-size=sm][data-appearance=outlined],:host[data-size=sm][data-appearance=outlined-gray]{padding:0 13px}:host[data-size=sm]._only-icon{width:36px}:host[data-size=md]{height:40px;padding:0 16px}:host[data-size=md][data-appearance=outlined],:host[data-size=md][data-appearance=outlined-gray]{padding:0 15px}:host[data-size=md]._only-icon{width:40px}:host._disabled{opacity:.5}.c-wrapper{display:flex;justify-content:center;align-items:center;gap:8px;height:100%}.c-wrapper_invisible{opacity:0}.c-icon ::ng-deep path{stroke:currentColor}.c-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\n"] }]
56
- }], propDecorators: { appearance: [{
57
- type: Input
58
- }, {
59
- type: HostBinding,
60
- args: ['attr.data-appearance']
61
- }], shape: [{
74
+ args: [{ selector: 'button[cuiButton], a[cuiButton]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"c-wrapper\"\n [class.c-wrapper_invisible]=\"isLoaderShown\"\n>\n <cui-svg\n *ngIf=\"icon\"\n [icon]=\"icon\"\n [width]=\"iconDimensions.width\"\n [height]=\"iconDimensions.height\"\n [color]=\"iconColor\"\n ></cui-svg>\n <span\n #content\n *ngIf=\"!containsOnlyIcon\"\n >\n <ng-content></ng-content>\n </span>\n <cui-svg\n *ngIf=\"iconRight\"\n [icon]=\"iconRight\"\n [width]=\"iconDimensions.width\"\n [height]=\"iconDimensions.height\"\n [color]=\"iconColor\"\n ></cui-svg>\n</span>\n<cui-svg\n *ngIf=\"isLoaderShown\"\n icon=\"cuiIconLoading\"\n class=\"c-loader\"\n></cui-svg>\n", styles: [":host{padding:0;border:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;font-weight:500;font-size:14px;line-height:20px;display:inline-block;position:relative;box-sizing:border-box;border-radius:8px;font-family:var(--cui-main-font)}:host:disabled{cursor:not-allowed}:host[data-shape=rounded]{border-radius:20px}:host[data-appearance=accent]{background:var(--cui-accent-800);color:var(--cui-base-0)}@media (hover: hover){:host[data-appearance=accent]:hover{background:var(--cui-accent-900)}}:host[data-appearance=accent]:active{background:var(--cui-accent-900)}:host[data-appearance=accent]:disabled{background:var(--cui-accent-800)}:host[data-appearance=secondary]{background:var(--cui-base-100);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=secondary]:hover{background:var(--cui-base-200)}}:host[data-appearance=secondary]:active{background:var(--cui-base-200)}:host[data-appearance=secondary]:disabled{background:var(--cui-base-100)}:host[data-appearance=outlined]{border:1px solid var(--cui-base-200);background:var(--cui-base-0);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined]:active{background:var(--cui-base-50)}:host[data-appearance=outlined]:disabled{background:var(--cui-base-0)}:host[data-appearance=outlined-gray]{border:1px solid var(--cui-base-200);background:var(--cui-base-10);color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=outlined-gray]:hover{background:var(--cui-base-50)}}:host[data-appearance=outlined-gray]:active{background:var(--cui-base-50)}:host[data-appearance=outlined-gray]:disabled{background:var(--cui-base-10)}:host[data-appearance=ghost]{color:var(--cui-base-900)}@media (hover: hover){:host[data-appearance=ghost]:hover{background:var(--cui-base-50)}}:host[data-appearance=ghost]:active{background:var(--cui-base-50)}:host[data-appearance=ghost]:disabled{background:inherit}:host[data-appearance=destructive]{background:var(--cui-error-500);color:var(--cui-base-0)}@media (hover: hover){:host[data-appearance=destructive]:hover{background:var(--cui-error-600)}}:host[data-appearance=destructive]:active{background:var(--cui-error-600)}:host[data-appearance=destructive]:disabled{background:var(--cui-error-500)}:host[data-appearance=link]{height:24px!important;padding:0 4px!important;color:var(--cui-info-600)}@media (hover: hover){:host[data-appearance=link]:hover{color:var(--cui-info-900)}}:host[data-appearance=link]:active{color:var(--cui-info-900)}:host[data-appearance=link]:disabled{color:var(--cui-info-600)}:host[data-size=xxs]{font-size:12px;line-height:14px;height:28px;padding:0 8px}:host[data-size=xxs][data-appearance=outlined],:host[data-size=xxs][data-appearance=outlined-gray]{padding:0 7px}:host[data-size=xxs]._only-icon{width:28px}:host[data-size=xxs] .c-wrapper{gap:6px}:host[data-size=xs]{font-size:13px;line-height:16px;height:32px;padding:0 12px}:host[data-size=xs][data-appearance=outlined],:host[data-size=xs][data-appearance=outlined-gray]{padding:0 11px}:host[data-size=xs]._only-icon{width:32px}:host[data-size=sm]{height:36px;padding:0 14px}:host[data-size=sm][data-appearance=outlined],:host[data-size=sm][data-appearance=outlined-gray]{padding:0 13px}:host[data-size=sm]._only-icon{width:36px}:host[data-size=md]{height:40px;padding:0 16px}:host[data-size=md][data-appearance=outlined],:host[data-size=md][data-appearance=outlined-gray]{padding:0 15px}:host[data-size=md]._only-icon{width:40px}:host._disabled{opacity:.5}.c-wrapper{display:flex;justify-content:center;align-items:center;gap:8px;height:100%}.c-wrapper_invisible{opacity:0}.c-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\n"] }]
75
+ }], propDecorators: { shape: [{
62
76
  type: Input
63
77
  }, {
64
78
  type: HostBinding,
@@ -77,6 +91,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
77
91
  type: Input
78
92
  }], iconRight: [{
79
93
  type: Input
94
+ }], appearance: [{
95
+ type: Input
96
+ }, {
97
+ type: HostBinding,
98
+ args: ['attr.data-appearance']
80
99
  }], size: [{
81
100
  type: Input
82
101
  }, {
@@ -92,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
92
111
  type: ViewChild,
93
112
  args: ['content']
94
113
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFReEUsTUFBTSxPQUFPLGtCQUFrQjtJQU4vQjtRQU9tQixzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5QyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVyRCxVQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUNuQyxlQUFVLEdBQUc7WUFDckIsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFJSyxlQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztRQUk5QyxVQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztRQUlwQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBaUNuQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7S0FxQnBDO0lBOUNDLElBRVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxJQUFJLENBQUMsSUFBOEI7UUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFFbEIsSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUc7Z0JBQ2hCLEtBQUssRUFBRSxFQUFFO2dCQUNULE1BQU0sRUFBRSxFQUFFO2FBQ1gsQ0FBQztZQUVGLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7SUFDSixDQUFDO0lBS0QsSUFDYyxVQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFLTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBRTVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2dIQTdFVSxrQkFBa0I7b0dBQWxCLGtCQUFrQix3bUJDckIvQixpbkJBOEJBOzRGRFRhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU07OEJBY3hDLFVBQVU7c0JBRmhCLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUs1QixLQUFLO3NCQUZYLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUt2QixRQUFRO3NCQUZkLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUt2QixhQUFhO3NCQUZuQixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFJdEIsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFLSyxJQUFJO3NCQUZkLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQXdCbkIsZ0JBQWdCO3NCQUR6QixXQUFXO3VCQUFDLGtCQUFrQjtnQkFJakIsVUFBVTtzQkFEdkIsV0FBVzt1QkFBQyxVQUFVO2dCQU1iLE9BQU87c0JBRGhCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3VpSWNvbiB9IGZyb20gJ0BjdWJ5LXVpL2ljb25zJztcblxuaW1wb3J0IHsgQ1VJX0JVVFRPTl9PUFRJT05TLCBDdWlCdXR0b25PcHRpb25zIH0gZnJvbSAnLi9idXR0b24ub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2J1dHRvbltjdWlCdXR0b25dLCBhW2N1aUJ1dHRvbl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLnRlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDdWlCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBDdWlCdXR0b25PcHRpb25zLCBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgY3VpQnV0dG9uT3B0aW9ucyA9IGluamVjdChDVUlfQlVUVE9OX09QVElPTlMpO1xuXG4gIHByb3RlY3RlZCBfc2l6ZSA9IHRoaXMuY3VpQnV0dG9uT3B0aW9ucy5zaXplO1xuICBwcm90ZWN0ZWQgc3ZnT3B0aW9ucyA9IHtcbiAgICB3aWR0aDogMjAsXG4gICAgaGVpZ2h0OiAyMFxuICB9O1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFwcGVhcmFuY2UnKVxuICBwdWJsaWMgYXBwZWFyYW5jZSA9IHRoaXMuY3VpQnV0dG9uT3B0aW9ucy5hcHBlYXJhbmNlO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNoYXBlJylcbiAgcHVibGljIHNoYXBlID0gdGhpcy5jdWlCdXR0b25PcHRpb25zLnNoYXBlO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuX2Rpc2FibGVkJylcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbG9hZGluZycpXG4gIHB1YmxpYyBpc0xvYWRlclNob3duID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGljb24/OiBDdWlJY29uIHwgc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpY29uUmlnaHQ/OiBDdWlJY29uIHwgc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICBwdWJsaWMgZ2V0IHNpemUoKTogQ3VpQnV0dG9uT3B0aW9uc1snc2l6ZSddIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2l6ZShzaXplOiBDdWlCdXR0b25PcHRpb25zWydzaXplJ10pIHtcbiAgICB0aGlzLl9zaXplID0gc2l6ZTtcblxuICAgIGlmIChzaXplID09PSAneHhzJykge1xuICAgICAgdGhpcy5zdmdPcHRpb25zID0ge1xuICAgICAgICB3aWR0aDogMTYsXG4gICAgICAgIGhlaWdodDogMTZcbiAgICAgIH07XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN2Z09wdGlvbnMgPSB7XG4gICAgICB3aWR0aDogMjAsXG4gICAgICBoZWlnaHQ6IDIwXG4gICAgfTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuX29ubHktaWNvbicpXG4gIHByb3RlY3RlZCBjb250YWluc09ubHlJY29uID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdkaXNhYmxlZCcpXG4gIHByb3RlY3RlZCBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmlzTG9hZGVyU2hvd247XG4gIH1cblxuICBAVmlld0NoaWxkKCdjb250ZW50JylcbiAgcHJvdGVjdGVkIGNvbnRlbnQhOiBFbGVtZW50UmVmPEhUTUxTcGFuRWxlbWVudD47XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRDb250YWluc09ubHlJY29uKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRDb250YWluc09ubHlJY29uKCk6IHZvaWQge1xuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5jb250YWluc09ubHlJY29uID0gIHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoID09PSAwO1xuXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8c3BhblxuICBjbGFzcz1cImMtd3JhcHBlclwiXG4gIFtjbGFzcy5jLXdyYXBwZXJfaW52aXNpYmxlXT1cImlzTG9hZGVyU2hvd25cIlxuPlxuICA8Y3VpLXN2Z1xuICAgICpuZ0lmPVwiaWNvblwiXG4gICAgW2ljb25dPVwiaWNvblwiXG4gICAgW3dpZHRoXT1cInN2Z09wdGlvbnMud2lkdGhcIlxuICAgIFtoZWlnaHRdPVwic3ZnT3B0aW9ucy5oZWlnaHRcIlxuICAgIGNsYXNzPVwiYy1pY29uXCJcbiAgPjwvY3VpLXN2Zz5cbiAgPHNwYW5cbiAgICAjY29udGVudFxuICAgICpuZ0lmPVwiIWNvbnRhaW5zT25seUljb25cIlxuICA+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3NwYW4+XG4gIDxjdWktc3ZnXG4gICAgKm5nSWY9XCJpY29uUmlnaHRcIlxuICAgIFtpY29uXT1cImljb25SaWdodFwiXG4gICAgW3dpZHRoXT1cInN2Z09wdGlvbnMud2lkdGhcIlxuICAgIFtoZWlnaHRdPVwic3ZnT3B0aW9ucy5oZWlnaHRcIlxuICAgIGNsYXNzPVwiYy1pY29uXCJcbiAgPjwvY3VpLXN2Zz5cbjwvc3Bhbj5cbjxjdWktc3ZnXG4gICpuZ0lmPVwiaXNMb2FkZXJTaG93blwiXG4gIGljb249XCJjdWlJY29uTG9hZGluZ1wiXG4gIGNsYXNzPVwiYy1sb2FkZXJcIlxuPjwvY3VpLXN2Zz5cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFReEUsTUFBTSxPQUFPLGtCQUFrQjtJQU4vQjtRQU9tQixzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5QyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUU1QyxtQkFBYyxHQUFHLHFCQUFxQixDQUFDO1FBQ3ZDLGdDQUEyQixHQUFxQztZQUNqRixXQUFXO1lBQ1gsVUFBVTtZQUNWLGVBQWU7WUFDZixPQUFPO1NBQ1IsQ0FBQztRQUVRLGdCQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztRQUMvQyxjQUFTLEdBQUcsY0FBYyxDQUFDO1FBQzNCLFVBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1FBQ25DLG1CQUFjLEdBQUc7WUFDekIsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFJSyxVQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztRQUlwQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBbURuQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7S0FxQnBDO0lBaEVDLElBRVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsVUFBVSxDQUFDLFVBQTBDO1FBQzlELElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBRTlCLElBQUksSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFFckMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7SUFDbEMsQ0FBQztJQUVELElBRVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxJQUFJLENBQUMsSUFBOEI7UUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFFbEIsSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxjQUFjLEdBQUc7Z0JBQ3BCLEtBQUssRUFBRSxFQUFFO2dCQUNULE1BQU0sRUFBRSxFQUFFO2FBQ1gsQ0FBQztZQUVGLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxjQUFjLEdBQUc7WUFDcEIsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsRUFBRTtTQUNYLENBQUM7SUFDSixDQUFDO0lBS0QsSUFDYyxVQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFLTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBRTVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2dIQXJHVSxrQkFBa0I7b0dBQWxCLGtCQUFrQix3bUJDckIvQiwyb0JBOEJBOzRGRFRhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU07OEJBd0J4QyxLQUFLO3NCQUZYLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUt2QixRQUFRO3NCQUZkLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUt2QixhQUFhO3NCQUZuQixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFJdEIsSUFBSTtzQkFEVixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFLSyxVQUFVO3NCQUZwQixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFtQnhCLElBQUk7c0JBRmQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBd0JuQixnQkFBZ0I7c0JBRHpCLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUlqQixVQUFVO3NCQUR2QixXQUFXO3VCQUFDLFVBQVU7Z0JBTWIsT0FBTztzQkFEaEIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDdWlJY29uIH0gZnJvbSAnQGN1YnktdWkvaWNvbnMnO1xuXG5pbXBvcnQgeyBDVUlfQlVUVE9OX09QVElPTlMsIEN1aUJ1dHRvbk9wdGlvbnMgfSBmcm9tICcuL2J1dHRvbi5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnV0dG9uW2N1aUJ1dHRvbl0sIGFbY3VpQnV0dG9uXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24udGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEN1aUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEN1aUJ1dHRvbk9wdGlvbnMsIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjdWlCdXR0b25PcHRpb25zID0gaW5qZWN0KENVSV9CVVRUT05fT1BUSU9OUyk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IENPTE9SX0JBU0VfNTAwID0gJ3ZhcigtLWN1aS1iYXNlLTUwMCknO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgQlVUVE9OX0lDT05TX0NPTE9SX0JBU0VfNTAwOiBDdWlCdXR0b25PcHRpb25zWydhcHBlYXJhbmNlJ11bXSA9IFtcbiAgICAnc2Vjb25kYXJ5JyxcbiAgICAnb3V0bGluZWQnLFxuICAgICdvdXRsaW5lZC1ncmF5JyxcbiAgICAnZ2hvc3QnXG4gIF07XG5cbiAgcHJvdGVjdGVkIF9hcHBlYXJhbmNlID0gdGhpcy5jdWlCdXR0b25PcHRpb25zLmFwcGVhcmFuY2U7XG4gIHByb3RlY3RlZCBpY29uQ29sb3IgPSAnY3VycmVudENvbG9yJztcbiAgcHJvdGVjdGVkIF9zaXplID0gdGhpcy5jdWlCdXR0b25PcHRpb25zLnNpemU7XG4gIHByb3RlY3RlZCBpY29uRGltZW5zaW9ucyA9IHtcbiAgICB3aWR0aDogMjAsXG4gICAgaGVpZ2h0OiAyMFxuICB9O1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNoYXBlJylcbiAgcHVibGljIHNoYXBlID0gdGhpcy5jdWlCdXR0b25PcHRpb25zLnNoYXBlO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuX2Rpc2FibGVkJylcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbG9hZGluZycpXG4gIHB1YmxpYyBpc0xvYWRlclNob3duID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGljb24/OiBDdWlJY29uIHwgc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpY29uUmlnaHQ/OiBDdWlJY29uIHwgc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFwcGVhcmFuY2UnKVxuICBwdWJsaWMgZ2V0IGFwcGVhcmFuY2UoKTogQ3VpQnV0dG9uT3B0aW9uc1snYXBwZWFyYW5jZSddIHtcbiAgICByZXR1cm4gdGhpcy5fYXBwZWFyYW5jZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYXBwZWFyYW5jZShhcHBlYXJhbmNlOiBDdWlCdXR0b25PcHRpb25zWydhcHBlYXJhbmNlJ10pIHtcbiAgICB0aGlzLl9hcHBlYXJhbmNlID0gYXBwZWFyYW5jZTtcblxuICAgIGlmICh0aGlzLkJVVFRPTl9JQ09OU19DT0xPUl9CQVNFXzUwMC5pbmNsdWRlcyhhcHBlYXJhbmNlKSkge1xuICAgICAgdGhpcy5pY29uQ29sb3IgPSB0aGlzLkNPTE9SX0JBU0VfNTAwO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pY29uQ29sb3IgPSAnY3VycmVudENvbG9yJztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICBwdWJsaWMgZ2V0IHNpemUoKTogQ3VpQnV0dG9uT3B0aW9uc1snc2l6ZSddIHtcbiAgICByZXR1cm4gdGhpcy5fc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2l6ZShzaXplOiBDdWlCdXR0b25PcHRpb25zWydzaXplJ10pIHtcbiAgICB0aGlzLl9zaXplID0gc2l6ZTtcblxuICAgIGlmIChzaXplID09PSAneHhzJykge1xuICAgICAgdGhpcy5pY29uRGltZW5zaW9ucyA9IHtcbiAgICAgICAgd2lkdGg6IDE2LFxuICAgICAgICBoZWlnaHQ6IDE2XG4gICAgICB9O1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pY29uRGltZW5zaW9ucyA9IHtcbiAgICAgIHdpZHRoOiAyMCxcbiAgICAgIGhlaWdodDogMjBcbiAgICB9O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fb25seS1pY29uJylcbiAgcHJvdGVjdGVkIGNvbnRhaW5zT25seUljb24gPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2Rpc2FibGVkJylcbiAgcHJvdGVjdGVkIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMuaXNMb2FkZXJTaG93bjtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKVxuICBwcm90ZWN0ZWQgY29udGVudCE6IEVsZW1lbnRSZWY8SFRNTFNwYW5FbGVtZW50PjtcblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdENvbnRhaW5zT25seUljb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdENvbnRhaW5zT25seUljb24oKTogdm9pZCB7XG4gICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLmNvbnRhaW5zT25seUljb24gPSAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGggPT09IDA7XG5cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxzcGFuXG4gIGNsYXNzPVwiYy13cmFwcGVyXCJcbiAgW2NsYXNzLmMtd3JhcHBlcl9pbnZpc2libGVdPVwiaXNMb2FkZXJTaG93blwiXG4+XG4gIDxjdWktc3ZnXG4gICAgKm5nSWY9XCJpY29uXCJcbiAgICBbaWNvbl09XCJpY29uXCJcbiAgICBbd2lkdGhdPVwiaWNvbkRpbWVuc2lvbnMud2lkdGhcIlxuICAgIFtoZWlnaHRdPVwiaWNvbkRpbWVuc2lvbnMuaGVpZ2h0XCJcbiAgICBbY29sb3JdPVwiaWNvbkNvbG9yXCJcbiAgPjwvY3VpLXN2Zz5cbiAgPHNwYW5cbiAgICAjY29udGVudFxuICAgICpuZ0lmPVwiIWNvbnRhaW5zT25seUljb25cIlxuICA+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3NwYW4+XG4gIDxjdWktc3ZnXG4gICAgKm5nSWY9XCJpY29uUmlnaHRcIlxuICAgIFtpY29uXT1cImljb25SaWdodFwiXG4gICAgW3dpZHRoXT1cImljb25EaW1lbnNpb25zLndpZHRoXCJcbiAgICBbaGVpZ2h0XT1cImljb25EaW1lbnNpb25zLmhlaWdodFwiXG4gICAgW2NvbG9yXT1cImljb25Db2xvclwiXG4gID48L2N1aS1zdmc+XG48L3NwYW4+XG48Y3VpLXN2Z1xuICAqbmdJZj1cImlzTG9hZGVyU2hvd25cIlxuICBpY29uPVwiY3VpSWNvbkxvYWRpbmdcIlxuICBjbGFzcz1cImMtbG9hZGVyXCJcbj48L2N1aS1zdmc+XG4iXX0=
@@ -70,10 +70,10 @@ export class CuiContextMenuComponent {
70
70
  }
71
71
  }
72
72
  CuiContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
73
- CuiContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: { items: "items", target: "target" }, host: { listeners: { "document:click": "onClickOutside($event.target)" }, properties: { "class._hidden": "this.isHidden", "style.left.px": "this.pageX", "style.top.px": "this.pageY" } }, ngImport: i0, template: "<ul\n *ngIf=\"isVisible\"\n class=\"c-ul\"\n>\n <li *ngFor=\"let item of items; trackBy: trackByFn\">\n <button\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n</ul>\n", styles: [":host{position:absolute;display:block;width:268px;border-radius:8px}:host._hidden{visibility:hidden}.c-ul{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-button{padding:8px 11px 8px 0;border:0;outline:none;cursor:pointer;appearance:none;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "color", "icon", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
+ CuiContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: { items: "items", target: "target" }, host: { listeners: { "document:click": "onClickOutside($event.target)" }, properties: { "class._hidden": "this.isHidden", "style.left.px": "this.pageX", "style.top.px": "this.pageY" } }, ngImport: i0, template: "<ul\n *ngIf=\"isVisible\"\n class=\"c-ul\"\n>\n <li\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [style.color]=\"item.color\"\n >\n <button\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n [color]=\"item.color\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n</ul>\n", styles: [":host{position:absolute;display:block;width:268px;border-radius:8px}:host._hidden{visibility:hidden}.c-ul{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-button{padding:8px 11px 8px 0;border:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, decorators: [{
75
75
  type: Component,
76
- args: [{ selector: 'cui-context-menu[items][target]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul\n *ngIf=\"isVisible\"\n class=\"c-ul\"\n>\n <li *ngFor=\"let item of items; trackBy: trackByFn\">\n <button\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n</ul>\n", styles: [":host{position:absolute;display:block;width:268px;border-radius:8px}:host._hidden{visibility:hidden}.c-ul{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-button{padding:8px 11px 8px 0;border:0;outline:none;cursor:pointer;appearance:none;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"] }]
76
+ args: [{ selector: 'cui-context-menu[items][target]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ul\n *ngIf=\"isVisible\"\n class=\"c-ul\"\n>\n <li\n *ngFor=\"let item of items; trackBy: trackByFn\"\n [style.color]=\"item.color\"\n >\n <button\n class=\"c-button\"\n (click)=\"onSelect(item)\"\n >\n <cui-svg\n *ngIf=\"item.icon\"\n [icon]=\"item.icon\"\n [color]=\"item.color\"\n ></cui-svg>\n <span>{{ item.label }}</span>\n </button>\n </li>\n</ul>\n", styles: [":host{position:absolute;display:block;width:268px;border-radius:8px}:host._hidden{visibility:hidden}.c-ul{padding:7px 0;margin:0;list-style:none;font-weight:400;font-size:14px;line-height:20px;box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;border:1px solid var(--cui-base-200);border-radius:inherit;background:var(--cui-base-0);color:var(--cui-base-900);font-family:var(--cui-main-font)}.c-button{padding:8px 11px 8px 0;border:0;outline:none;cursor:pointer;appearance:none;color:inherit;font:inherit;background:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;padding:8px 11px;width:100%;display:flex;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"] }]
77
77
  }], propDecorators: { items: [{
78
78
  type: Input
79
79
  }], target: [{
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
91
91
  type: HostListener,
92
92
  args: ['document:click', ['$event.target']]
93
93
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVUzQyxNQUFNLE9BQU8sdUJBQXVCO0lBTnBDO1FBT21CLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzNDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNoRCxXQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFxQixDQUFDO1FBRXBELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFVNUIsYUFBUSxHQUFZLEtBQUssQ0FBQztLQWtGM0I7SUExRVEsZUFBZTtRQUNwQixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRVMsUUFBUSxDQUFDLElBQXdCO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcs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ZTtnQkFJbEIsS0FBSztzQkFEZCxXQUFXO3VCQUFDLGVBQWU7Z0JBSWxCLEtBQUs7c0JBRGQsV0FBVzt1QkFBQyxjQUFjO2dCQWtCakIsY0FBYztzQkFEdkIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEN1aUNvbnRleHRNZW51SXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdWktY29udGV4dC1tZW51W2l0ZW1zXVt0YXJnZXRdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRleHQtbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDdWlDb250ZXh0TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2luZG93ID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldyBhcyBXaW5kb3c7XG5cbiAgcHJvdGVjdGVkIGlzVmlzaWJsZSA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgdGFyZ2V0RXZlbnRMaXN0ZW5lciE6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXRlbXMhOiBDdWlDb250ZXh0TWVudUl0ZW1bXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGFyZ2V0ITogSFRNTEVsZW1lbnQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faGlkZGVuJylcbiAgaXNIaWRkZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmxlZnQucHgnKVxuICBwcm90ZWN0ZWQgcGFnZVg/OiBudW1iZXI7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50b3AucHgnKVxuICBwcm90ZWN0ZWQgcGFnZVk/OiBudW1iZXI7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblNlbGVjdChpdGVtOiBDdWlDb250ZXh0TWVudUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgaXRlbS5jb21tYW5kPy4oKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIHByb3RlY3RlZCBvbkNsaWNrT3V0c2lkZSh0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZWxlbWVudC5jb250YWlucyh0YXJnZXQpIHx8IHRoaXMudGFyZ2V0LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRyYWNrQnlGbihfOiBudW1iZXIsIGl0ZW06IEN1aUNvbnRleHRNZW51SXRlbSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGl0ZW0ubGFiZWw7XG4gIH1cblxuICBwcml2YXRlIGluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy50YXJnZXRFdmVudExpc3RlbmVyID0gKHsgcGFnZVgsIHBhZ2VZIH0pID0+IHtcbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gIXRoaXMuaXNWaXNpYmxlO1xuXG4gICAgICBpZiAodGhpcy5pc1Zpc2libGUpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VQb3NpdGlvbihwYWdlWCwgcGFnZVkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH07XG5cbiAgICB0aGlzLnRhcmdldC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMudGFyZ2V0RXZlbnRMaXN0ZW5lcik7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy50YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLnRhcmdldEV2ZW50TGlzdGVuZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VQb3NpdGlvbih4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuaXNIaWRkZW4gPSB0cnVlO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCB7IHNjcm9sbFgsIHNjcm9sbFkgfSA9IHRoaXMud2luZG93O1xuICAgICAgY29uc3QgeyBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0gPSB0aGlzLmRvY3VtZW50RWxlbWVudDtcbiAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5lbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgIGxldCBsZWZ0ID0geDtcbiAgICAgIGxldCB0b3AgPSB5O1xuXG4gICAgICBpZiAobGVmdCArIHdpZHRoID4gc2Nyb2xsWCArIGNsaWVudFdpZHRoKSB7XG4gICAgICAgIGxlZnQgLT0gd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIGlmICh0b3AgKyBoZWlnaHQgPiBzY3JvbGxZICsgY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgIHRvcCAtPSBoZWlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGxlZnQgPSBNYXRoLm1heChsZWZ0LCBzY3JvbGxYKTtcbiAgICAgIHRvcCA9IE1hdGgubWF4KHRvcCwgc2Nyb2xsWSk7XG5cbiAgICAgIHRoaXMuaXNIaWRkZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMucGFnZVggPSBsZWZ0O1xuICAgICAgdGhpcy5wYWdlWSA9IHRvcDtcblxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHVsXG4gICpuZ0lmPVwiaXNWaXNpYmxlXCJcbiAgY2xhc3M9XCJjLXVsXCJcbj5cbiAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImMtYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJvblNlbGVjdChpdGVtKVwiXG4gICAgPlxuICAgICAgPGN1aS1zdmdcbiAgICAgICAgKm5nSWY9XCJpdGVtLmljb25cIlxuICAgICAgICBbaWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgPjwvY3VpLXN2Zz5cbiAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvbGk+XG48L3VsPlxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVUzQyxNQUFNLE9BQU8sdUJBQXVCO0lBTnBDO1FBT21CLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzNDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNoRCxXQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFxQixDQUFDO1FBRXBELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFVNUIsYUFBUSxHQUFZLEtBQUssQ0FBQztLQWtGM0I7SUExRVEsZUFBZTtRQUNwQixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRVMsUUFBUSxDQUFDLElBQXdCO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcs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ZTtnQkFJbEIsS0FBSztzQkFEZCxXQUFXO3VCQUFDLGVBQWU7Z0JBSWxCLEtBQUs7c0JBRGQsV0FBVzt1QkFBQyxjQUFjO2dCQWtCakIsY0FBYztzQkFEdkIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEN1aUNvbnRleHRNZW51SXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdWktY29udGV4dC1tZW51W2l0ZW1zXVt0YXJnZXRdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRleHQtbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDdWlDb250ZXh0TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2luZG93ID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldyBhcyBXaW5kb3c7XG5cbiAgcHJvdGVjdGVkIGlzVmlzaWJsZSA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgdGFyZ2V0RXZlbnRMaXN0ZW5lciE6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXRlbXMhOiBDdWlDb250ZXh0TWVudUl0ZW1bXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGFyZ2V0ITogSFRNTEVsZW1lbnQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faGlkZGVuJylcbiAgaXNIaWRkZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmxlZnQucHgnKVxuICBwcm90ZWN0ZWQgcGFnZVg/OiBudW1iZXI7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50b3AucHgnKVxuICBwcm90ZWN0ZWQgcGFnZVk/OiBudW1iZXI7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblNlbGVjdChpdGVtOiBDdWlDb250ZXh0TWVudUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgaXRlbS5jb21tYW5kPy4oKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIHByb3RlY3RlZCBvbkNsaWNrT3V0c2lkZSh0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZWxlbWVudC5jb250YWlucyh0YXJnZXQpIHx8IHRoaXMudGFyZ2V0LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRyYWNrQnlGbihfOiBudW1iZXIsIGl0ZW06IEN1aUNvbnRleHRNZW51SXRlbSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGl0ZW0ubGFiZWw7XG4gIH1cblxuICBwcml2YXRlIGluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy50YXJnZXRFdmVudExpc3RlbmVyID0gKHsgcGFnZVgsIHBhZ2VZIH0pID0+IHtcbiAgICAgIHRoaXMuaXNWaXNpYmxlID0gIXRoaXMuaXNWaXNpYmxlO1xuXG4gICAgICBpZiAodGhpcy5pc1Zpc2libGUpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VQb3NpdGlvbihwYWdlWCwgcGFnZVkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH07XG5cbiAgICB0aGlzLnRhcmdldC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMudGFyZ2V0RXZlbnRMaXN0ZW5lcik7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy50YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLnRhcmdldEV2ZW50TGlzdGVuZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VQb3NpdGlvbih4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuaXNIaWRkZW4gPSB0cnVlO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCB7IHNjcm9sbFgsIHNjcm9sbFkgfSA9IHRoaXMud2luZG93O1xuICAgICAgY29uc3QgeyBjbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0IH0gPSB0aGlzLmRvY3VtZW50RWxlbWVudDtcbiAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5lbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgIGxldCBsZWZ0ID0geDtcbiAgICAgIGxldCB0b3AgPSB5O1xuXG4gICAgICBpZiAobGVmdCArIHdpZHRoID4gc2Nyb2xsWCArIGNsaWVudFdpZHRoKSB7XG4gICAgICAgIGxlZnQgLT0gd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIGlmICh0b3AgKyBoZWlnaHQgPiBzY3JvbGxZICsgY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgIHRvcCAtPSBoZWlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGxlZnQgPSBNYXRoLm1heChsZWZ0LCBzY3JvbGxYKTtcbiAgICAgIHRvcCA9IE1hdGgubWF4KHRvcCwgc2Nyb2xsWSk7XG5cbiAgICAgIHRoaXMuaXNIaWRkZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMucGFnZVggPSBsZWZ0O1xuICAgICAgdGhpcy5wYWdlWSA9IHRvcDtcblxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHVsXG4gICpuZ0lmPVwiaXNWaXNpYmxlXCJcbiAgY2xhc3M9XCJjLXVsXCJcbj5cbiAgPGxpXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgW3N0eWxlLmNvbG9yXT1cIml0ZW0uY29sb3JcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJjLWJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwib25TZWxlY3QoaXRlbSlcIlxuICAgID5cbiAgICAgIDxjdWktc3ZnXG4gICAgICAgICpuZ0lmPVwiaXRlbS5pY29uXCJcbiAgICAgICAgW2ljb25dPVwiaXRlbS5pY29uXCJcbiAgICAgICAgW2NvbG9yXT1cIml0ZW0uY29sb3JcIlxuICAgICAgPjwvY3VpLXN2Zz5cbiAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvbGk+XG48L3VsPlxuIl19