@cuby-ui/core 0.0.17 → 0.0.20

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.
@@ -1,6 +1,8 @@
1
+ import type { CuiIcon } from '@cuby-ui/icons';
1
2
  import * as i0 from "@angular/core";
2
3
  export declare class CuiAccordionItemComponent {
3
4
  protected isOpen: boolean;
5
+ protected get buttonIcon(): CuiIcon;
4
6
  protected onRowToggle(): void;
5
7
  static ɵfac: i0.ɵɵFactoryDeclaration<CuiAccordionItemComponent, never>;
6
8
  static ɵcmp: i0.ɵɵComponentDeclaration<CuiAccordionItemComponent, "cui-accordion-item", never, {}, {}, never, ["*", "[cuiAccordionItemContent]"], false, never>;
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, OnDestroy } from '@angular/core';
1
+ import type { AfterViewInit, OnDestroy } from '@angular/core';
2
2
  import type { CuiContextMenuItem } from '../../interfaces';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class CuiContextMenuComponent implements AfterViewInit, OnDestroy {
@@ -6,18 +6,20 @@ export declare class CuiContextMenuComponent implements AfterViewInit, OnDestroy
6
6
  private readonly element;
7
7
  private readonly document;
8
8
  private readonly documentElement;
9
- private readonly window;
9
+ protected readonly EXTRA_OFFSET_LEFT = 0;
10
+ protected readonly EXTRA_OFFSET_TOP = 0;
10
11
  protected isVisible: boolean;
11
12
  protected targetEventListener: (event: MouseEvent) => void;
12
13
  items: CuiContextMenuItem[];
13
14
  target: HTMLElement;
14
15
  isHidden: boolean;
15
- protected pageX?: number;
16
- protected pageY?: number;
16
+ protected clientX?: number;
17
+ protected clientY?: number;
17
18
  ngAfterViewInit(): void;
18
19
  ngOnDestroy(): void;
19
20
  protected onSelect(item: CuiContextMenuItem): void;
20
21
  protected onClickOutside(target: HTMLElement): void;
22
+ protected onClose(): void;
21
23
  protected trackByFn(_: number, item: CuiContextMenuItem): string;
22
24
  private initTargetElementListener;
23
25
  private destroyTargetElementListener;
@@ -6,14 +6,17 @@ export class CuiAccordionItemComponent {
6
6
  constructor() {
7
7
  this.isOpen = false;
8
8
  }
9
+ get buttonIcon() {
10
+ return this.isOpen ? 'cuiIconChevronDown' : 'cuiIconChevronRight';
11
+ }
9
12
  onRowToggle() {
10
13
  this.isOpen = !this.isOpen;
11
14
  }
12
15
  }
13
16
  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: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
+ 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 <button\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"buttonIcon\"\n (click)=\"onRowToggle()\"\n ></button>\n <span>\n <ng-content></ng-content>\n </span>\n</header>\n<div *ngIf=\"isOpen\">\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\n</div>\n", styles: [":host{padding:16px;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;align-items:center;gap:8px;color:var(--cui-base-900);font-family:var(--cui-main-font);text-transform:uppercase}\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
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionItemComponent, decorators: [{
16
19
  type: Component,
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"] }]
20
+ args: [{ selector: 'cui-accordion-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<header class=\"c-header\">\n <button\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"buttonIcon\"\n (click)=\"onRowToggle()\"\n ></button>\n <span>\n <ng-content></ng-content>\n </span>\n</header>\n<div *ngIf=\"isOpen\">\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\n</div>\n", styles: [":host{padding:16px;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;align-items:center;gap:8px;color:var(--cui-base-900);font-family:var(--cui-main-font);text-transform:uppercase}\n"] }]
18
21
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVFuRSxNQUFNLE9BQU8seUJBQXlCO0lBTnRDO1FBT1ksV0FBTSxHQUFHLEtBQUssQ0FBQztLQUsxQjtJQUhXLFdBQVc7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQzs7dUhBTFUseUJBQXlCOzJHQUF6Qix5QkFBeUIsMERDUnRDLDRYQWdCQTs0RkRSYSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1aS1hY2NvcmRpb24taXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24taXRlbS50ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWNjb3JkaW9uLWl0ZW0uc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDdWlBY2NvcmRpb25JdGVtQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIGlzT3BlbiA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBvblJvd1RvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlbjtcbiAgfVxufVxuIiwiPGhlYWRlciBjbGFzcz1cImMtaGVhZGVyXCI+XG4gIDxzcGFuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9zcGFuPlxuICA8YnV0dG9uXG4gICAgY3VpQnV0dG9uXG4gICAgYXBwZWFyYW5jZT1cImdob3N0XCJcbiAgICBzaXplPVwieHhzXCJcbiAgICBpY29uPVwiY3VpSWNvbkNoZXZyb25Eb3duXCJcbiAgICAoY2xpY2spPVwib25Sb3dUb2dnbGUoKVwiXG4gICAgW2NsYXNzLmMtYnV0dG9uX29wZW5lZF09XCJpc09wZW5cIlxuICA+PC9idXR0b24+XG48L2hlYWRlcj5cbjxkaXYgKm5nSWY9XCJpc09wZW5cIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2N1aUFjY29yZGlvbkl0ZW1Db250ZW50XVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVNuRSxNQUFNLE9BQU8seUJBQXlCO0lBTnRDO1FBT1ksV0FBTSxHQUFHLEtBQUssQ0FBQztLQVMxQjtJQVBDLElBQWMsVUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQztJQUNwRSxDQUFDO0lBRVMsV0FBVztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDOzt1SEFUVSx5QkFBeUI7MkdBQXpCLHlCQUF5QiwwRENUdEMsOFVBZUE7NEZETmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDdWlJY29uIH0gZnJvbSAnQGN1YnktdWkvaWNvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjdWktYWNjb3JkaW9uLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLWl0ZW0udGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi1pdGVtLnN0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ3VpQWNjb3JkaW9uSXRlbUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBpc09wZW4gPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgZ2V0IGJ1dHRvbkljb24oKTogQ3VpSWNvbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuID8gJ2N1aUljb25DaGV2cm9uRG93bicgOiAnY3VpSWNvbkNoZXZyb25SaWdodCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Sb3dUb2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW47XG4gIH1cbn1cbiIsIjxoZWFkZXIgY2xhc3M9XCJjLWhlYWRlclwiPlxuICA8YnV0dG9uXG4gICAgY3VpQnV0dG9uXG4gICAgYXBwZWFyYW5jZT1cImdob3N0XCJcbiAgICBzaXplPVwieHhzXCJcbiAgICBbaWNvbl09XCJidXR0b25JY29uXCJcbiAgICAoY2xpY2spPVwib25Sb3dUb2dnbGUoKVwiXG4gID48L2J1dHRvbj5cbiAgPHNwYW4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L3NwYW4+XG48L2hlYWRlcj5cbjxkaXYgKm5nSWY9XCJpc09wZW5cIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2N1aUFjY29yZGlvbkl0ZW1Db250ZW50XVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -9,7 +9,8 @@ export class CuiContextMenuComponent {
9
9
  this.element = inject(ElementRef).nativeElement;
10
10
  this.document = inject(DOCUMENT);
11
11
  this.documentElement = this.document.documentElement;
12
- this.window = this.document.defaultView;
12
+ this.EXTRA_OFFSET_LEFT = 0;
13
+ this.EXTRA_OFFSET_TOP = 0;
13
14
  this.isVisible = false;
14
15
  this.isHidden = false;
15
16
  }
@@ -29,14 +30,17 @@ export class CuiContextMenuComponent {
29
30
  }
30
31
  this.isVisible = false;
31
32
  }
33
+ onClose() {
34
+ this.isVisible = false;
35
+ }
32
36
  trackByFn(_, item) {
33
37
  return item.label;
34
38
  }
35
39
  initTargetElementListener() {
36
- this.targetEventListener = ({ pageX, pageY }) => {
40
+ this.targetEventListener = ({ clientX, clientY }) => {
37
41
  this.isVisible = !this.isVisible;
38
42
  if (this.isVisible) {
39
- this.changePosition(pageX, pageY);
43
+ this.changePosition(clientX, clientY);
40
44
  }
41
45
  this.changeDetectorRef.markForCheck();
42
46
  };
@@ -48,32 +52,31 @@ export class CuiContextMenuComponent {
48
52
  changePosition(x, y) {
49
53
  this.isHidden = true;
50
54
  setTimeout(() => {
51
- const { scrollX, scrollY } = this.window;
52
55
  const { clientWidth, clientHeight } = this.documentElement;
53
56
  const width = this.element.offsetWidth;
54
57
  const height = this.element.offsetHeight;
55
58
  let left = x;
56
59
  let top = y;
57
- if (left + width > scrollX + clientWidth) {
60
+ if (left + width > clientWidth) {
58
61
  left -= width;
59
62
  }
60
- if (top + height > scrollY + clientHeight) {
63
+ if (top + height > clientHeight) {
61
64
  top -= height;
62
65
  }
63
- left = Math.max(left, scrollX);
64
- top = Math.max(top, scrollY);
66
+ left = Math.max(left, this.EXTRA_OFFSET_LEFT);
67
+ top = Math.max(top, this.EXTRA_OFFSET_TOP);
65
68
  this.isHidden = false;
66
- this.pageX = left;
67
- this.pageY = top;
69
+ this.clientX = left;
70
+ this.clientY = top;
68
71
  this.changeDetectorRef.markForCheck();
69
72
  });
70
73
  }
71
74
  }
72
75
  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\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;z-index:2;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;align-items:center;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 });
76
+ 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)", "window:scroll": "onClose()", "window:resize": "onClose()" }, properties: { "class._hidden": "this.isHidden", "style.left.px": "this.clientX", "style.top.px": "this.clientY" } }, 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:fixed;z-index:2;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;align-items:center;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
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, decorators: [{
75
78
  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\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;z-index:2;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;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"] }]
79
+ 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:fixed;z-index:2;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;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"] }]
77
80
  }], propDecorators: { items: [{
78
81
  type: Input
79
82
  }], target: [{
@@ -81,14 +84,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
81
84
  }], isHidden: [{
82
85
  type: HostBinding,
83
86
  args: ['class._hidden']
84
- }], pageX: [{
87
+ }], clientX: [{
85
88
  type: HostBinding,
86
89
  args: ['style.left.px']
87
- }], pageY: [{
90
+ }], clientY: [{
88
91
  type: HostBinding,
89
92
  args: ['style.top.px']
90
93
  }], onClickOutside: [{
91
94
  type: HostListener,
92
95
  args: ['document:click', ['$event.target']]
96
+ }], onClose: [{
97
+ type: HostListener,
98
+ args: ['window:scroll']
99
+ }, {
100
+ type: HostListener,
101
+ args: ['window:resize']
93
102
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVUzQyxNQUFNLE9BQU8sdUJBQXVCO0lBTnBDO1FBT21CLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzNDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNoRCxXQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFxQixDQUFDO1FBRXBELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFVNUIsYUFBUSxHQUFZLEtBQUssQ0FBQztLQWtGM0I7SUExRVEsZUFBZTtRQUNwQixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRVMsUUFBUSxDQUFDLElBQXdCO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcs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ZTtnQkFJbEIsS0FBSztzQkFEZCxXQUFXO3VCQUFDLGVBQWU7Z0JBSWxCLEtBQUs7c0JBRGQsV0FBVzt1QkFBQyxjQUFjO2dCQWtCakIsY0FBYztzQkFEdkIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB0eXBlIHsgQ3VpQ29udGV4dE1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1aS1jb250ZXh0LW1lbnVbaXRlbXNdW3RhcmdldF0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEN1aUNvbnRleHRNZW51Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3cgPSB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3IGFzIFdpbmRvdztcblxuICBwcm90ZWN0ZWQgaXNWaXNpYmxlID0gZmFsc2U7XG4gIHByb3RlY3RlZCB0YXJnZXRFdmVudExpc3RlbmVyITogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpdGVtcyE6IEN1aUNvbnRleHRNZW51SXRlbVtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YXJnZXQhOiBIVE1MRWxlbWVudDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9oaWRkZW4nKVxuICBpc0hpZGRlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubGVmdC5weCcpXG4gIHByb3RlY3RlZCBwYWdlWD86IG51bWJlcjtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnRvcC5weCcpXG4gIHByb3RlY3RlZCBwYWdlWT86IG51bWJlcjtcblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdFRhcmdldEVsZW1lbnRMaXN0ZW5lcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveVRhcmdldEVsZW1lbnRMaXN0ZW5lcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uU2VsZWN0KGl0ZW06IEN1aUNvbnRleHRNZW51SXRlbSk6IHZvaWQge1xuICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBpdGVtLmNvbW1hbmQ/LigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgcHJvdGVjdGVkIG9uQ2xpY2tPdXRzaWRlKHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbGVtZW50LmNvbnRhaW5zKHRhcmdldCkgfHwgdGhpcy50YXJnZXQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgdHJhY2tCeUZuKF86IG51bWJlciwgaXRlbTogQ3VpQ29udGV4dE1lbnVJdGVtKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5sYWJlbDtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFRhcmdldEVsZW1lbnRMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLnRhcmdldEV2ZW50TGlzdGVuZXIgPSAoeyBwYWdlWCwgcGFnZVkgfSkgPT4ge1xuICAgICAgdGhpcy5pc1Zpc2libGUgPSAhdGhpcy5pc1Zpc2libGU7XG5cbiAgICAgIGlmICh0aGlzLmlzVmlzaWJsZSkge1xuICAgICAgICB0aGlzLmNoYW5nZVBvc2l0aW9uKHBhZ2VYLCBwYWdlWSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcblxuICAgIHRoaXMudGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy50YXJnZXRFdmVudExpc3RlbmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveVRhcmdldEVsZW1lbnRMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMudGFyZ2V0RXZlbnRMaXN0ZW5lcik7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZVBvc2l0aW9uKHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5pc0hpZGRlbiA9IHRydWU7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHsgc2Nyb2xsWCwgc2Nyb2xsWSB9ID0gdGhpcy53aW5kb3c7XG4gICAgICBjb25zdCB7IGNsaWVudFdpZHRoLCBjbGllbnRIZWlnaHQgfSA9IHRoaXMuZG9jdW1lbnRFbGVtZW50O1xuICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLmVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICBjb25zdCBoZWlnaHQgPSB0aGlzLmVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgbGV0IGxlZnQgPSB4O1xuICAgICAgbGV0IHRvcCA9IHk7XG5cbiAgICAgIGlmIChsZWZ0ICsgd2lkdGggPiBzY3JvbGxYICsgY2xpZW50V2lkdGgpIHtcbiAgICAgICAgbGVmdCAtPSB3aWR0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRvcCArIGhlaWdodCA+IHNjcm9sbFkgKyBjbGllbnRIZWlnaHQpIHtcbiAgICAgICAgdG9wIC09IGhlaWdodDtcbiAgICAgIH1cblxuICAgICAgbGVmdCA9IE1hdGgubWF4KGxlZnQsIHNjcm9sbFgpO1xuICAgICAgdG9wID0gTWF0aC5tYXgodG9wLCBzY3JvbGxZKTtcblxuICAgICAgdGhpcy5pc0hpZGRlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5wYWdlWCA9IGxlZnQ7XG4gICAgICB0aGlzLnBhZ2VZID0gdG9wO1xuXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8dWxcbiAgKm5nSWY9XCJpc1Zpc2libGVcIlxuICBjbGFzcz1cImMtdWxcIlxuPlxuICA8bGlcbiAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICBbc3R5bGUuY29sb3JdPVwiaXRlbS5jb2xvclwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImMtYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJvblNlbGVjdChpdGVtKVwiXG4gICAgPlxuICAgICAgPGN1aS1zdmdcbiAgICAgICAgKm5nSWY9XCJpdGVtLmljb25cIlxuICAgICAgICBbaWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICBbY29sb3JdPVwiaXRlbS5jb2xvclwiXG4gICAgICA+PC9jdWktc3ZnPlxuICAgICAgPHNwYW4+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9saT5cbjwvdWw+XG4iXX0=
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVUzQyxNQUFNLE9BQU8sdUJBQXVCO0lBTnBDO1FBT21CLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLFlBQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzNDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUU5QyxzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDdEIscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBRTlCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFVNUIsYUFBUSxHQUFZLEtBQUssQ0FBQztLQXVGM0I7SUEvRVEsZUFBZTtRQUNwQixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRVMsUUFBUSxDQUFDLElBQXdCO1FBQ3pDLElBQUksQ0FBQyxT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QkFBQyxlQUFlO2dCQUlsQixPQUFPO3NCQURoQixXQUFXO3VCQUFDLGVBQWU7Z0JBSWxCLE9BQU87c0JBRGhCLFdBQVc7dUJBQUMsY0FBYztnQkFrQmpCLGNBQWM7c0JBRHZCLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUM7Z0JBV3ZDLE9BQU87c0JBRmhCLFlBQVk7dUJBQUMsZUFBZTs7c0JBQzVCLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHR5cGUgeyBDdWlDb250ZXh0TWVudUl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3VpLWNvbnRleHQtbWVudVtpdGVtc11bdGFyZ2V0XScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ3VpQ29udGV4dE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50RWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBFWFRSQV9PRkZTRVRfTEVGVCA9IDA7XG4gIHByb3RlY3RlZCByZWFkb25seSBFWFRSQV9PRkZTRVRfVE9QID0gMDtcblxuICBwcm90ZWN0ZWQgaXNWaXNpYmxlID0gZmFsc2U7XG4gIHByb3RlY3RlZCB0YXJnZXRFdmVudExpc3RlbmVyITogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpdGVtcyE6IEN1aUNvbnRleHRNZW51SXRlbVtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YXJnZXQhOiBIVE1MRWxlbWVudDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9oaWRkZW4nKVxuICBpc0hpZGRlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubGVmdC5weCcpXG4gIHByb3RlY3RlZCBjbGllbnRYPzogbnVtYmVyO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUudG9wLnB4JylcbiAgcHJvdGVjdGVkIGNsaWVudFk/OiBudW1iZXI7XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblNlbGVjdChpdGVtOiBDdWlDb250ZXh0TWVudUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgaXRlbS5jb21tYW5kPy4oKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIHByb3RlY3RlZCBvbkNsaWNrT3V0c2lkZSh0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZWxlbWVudC5jb250YWlucyh0YXJnZXQpIHx8IHRoaXMudGFyZ2V0LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcpXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICBwcm90ZWN0ZWQgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRyYWNrQnlGbihfOiBudW1iZXIsIGl0ZW06IEN1aUNvbnRleHRNZW51SXRlbSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGl0ZW0ubGFiZWw7XG4gIH1cblxuICBwcml2YXRlIGluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy50YXJnZXRFdmVudExpc3RlbmVyID0gKHsgY2xpZW50WCwgY2xpZW50WSB9KSA9PiB7XG4gICAgICB0aGlzLmlzVmlzaWJsZSA9ICF0aGlzLmlzVmlzaWJsZTtcblxuICAgICAgaWYgKHRoaXMuaXNWaXNpYmxlKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlUG9zaXRpb24oY2xpZW50WCwgY2xpZW50WSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcblxuICAgIHRoaXMudGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy50YXJnZXRFdmVudExpc3RlbmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveVRhcmdldEVsZW1lbnRMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMudGFyZ2V0RXZlbnRMaXN0ZW5lcik7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZVBvc2l0aW9uKHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5pc0hpZGRlbiA9IHRydWU7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHsgY2xpZW50V2lkdGgsIGNsaWVudEhlaWdodCB9ID0gdGhpcy5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICBjb25zdCB3aWR0aCA9IHRoaXMuZWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgIGNvbnN0IGhlaWdodCA9IHRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICBsZXQgbGVmdCA9IHg7XG4gICAgICBsZXQgdG9wID0geTtcblxuICAgICAgaWYgKGxlZnQgKyB3aWR0aCA+IGNsaWVudFdpZHRoKSB7XG4gICAgICAgIGxlZnQgLT0gd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIGlmICh0b3AgKyBoZWlnaHQgPiBjbGllbnRIZWlnaHQpIHtcbiAgICAgICAgdG9wIC09IGhlaWdodDtcbiAgICAgIH1cblxuICAgICAgbGVmdCA9IE1hdGgubWF4KGxlZnQsIHRoaXMuRVhUUkFfT0ZGU0VUX0xFRlQpO1xuICAgICAgdG9wID0gTWF0aC5tYXgodG9wLCB0aGlzLkVYVFJBX09GRlNFVF9UT1ApO1xuXG4gICAgICB0aGlzLmlzSGlkZGVuID0gZmFsc2U7XG4gICAgICB0aGlzLmNsaWVudFggPSBsZWZ0O1xuICAgICAgdGhpcy5jbGllbnRZID0gdG9wO1xuXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8dWxcbiAgKm5nSWY9XCJpc1Zpc2libGVcIlxuICBjbGFzcz1cImMtdWxcIlxuPlxuICA8bGlcbiAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICBbc3R5bGUuY29sb3JdPVwiaXRlbS5jb2xvclwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImMtYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJvblNlbGVjdChpdGVtKVwiXG4gICAgPlxuICAgICAgPGN1aS1zdmdcbiAgICAgICAgKm5nSWY9XCJpdGVtLmljb25cIlxuICAgICAgICBbaWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICBbY29sb3JdPVwiaXRlbS5jb2xvclwiXG4gICAgICA+PC9jdWktc3ZnPlxuICAgICAgPHNwYW4+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9saT5cbjwvdWw+XG4iXX0=
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
27
27
  providedIn: 'root'
28
28
  }]
29
29
  }], ctorParameters: function () { return []; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvdGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFZLE1BQU0saUJBQWlCLENBQUM7O0FBSzdFLE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQXlCO0lBSTVEO1FBQ0UsS0FBSyxDQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBMEI7ZUFDcEYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUN2QixDQUFDO1FBUGEsaUJBQVksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6QyxRQUFHLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFPckQsQ0FBQztJQUVlLElBQUksQ0FBQyxLQUFlO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0MsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsNkJBQTZCO0lBQ3RCLE1BQU07UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OzZHQW5CVSxlQUFlO2lIQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IENVSV9MT0NBTF9TVE9SQUdFIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDVUlfVEhFTUUsIENVSV9USEVNRV9TVE9SQUdFX0tFWSwgQ3VpVGhlbWUgfSBmcm9tICcuL3RoZW1lLm9wdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDdWlUaGVtZVNlcnZpY2UgZXh0ZW5kcyBCZWhhdmlvclN1YmplY3Q8Q3VpVGhlbWU+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2NhbFN0b3JhZ2UgPSBpbmplY3QoQ1VJX0xPQ0FMX1NUT1JBR0UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGtleSA9IGluamVjdChDVUlfVEhFTUVfU1RPUkFHRV9LRVkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFxuICAgICAgaW5qZWN0KENVSV9MT0NBTF9TVE9SQUdFKS5nZXRJdGVtKGluamVjdChDVUlfVEhFTUVfU1RPUkFHRV9LRVkpKSBhcyBDdWlOdWxsYWJsZTxDdWlUaGVtZT5cbiAgICAgICAgPz8gaW5qZWN0KENVSV9USEVNRSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG5leHQodGhlbWU6IEN1aVRoZW1lKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmtleSwgdGhlbWUpO1xuICAgIHN1cGVyLm5leHQodGhlbWUpO1xuICB9XG5cbiAgLy8g0J/RgNC4INGA0LDQsdC+0YLQtSDRgtC+0LvRjNC60L4g0LTQstGD0YUg0YLQtdC8XG4gIHB1YmxpYyBzd2l0Y2goKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KHRoaXMudmFsdWUgPT09ICdsaWdodCcgPyAnZGFyaycgOiAnbGlnaHQnKTtcbiAgfVxufSJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvdGhlbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBS25FLE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQXlCO0lBSTVEO1FBQ0UsS0FBSyxDQUNILE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBMEI7ZUFDcEYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUN2QixDQUFDO1FBUGEsaUJBQVksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6QyxRQUFHLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFPckQsQ0FBQztJQUVlLElBQUksQ0FBQyxLQUFlO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0MsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsNkJBQTZCO0lBQ3RCLE1BQU07UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OzZHQW5CVSxlQUFlO2lIQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IENVSV9MT0NBTF9TVE9SQUdFIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgdHlwZSB7IEN1aVRoZW1lIH0gZnJvbSAnLi90aGVtZS5vcHRpb25zJztcbmltcG9ydCB7IENVSV9USEVNRSwgQ1VJX1RIRU1FX1NUT1JBR0VfS0VZIH0gZnJvbSAnLi90aGVtZS5vcHRpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ3VpVGhlbWVTZXJ2aWNlIGV4dGVuZHMgQmVoYXZpb3JTdWJqZWN0PEN1aVRoZW1lPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxTdG9yYWdlID0gaW5qZWN0KENVSV9MT0NBTF9TVE9SQUdFKTtcbiAgcHJpdmF0ZSByZWFkb25seSBrZXkgPSBpbmplY3QoQ1VJX1RIRU1FX1NUT1JBR0VfS0VZKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcbiAgICAgIGluamVjdChDVUlfTE9DQUxfU1RPUkFHRSkuZ2V0SXRlbShpbmplY3QoQ1VJX1RIRU1FX1NUT1JBR0VfS0VZKSkgYXMgQ3VpTnVsbGFibGU8Q3VpVGhlbWU+XG4gICAgICAgID8/IGluamVjdChDVUlfVEhFTUUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBuZXh0KHRoZW1lOiBDdWlUaGVtZSk6IHZvaWQge1xuICAgIHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXksIHRoZW1lKTtcbiAgICBzdXBlci5uZXh0KHRoZW1lKTtcbiAgfVxuXG4gIC8vINCf0YDQuCDRgNCw0LHQvtGC0LUg0YLQvtC70YzQutC+INC00LLRg9GFINGC0LXQvFxuICBwdWJsaWMgc3dpdGNoKCk6IHZvaWQge1xuICAgIHRoaXMubmV4dCh0aGlzLnZhbHVlID09PSAnbGlnaHQnID8gJ2RhcmsnIDogJ2xpZ2h0Jyk7XG4gIH1cbn0iXX0=
@@ -188,15 +188,18 @@ class CuiAccordionItemComponent {
188
188
  constructor() {
189
189
  this.isOpen = false;
190
190
  }
191
+ get buttonIcon() {
192
+ return this.isOpen ? 'cuiIconChevronDown' : 'cuiIconChevronRight';
193
+ }
191
194
  onRowToggle() {
192
195
  this.isOpen = !this.isOpen;
193
196
  }
194
197
  }
195
198
  CuiAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
196
- 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: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
199
+ 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 <button\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"buttonIcon\"\n (click)=\"onRowToggle()\"\n ></button>\n <span>\n <ng-content></ng-content>\n </span>\n</header>\n<div *ngIf=\"isOpen\">\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\n</div>\n", styles: [":host{padding:16px;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;align-items:center;gap:8px;color:var(--cui-base-900);font-family:var(--cui-main-font);text-transform:uppercase}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
197
200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiAccordionItemComponent, decorators: [{
198
201
  type: Component,
199
- 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"] }]
202
+ args: [{ selector: 'cui-accordion-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<header class=\"c-header\">\n <button\n cuiButton\n appearance=\"ghost\"\n size=\"xxs\"\n [icon]=\"buttonIcon\"\n (click)=\"onRowToggle()\"\n ></button>\n <span>\n <ng-content></ng-content>\n </span>\n</header>\n<div *ngIf=\"isOpen\">\n <ng-content select=\"[cuiAccordionItemContent]\"></ng-content>\n</div>\n", styles: [":host{padding:16px;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;align-items:center;gap:8px;color:var(--cui-base-900);font-family:var(--cui-main-font);text-transform:uppercase}\n"] }]
200
203
  }] });
201
204
 
202
205
  class CuiSvgModule {
@@ -558,7 +561,8 @@ class CuiContextMenuComponent {
558
561
  this.element = inject(ElementRef).nativeElement;
559
562
  this.document = inject(DOCUMENT);
560
563
  this.documentElement = this.document.documentElement;
561
- this.window = this.document.defaultView;
564
+ this.EXTRA_OFFSET_LEFT = 0;
565
+ this.EXTRA_OFFSET_TOP = 0;
562
566
  this.isVisible = false;
563
567
  this.isHidden = false;
564
568
  }
@@ -579,14 +583,17 @@ class CuiContextMenuComponent {
579
583
  }
580
584
  this.isVisible = false;
581
585
  }
586
+ onClose() {
587
+ this.isVisible = false;
588
+ }
582
589
  trackByFn(_, item) {
583
590
  return item.label;
584
591
  }
585
592
  initTargetElementListener() {
586
- this.targetEventListener = ({ pageX, pageY }) => {
593
+ this.targetEventListener = ({ clientX, clientY }) => {
587
594
  this.isVisible = !this.isVisible;
588
595
  if (this.isVisible) {
589
- this.changePosition(pageX, pageY);
596
+ this.changePosition(clientX, clientY);
590
597
  }
591
598
  this.changeDetectorRef.markForCheck();
592
599
  };
@@ -598,32 +605,31 @@ class CuiContextMenuComponent {
598
605
  changePosition(x, y) {
599
606
  this.isHidden = true;
600
607
  setTimeout(() => {
601
- const { scrollX, scrollY } = this.window;
602
608
  const { clientWidth, clientHeight } = this.documentElement;
603
609
  const width = this.element.offsetWidth;
604
610
  const height = this.element.offsetHeight;
605
611
  let left = x;
606
612
  let top = y;
607
- if (left + width > scrollX + clientWidth) {
613
+ if (left + width > clientWidth) {
608
614
  left -= width;
609
615
  }
610
- if (top + height > scrollY + clientHeight) {
616
+ if (top + height > clientHeight) {
611
617
  top -= height;
612
618
  }
613
- left = Math.max(left, scrollX);
614
- top = Math.max(top, scrollY);
619
+ left = Math.max(left, this.EXTRA_OFFSET_LEFT);
620
+ top = Math.max(top, this.EXTRA_OFFSET_TOP);
615
621
  this.isHidden = false;
616
- this.pageX = left;
617
- this.pageY = top;
622
+ this.clientX = left;
623
+ this.clientY = top;
618
624
  this.changeDetectorRef.markForCheck();
619
625
  });
620
626
  }
621
627
  }
622
628
  CuiContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
623
- 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;z-index:2;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;align-items:center;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: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
629
+ 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)", "window:scroll": "onClose()", "window:resize": "onClose()" }, properties: { "class._hidden": "this.isHidden", "style.left.px": "this.clientX", "style.top.px": "this.clientY" } }, 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:fixed;z-index:2;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;align-items:center;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: CuiSvgComponent, selector: "cui-svg[icon]", inputs: ["width", "height", "strokeWidth", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
624
630
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiContextMenuComponent, decorators: [{
625
631
  type: Component,
626
- 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;z-index:2;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;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"] }]
632
+ 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:fixed;z-index:2;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;align-items:center;gap:12px}.c-button:active{background:var(--cui-base-50)}@media (hover: hover){.c-button:hover{background:var(--cui-base-50)}}\n"] }]
627
633
  }], propDecorators: { items: [{
628
634
  type: Input
629
635
  }], target: [{
@@ -631,15 +637,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
631
637
  }], isHidden: [{
632
638
  type: HostBinding,
633
639
  args: ['class._hidden']
634
- }], pageX: [{
640
+ }], clientX: [{
635
641
  type: HostBinding,
636
642
  args: ['style.left.px']
637
- }], pageY: [{
643
+ }], clientY: [{
638
644
  type: HostBinding,
639
645
  args: ['style.top.px']
640
646
  }], onClickOutside: [{
641
647
  type: HostListener,
642
648
  args: ['document:click', ['$event.target']]
649
+ }], onClose: [{
650
+ type: HostListener,
651
+ args: ['window:scroll']
652
+ }, {
653
+ type: HostListener,
654
+ args: ['window:resize']
643
655
  }] } });
644
656
 
645
657
  class CuiContextMenuModule {