@alauda/ui 7.3.3-beta.8 → 7.3.3-beta.9

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,12 +1,10 @@
1
- import { Directive, EventEmitter, Input, Optional, Output, } from '@angular/core';
1
+ import { Directive, ElementRef, EventEmitter, inject, Input, Output, Renderer2, } from '@angular/core';
2
2
  import { fromEvent, Subject, takeUntil } from 'rxjs';
3
+ import { handlePixel } from '../utils';
3
4
  import * as i0 from "@angular/core";
4
5
  export class ContainerForResizableDirective {
5
- el;
6
- constructor(el) {
7
- this.el = el;
8
- }
9
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
6
+ el = inject(ElementRef);
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
8
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ContainerForResizableDirective, isStandalone: true, selector: "[auiContainerForResizable]", host: { classAttribute: "aui-container-for-resizable" }, ngImport: i0 });
11
9
  }
12
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, decorators: [{
@@ -18,18 +16,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
18
16
  },
19
17
  standalone: true,
20
18
  }]
21
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
19
+ }] });
22
20
  export class ResizableDirective {
23
- renderer2;
24
- containerDirective;
25
21
  minWidth;
26
22
  maxWidth;
27
23
  resizeStart = new EventEmitter();
28
24
  resizing = new EventEmitter();
29
25
  resizeEnd = new EventEmitter();
26
+ elementRef = inject(ElementRef);
27
+ renderer2 = inject(Renderer2);
28
+ containerDirective = inject(ContainerForResizableDirective, {
29
+ optional: true,
30
+ });
31
+ element = this.elementRef.nativeElement;
32
+ containerElement = this.containerDirective?.el.nativeElement || this.element;
30
33
  destroy$$ = new Subject();
31
- containerElement;
32
- element;
33
34
  initialWidth;
34
35
  mouseDownScreenX;
35
36
  resizeHandle;
@@ -37,13 +38,6 @@ export class ResizableDirective {
37
38
  resizeBar;
38
39
  handleHasUp;
39
40
  BAR_WIDTH = 2;
40
- constructor(element, renderer2, containerDirective) {
41
- this.renderer2 = renderer2;
42
- this.containerDirective = containerDirective;
43
- this.element = element.nativeElement;
44
- this.containerElement =
45
- this.containerDirective?.el.nativeElement || this.element;
46
- }
47
41
  ngAfterViewInit() {
48
42
  this.createResizeHandle();
49
43
  this.binEvent(this.element, 'mouseover').subscribe(() => {
@@ -111,7 +105,9 @@ export class ResizableDirective {
111
105
  });
112
106
  }
113
107
  onMouseup(event) {
114
- this.handleHasUp && this.setResizeHandleVisible(true);
108
+ if (this.handleHasUp) {
109
+ this.setResizeHandleVisible(true);
110
+ }
115
111
  this.renderer2.removeChild(this.containerElement, this.resizeOverlay);
116
112
  this.resizeOverlay = null;
117
113
  this.renderer2.removeChild(this.containerElement, this.resizeBar);
@@ -127,7 +123,7 @@ export class ResizableDirective {
127
123
  const movementX = event.clientX - this.mouseDownScreenX;
128
124
  const newWidth = this.initialWidth + movementX;
129
125
  const finalWidth = this.getFinalWidth(newWidth);
130
- this.renderer2.setStyle(this.resizeBar, 'left', `${finalWidth + this.getOffset() - this.BAR_WIDTH}px`);
126
+ this.renderer2.setStyle(this.resizeBar, 'left', handlePixel(finalWidth + this.getOffset() - this.BAR_WIDTH));
131
127
  this.resizing.emit(finalWidth);
132
128
  }
133
129
  getFinalWidth(newWidth) {
@@ -147,13 +143,13 @@ export class ResizableDirective {
147
143
  if (!width) {
148
144
  return;
149
145
  }
150
- if (width.includes('%')) {
146
+ if (width.endsWith('%')) {
151
147
  const tableWidth = this.containerElement.clientWidth;
152
148
  return (tableWidth * Number.parseFloat(width)) / 100;
153
149
  }
154
150
  return Number.parseFloat(width.replace(/\D+/, ''));
155
151
  }
156
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ContainerForResizableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
152
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
157
153
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ResizableDirective, isStandalone: true, selector: "[auiResizable]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth" }, outputs: { resizeStart: "resizeStart", resizing: "resizing", resizeEnd: "resizeEnd" }, host: { classAttribute: "aui-resizable" }, ngImport: i0 });
158
154
  }
159
155
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, decorators: [{
@@ -165,9 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
165
161
  },
166
162
  standalone: true,
167
163
  }]
168
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ContainerForResizableDirective, decorators: [{
169
- type: Optional
170
- }] }]; }, propDecorators: { minWidth: [{
164
+ }], propDecorators: { minWidth: [{
171
165
  type: Input
172
166
  }], maxWidth: [{
173
167
  type: Input
@@ -178,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
178
172
  }], resizeEnd: [{
179
173
  type: Output
180
174
  }] } });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBU3JELE1BQU0sT0FBTyw4QkFBOEI7SUFDcEI7SUFBckIsWUFBcUIsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7SUFBRyxDQUFDO3VHQUQ1Qiw4QkFBOEI7MkZBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFQMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDZCQUE2QjtxQkFDckM7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQWVELE1BQU0sT0FBTyxrQkFBa0I7SUE4QmxCO0lBRVE7SUE5Qm5CLFFBQVEsQ0FBa0I7SUFHMUIsUUFBUSxDQUFrQjtJQUcxQixXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUd6QyxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUd0QyxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUV2QyxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNoQyxnQkFBZ0IsQ0FBVTtJQUVULE9BQU8sQ0FBYztJQUM5QixZQUFZLENBQVM7SUFDckIsZ0JBQWdCLENBQVM7SUFDakMsWUFBWSxDQUFjO0lBQzFCLGFBQWEsQ0FBYztJQUMzQixTQUFTLENBQWM7SUFDZixXQUFXLENBQVU7SUFDWixTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRS9C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QUFnQixDQUFDLHFCQUFxQixFQUFFLENBQUMsSUFBSSxDQUNuRCxDQUFDO0lBQ0osQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFzQjtRQUN4QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUN0RDtRQUNELE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7dUdBdE1VLGtCQUFrQjsyRkFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQVA5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsZUFBZTtxQkFDdkI7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFnQ0ksUUFBUTs0Q0E3QlgsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixXQUFXO3NCQURWLE1BQU07Z0JBSVAsUUFBUTtzQkFEUCxNQUFNO2dCQUlQLFNBQVM7c0JBRFIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aUNvbnRhaW5lckZvclJlc2l6YWJsZV0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktY29udGFpbmVyLWZvci1yZXNpemFibGUnLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDb250YWluZXJGb3JSZXNpemFibGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBlbDogRWxlbWVudFJlZikge31cbn1cblxuLyoqXG4gKiDkvb/nlKjmraTmjIfku6TpnIDopoHlvJXlhaVyZXNpemFibGUuc2Nzc1xuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpUmVzaXphYmxlXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS1yZXNpemFibGUnLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBtaW5XaWR0aDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIG1heFdpZHRoOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZUVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGNvbnRhaW5lckVsZW1lbnQ6IEVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBpbml0aWFsV2lkdGg6IG51bWJlcjtcbiAgcHJpdmF0ZSBtb3VzZURvd25TY3JlZW5YOiBudW1iZXI7XG4gIHJlc2l6ZUhhbmRsZTogSFRNTEVsZW1lbnQ7IC8vIOWcqOaMh+S7pOS9nOeUqOeahOWFg+e0oOS4iuaPkuWFpeW8leWvvOWIhuWJsue6v++8jGhvdmVy5Yiw5L2c55So5YWD57Sg5ZCO5Ye6546w77yM5ouW5Yqo5LqL5Lu255qE5a6/5Li7XG4gIHJlc2l6ZU92ZXJsYXk6IEhUTUxFbGVtZW50OyAvLyDlnKjmi5bliqjml7bliJvlu7rlh7rkuIDkuKrpgI/mmI7nmoTpga7nvanlsYLvvIznlKjku6XpvKDmoIfmoLflvI/lnKjmi5bliqjml7bmgLvmmK/mi5bliqjmoLflvI9cbiAgcmVzaXplQmFyOiBIVE1MRWxlbWVudDsgLy8g5ouW5Yqo5pe255qE5Y+C6ICD57q/77yM6K+l5Y+C6ICD57q/5Lya6KKr5o+S5YWl5YiwIGNvbnRhaW5lckVsZW1lbnRcbiAgcHJpdmF0ZSBoYW5kbGVIYXNVcDogYm9vbGVhbjtcbiAgcHJpdmF0ZSByZWFkb25seSBCQVJfV0lEVEggPSAyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcmVhZG9ubHkgcmVuZGVyZXIyOiBSZW5kZXJlcjIsXG4gICAgQE9wdGlvbmFsKClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lckRpcmVjdGl2ZTogQ29udGFpbmVyRm9yUmVzaXphYmxlRGlyZWN0aXZlLFxuICApIHtcbiAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5jb250YWluZXJFbGVtZW50ID1cbiAgICAgIHRoaXMuY29udGFpbmVyRGlyZWN0aXZlPy5lbC5uYXRpdmVFbGVtZW50IHx8IHRoaXMuZWxlbWVudDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNyZWF0ZVJlc2l6ZUhhbmRsZSgpO1xuXG4gICAgdGhpcy5iaW5FdmVudCh0aGlzLmVsZW1lbnQsICdtb3VzZW92ZXInKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVIYXNVcCA9IHRydWU7XG4gICAgICBpZiAoIXRoaXMucmVzaXplQmFyKSB7XG4gICAgICAgIHRoaXMuc2V0UmVzaXplSGFuZGxlVmlzaWJsZSh0cnVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmJpbkV2ZW50KHRoaXMuZWxlbWVudCwgJ21vdXNlb3V0Jykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlSGFzVXAgPSBmYWxzZTtcbiAgICAgIHRoaXMuc2V0UmVzaXplSGFuZGxlVmlzaWJsZShmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYmluRXZlbnQ8RT4oXG4gICAgdGFyZ2V0OiBIVE1MRWxlbWVudCB8IERvY3VtZW50IHwgV2luZG93LFxuICAgIGV2ZW50VHlwZTogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gZnJvbUV2ZW50PEU+KHRhcmdldCwgZXZlbnRUeXBlKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRSZXNpemVIYW5kbGVWaXNpYmxlKGlzVmlzaWJsZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLnJlc2l6ZUhhbmRsZSkge1xuICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICAgIHRoaXMucmVzaXplSGFuZGxlLFxuICAgICAgICAndmlzaWJpbGl0eScsXG4gICAgICAgIGlzVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlc2l6ZUhhbmRsZSgpIHtcbiAgICBpZiAodGhpcy5yZXNpemVIYW5kbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJlc2l6ZUhhbmRsZSA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKHRoaXMucmVzaXplSGFuZGxlLCAncmVzaXplLWhhbmRsZScpO1xuXG4gICAgdGhpcy5iaW5FdmVudDxFdmVudD4odGhpcy5yZXNpemVIYW5kbGUsICdjbGljaycpLnN1YnNjcmliZShlID0+XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpLFxuICAgICk7XG4gICAgdGhpcy5iaW5FdmVudDxNb3VzZUV2ZW50Pih0aGlzLnJlc2l6ZUhhbmRsZSwgJ21vdXNlZG93bicpLnN1YnNjcmliZShlID0+IHtcbiAgICAgIHRoaXMub25Nb3VzZWRvd24oZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQsIHRoaXMucmVzaXplSGFuZGxlKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplT3ZlcmxheSgpIHtcbiAgICB0aGlzLnJlc2l6ZU92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLnJlc2l6ZU92ZXJsYXksICdyZXNpemUtb3ZlcmxheScpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVPdmVybGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplQmFyKCkge1xuICAgIHRoaXMucmVzaXplQmFyID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5yZXNpemVCYXIsICdyZXNpemUtYmFyJyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICB0aGlzLnJlc2l6ZUJhcixcbiAgICAgICdsZWZ0JyxcbiAgICAgIHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aCArIHRoaXMuZ2V0T2Zmc2V0KCkgLSB0aGlzLkJBUl9XSURUSCArICdweCcsXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHRoaXMucmVzaXplQmFyKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgLy8g6YG/5YWN5Lik5p2h57q/5LiN5a+56b2QXG4gICAgdGhpcy5zZXRSZXNpemVIYW5kbGVWaXNpYmxlKGZhbHNlKTtcblxuICAgIHRoaXMuaW5pdGlhbFdpZHRoID0gdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIHRoaXMucmVzaXplU3RhcnQuZW1pdCh0aGlzLmluaXRpYWxXaWR0aCk7XG4gICAgdGhpcy5tb3VzZURvd25TY3JlZW5YID0gZXZlbnQuY2xpZW50WDtcbiAgICB0aGlzLmNyZWF0ZVJlc2l6ZU92ZXJsYXkoKTtcbiAgICB0aGlzLmNyZWF0ZVJlc2l6ZUJhcigpO1xuXG4gICAgY29uc3QgbW91c2VNb3ZlU3Vic2NyaXB0aW9uID0gdGhpcy5iaW5FdmVudDxNb3VzZUV2ZW50PihcbiAgICAgIGRvY3VtZW50LFxuICAgICAgJ21vdXNlbW92ZScsXG4gICAgKS5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICB0aGlzLm1vdmUoZSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBtb3VzZVVwU3Vic2NyaXB0aW9uID0gdGhpcy5iaW5FdmVudDxNb3VzZUV2ZW50PihcbiAgICAgIGRvY3VtZW50LFxuICAgICAgJ21vdXNldXAnLFxuICAgICkuc3Vic2NyaWJlKGV2ID0+IHtcbiAgICAgIHRoaXMub25Nb3VzZXVwKGV2KTtcbiAgICAgIG1vdXNlVXBTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIG1vdXNlTW92ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNldXAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZUhhc1VwICYmIHRoaXMuc2V0UmVzaXplSGFuZGxlVmlzaWJsZSh0cnVlKTtcblxuICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVPdmVybGF5KTtcbiAgICB0aGlzLnJlc2l6ZU92ZXJsYXkgPSBudWxsO1xuICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVCYXIpO1xuICAgIHRoaXMucmVzaXplQmFyID0gbnVsbDtcblxuICAgIGNvbnN0IG1vdmVtZW50WCA9IGV2ZW50LmNsaWVudFggLSB0aGlzLm1vdXNlRG93blNjcmVlblg7XG4gICAgY29uc3QgbmV3V2lkdGggPSB0aGlzLmluaXRpYWxXaWR0aCArIG1vdmVtZW50WDtcbiAgICB0aGlzLnJlc2l6ZUVuZC5lbWl0KHRoaXMuZ2V0RmluYWxXaWR0aChuZXdXaWR0aCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLnJlc2l6ZUJhcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBtb3ZlbWVudFggPSBldmVudC5jbGllbnRYIC0gdGhpcy5tb3VzZURvd25TY3JlZW5YO1xuICAgIGNvbnN0IG5ld1dpZHRoID0gdGhpcy5pbml0aWFsV2lkdGggKyBtb3ZlbWVudFg7XG5cbiAgICBjb25zdCBmaW5hbFdpZHRoID0gdGhpcy5nZXRGaW5hbFdpZHRoKG5ld1dpZHRoKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgIHRoaXMucmVzaXplQmFyLFxuICAgICAgJ2xlZnQnLFxuICAgICAgYCR7ZmluYWxXaWR0aCArIHRoaXMuZ2V0T2Zmc2V0KCkgLSB0aGlzLkJBUl9XSURUSH1weGAsXG4gICAgKTtcbiAgICB0aGlzLnJlc2l6aW5nLmVtaXQoZmluYWxXaWR0aCk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbmFsV2lkdGgobmV3V2lkdGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgLy8g5LiN6IO96LaF5Ye66L6555WMXG4gICAgY29uc3QgX21heCA9IHRoaXMuY29udGFpbmVyRWxlbWVudC5jbGllbnRXaWR0aCArIHRoaXMuZ2V0T2Zmc2V0KCk7XG4gICAgY29uc3QgbWluV2lkdGggPSB0aGlzLmhhbmRsZVdpZHRoKHRoaXMubWluV2lkdGggfHwgdGhpcy5nZXRPZmZzZXQoKSk7XG5cbiAgICBjb25zdCBtYXhXaWR0aCA9IHRoaXMuaGFuZGxlV2lkdGgodGhpcy5tYXhXaWR0aCB8fCBfbWF4KTtcbiAgICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4obWF4V2lkdGgsIG5ld1dpZHRoKSwgbWluV2lkdGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPZmZzZXQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC1cbiAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlV2lkdGgod2lkdGg6IHN0cmluZyB8IG51bWJlcikge1xuICAgIGlmICh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gd2lkdGg7XG4gICAgfVxuICAgIGlmICghd2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpZHRoLmluY2x1ZGVzKCclJykpIHtcbiAgICAgIGNvbnN0IHRhYmxlV2lkdGggPSB0aGlzLmNvbnRhaW5lckVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICByZXR1cm4gKHRhYmxlV2lkdGggKiBOdW1iZXIucGFyc2VGbG9hdCh3aWR0aCkpIC8gMTAwO1xuICAgIH1cbiAgICByZXR1cm4gTnVtYmVyLnBhcnNlRmxvYXQod2lkdGgucmVwbGFjZSgvXFxEKy8sICcnKSk7XG4gIH1cbn1cbiJdfQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQVN2QyxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLEVBQUUsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO3VHQUR0Qyw4QkFBOEI7MkZBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFQMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDZCQUE2QjtxQkFDckM7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQWVELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsUUFBUSxDQUFrQjtJQUcxQixRQUFRLENBQWtCO0lBRzFCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBR3pDLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBR3RDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXZDLFVBQVUsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixFQUFFO1FBQzFELFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQyxDQUFDO0lBRWMs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SUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLElBQUk7WUFDekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLENBQUMsSUFBSSxDQUNuRCxDQUFDO0lBQ0osQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFzQjtRQUN4QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUN0RDtRQUNELE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7dUdBbk1VLGtCQUFrQjsyRkFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQVA5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsZUFBZTtxQkFDdkI7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUdDLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNO2dCQUlQLFFBQVE7c0JBRFAsTUFBTTtnQkFJUCxTQUFTO3NCQURSLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBoYW5kbGVQaXhlbCB9IGZyb20gJy4uL3V0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aUNvbnRhaW5lckZvclJlc2l6YWJsZV0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktY29udGFpbmVyLWZvci1yZXNpemFibGUnLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDb250YWluZXJGb3JSZXNpemFibGVEaXJlY3RpdmUge1xuICBlbCA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG59XG5cbi8qKlxuICog5L2/55So5q2k5oyH5Luk6ZyA6KaB5byV5YWlcmVzaXphYmxlLnNjc3NcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aVJlc2l6YWJsZV0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktcmVzaXphYmxlJyxcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgbWluV2lkdGg6IHN0cmluZyB8IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBtYXhXaWR0aDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIEBPdXRwdXQoKVxuICByZXNpemVTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZXNpemluZyA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZXNpemVFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIGNvbnRhaW5lckRpcmVjdGl2ZSA9IGluamVjdChDb250YWluZXJGb3JSZXNpemFibGVEaXJlY3RpdmUsIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIGNvbnRhaW5lckVsZW1lbnQgPSB0aGlzLmNvbnRhaW5lckRpcmVjdGl2ZT8uZWwubmF0aXZlRWxlbWVudCB8fCB0aGlzLmVsZW1lbnQ7XG5cbiAgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIGluaXRpYWxXaWR0aDogbnVtYmVyO1xuICBwcml2YXRlIG1vdXNlRG93blNjcmVlblg6IG51bWJlcjtcbiAgcmVzaXplSGFuZGxlOiBIVE1MRWxlbWVudDsgLy8g5Zyo5oyH5Luk5L2c55So55qE5YWD57Sg5LiK5o+S5YWl5byV5a+85YiG5Ymy57q/77yMaG92ZXLliLDkvZznlKjlhYPntKDlkI7lh7rnjrDvvIzmi5bliqjkuovku7bnmoTlrr/kuLtcbiAgcmVzaXplT3ZlcmxheTogSFRNTEVsZW1lbnQ7IC8vIOWcqOaLluWKqOaXtuWIm+W7uuWHuuS4gOS4qumAj+aYjueahOmBrue9qeWxgu+8jOeUqOS7pem8oOagh+agt+W8j+WcqOaLluWKqOaXtuaAu+aYr+aLluWKqOagt+W8j1xuICByZXNpemVCYXI6IEhUTUxFbGVtZW50OyAvLyDmi5bliqjml7bnmoTlj4LogIPnur/vvIzor6Xlj4LogIPnur/kvJrooqvmj5LlhaXliLAgY29udGFpbmVyRWxlbWVudFxuICBwcml2YXRlIGhhbmRsZUhhc1VwOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IEJBUl9XSURUSCA9IDI7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY3JlYXRlUmVzaXplSGFuZGxlKCk7XG5cbiAgICB0aGlzLmJpbkV2ZW50KHRoaXMuZWxlbWVudCwgJ21vdXNlb3ZlcicpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUhhc1VwID0gdHJ1ZTtcbiAgICAgIGlmICghdGhpcy5yZXNpemVCYXIpIHtcbiAgICAgICAgdGhpcy5zZXRSZXNpemVIYW5kbGVWaXNpYmxlKHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuYmluRXZlbnQodGhpcy5lbGVtZW50LCAnbW91c2VvdXQnKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVIYXNVcCA9IGZhbHNlO1xuICAgICAgdGhpcy5zZXRSZXNpemVIYW5kbGVWaXNpYmxlKGZhbHNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5FdmVudDxFPihcbiAgICB0YXJnZXQ6IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQgfCBXaW5kb3csXG4gICAgZXZlbnRUeXBlOiBzdHJpbmcsXG4gICkge1xuICAgIHJldHVybiBmcm9tRXZlbnQ8RT4odGFyZ2V0LCBldmVudFR5cGUpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSk7XG4gIH1cblxuICBwcml2YXRlIHNldFJlc2l6ZUhhbmRsZVZpc2libGUoaXNWaXNpYmxlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMucmVzaXplSGFuZGxlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5yZXNpemVIYW5kbGUsXG4gICAgICAgICd2aXNpYmlsaXR5JyxcbiAgICAgICAgaXNWaXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbicsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplSGFuZGxlKCkge1xuICAgIGlmICh0aGlzLnJlc2l6ZUhhbmRsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVzaXplSGFuZGxlID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5yZXNpemVIYW5kbGUsICdyZXNpemUtaGFuZGxlJyk7XG5cbiAgICB0aGlzLmJpbkV2ZW50PEV2ZW50Pih0aGlzLnJlc2l6ZUhhbmRsZSwgJ2NsaWNrJykuc3Vic2NyaWJlKGUgPT5cbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCksXG4gICAgKTtcbiAgICB0aGlzLmJpbkV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMucmVzaXplSGFuZGxlLCAnbW91c2Vkb3duJykuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgdGhpcy5vbk1vdXNlZG93bihlKTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudCwgdGhpcy5yZXNpemVIYW5kbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVPdmVybGF5KCkge1xuICAgIHRoaXMucmVzaXplT3ZlcmxheSA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKHRoaXMucmVzaXplT3ZlcmxheSwgJ3Jlc2l6ZS1vdmVybGF5Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCB0aGlzLnJlc2l6ZU92ZXJsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVCYXIoKSB7XG4gICAgdGhpcy5yZXNpemVCYXIgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLnJlc2l6ZUJhciwgJ3Jlc2l6ZS1iYXInKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgIHRoaXMucmVzaXplQmFyLFxuICAgICAgJ2xlZnQnLFxuICAgICAgdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoICsgdGhpcy5nZXRPZmZzZXQoKSAtIHRoaXMuQkFSX1dJRFRIICsgJ3B4JyxcbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVCYXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNlZG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAvLyDpgb/lhY3kuKTmnaHnur/kuI3lr7npvZBcbiAgICB0aGlzLnNldFJlc2l6ZUhhbmRsZVZpc2libGUoZmFsc2UpO1xuXG4gICAgdGhpcy5pbml0aWFsV2lkdGggPSB0aGlzLmVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgdGhpcy5yZXNpemVTdGFydC5lbWl0KHRoaXMuaW5pdGlhbFdpZHRoKTtcbiAgICB0aGlzLm1vdXNlRG93blNjcmVlblggPSBldmVudC5jbGllbnRYO1xuICAgIHRoaXMuY3JlYXRlUmVzaXplT3ZlcmxheSgpO1xuICAgIHRoaXMuY3JlYXRlUmVzaXplQmFyKCk7XG5cbiAgICBjb25zdCBtb3VzZU1vdmVTdWJzY3JpcHRpb24gPSB0aGlzLmJpbkV2ZW50PE1vdXNlRXZlbnQ+KFxuICAgICAgZG9jdW1lbnQsXG4gICAgICAnbW91c2Vtb3ZlJyxcbiAgICApLnN1YnNjcmliZShlID0+IHtcbiAgICAgIHRoaXMubW92ZShlKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG1vdXNlVXBTdWJzY3JpcHRpb24gPSB0aGlzLmJpbkV2ZW50PE1vdXNlRXZlbnQ+KFxuICAgICAgZG9jdW1lbnQsXG4gICAgICAnbW91c2V1cCcsXG4gICAgKS5zdWJzY3JpYmUoZXYgPT4ge1xuICAgICAgdGhpcy5vbk1vdXNldXAoZXYpO1xuICAgICAgbW91c2VVcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgbW91c2VNb3ZlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uTW91c2V1cChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhbmRsZUhhc1VwKSB7XG4gICAgICB0aGlzLnNldFJlc2l6ZUhhbmRsZVZpc2libGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCB0aGlzLnJlc2l6ZU92ZXJsYXkpO1xuICAgIHRoaXMucmVzaXplT3ZlcmxheSA9IG51bGw7XG4gICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCB0aGlzLnJlc2l6ZUJhcik7XG4gICAgdGhpcy5yZXNpemVCYXIgPSBudWxsO1xuXG4gICAgY29uc3QgbW92ZW1lbnRYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMubW91c2VEb3duU2NyZWVuWDtcbiAgICBjb25zdCBuZXdXaWR0aCA9IHRoaXMuaW5pdGlhbFdpZHRoICsgbW92ZW1lbnRYO1xuICAgIHRoaXMucmVzaXplRW5kLmVtaXQodGhpcy5nZXRGaW5hbFdpZHRoKG5ld1dpZHRoKSk7XG4gIH1cblxuICBwcml2YXRlIG1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMucmVzaXplQmFyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG1vdmVtZW50WCA9IGV2ZW50LmNsaWVudFggLSB0aGlzLm1vdXNlRG93blNjcmVlblg7XG4gICAgY29uc3QgbmV3V2lkdGggPSB0aGlzLmluaXRpYWxXaWR0aCArIG1vdmVtZW50WDtcblxuICAgIGNvbnN0IGZpbmFsV2lkdGggPSB0aGlzLmdldEZpbmFsV2lkdGgobmV3V2lkdGgpO1xuICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgdGhpcy5yZXNpemVCYXIsXG4gICAgICAnbGVmdCcsXG4gICAgICBoYW5kbGVQaXhlbChmaW5hbFdpZHRoICsgdGhpcy5nZXRPZmZzZXQoKSAtIHRoaXMuQkFSX1dJRFRIKSxcbiAgICApO1xuICAgIHRoaXMucmVzaXppbmcuZW1pdChmaW5hbFdpZHRoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmluYWxXaWR0aChuZXdXaWR0aDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAvLyDkuI3og73otoXlh7rovrnnlYxcbiAgICBjb25zdCBfbWF4ID0gdGhpcy5jb250YWluZXJFbGVtZW50LmNsaWVudFdpZHRoICsgdGhpcy5nZXRPZmZzZXQoKTtcbiAgICBjb25zdCBtaW5XaWR0aCA9IHRoaXMuaGFuZGxlV2lkdGgodGhpcy5taW5XaWR0aCB8fCB0aGlzLmdldE9mZnNldCgpKTtcbiAgICBjb25zdCBtYXhXaWR0aCA9IHRoaXMuaGFuZGxlV2lkdGgodGhpcy5tYXhXaWR0aCB8fCBfbWF4KTtcbiAgICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4obWF4V2lkdGgsIG5ld1dpZHRoKSwgbWluV2lkdGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPZmZzZXQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC1cbiAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlV2lkdGgod2lkdGg6IHN0cmluZyB8IG51bWJlcikge1xuICAgIGlmICh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gd2lkdGg7XG4gICAgfVxuICAgIGlmICghd2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpZHRoLmVuZHNXaXRoKCclJykpIHtcbiAgICAgIGNvbnN0IHRhYmxlV2lkdGggPSB0aGlzLmNvbnRhaW5lckVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICByZXR1cm4gKHRhYmxlV2lkdGggKiBOdW1iZXIucGFyc2VGbG9hdCh3aWR0aCkpIC8gMTAwO1xuICAgIH1cbiAgICByZXR1cm4gTnVtYmVyLnBhcnNlRmxvYXQod2lkdGgucmVwbGFjZSgvXFxEKy8sICcnKSk7XG4gIH1cbn1cbiJdfQ==
@@ -4,6 +4,7 @@ import { ResizableDirective } from '../resizable';
4
4
  import { handlePixel } from '../utils';
5
5
  import { tableBem, TableColumnDefDirective, TableComponent, TableScrollWrapperDirective, } from './index';
6
6
  import * as i0 from "@angular/core";
7
+ let tableResizableDynamicStyleUid = 0;
7
8
  export class TableColResizableDirective extends ResizableDirective {
8
9
  minWidth = '60px';
9
10
  tableColumnDefDirective = inject(TableColumnDefDirective);
@@ -19,7 +20,7 @@ export class TableColResizableDirective extends ResizableDirective {
19
20
  this.resizeEnd.pipe(takeUntil(this.destroy$$)).subscribe(width => {
20
21
  const className = tableBem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
21
22
  if (!this.hostAttr) {
22
- this.hostAttr = `resizable-${(Math.random() * 1000000).toFixed(0)}`;
23
+ this.hostAttr = `table-resizable-dynamic-style-${tableResizableDynamicStyleUid++}`;
23
24
  this.containerElement.setAttribute(this.hostAttr, '');
24
25
  this.styleEl = this.renderer2.createElement('style');
25
26
  this.renderer2.appendChild(this.containerElement, this.styleEl);
@@ -45,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
45
46
  }], propDecorators: { minWidth: [{
46
47
  type: Input
47
48
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXZDLE9BQU8sRUFDTCxRQUFRLEVBQ1IsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCwyQkFBMkIsR0FDNUIsTUFBTSxTQUFTLENBQUM7O0FBTWpCLE1BQU0sT0FBTywwQkFDWCxTQUFRLGtCQUFrQjtJQUlqQixRQUFRLEdBQUcsTUFBTSxDQUFDO0lBRVYsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUQsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QywyQkFBMkIsR0FBRyxNQUFNLENBQ25ELDJCQUEyQixFQUMzQjtRQUNFLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FDRixDQUFDO0lBRU0sT0FBTyxDQUFtQjtJQUMxQixRQUFRLENBQVM7SUFFaEIsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQ3RCLElBQUksQ0FBQywyQkFBMkIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUN4RCxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFFbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUNoQyxVQUFVLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsRUFBRSxDQUM5RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxPQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2pFO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUc7VUFDckIsSUFBSSxDQUFDLFFBQVEsTUFBTSxTQUFTO2lCQUNyQixXQUFXLENBQUMsS0FBSyxDQUFDOzs7T0FHNUIsQ0FBQztZQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBN0NVLDBCQUEwQjsyRkFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFNVSxRQUFRO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUmVzaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vcmVzaXphYmxlJztcbmltcG9ydCB7IGhhbmRsZVBpeGVsIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICB0YWJsZUJlbSxcbiAgVGFibGVDb2x1bW5EZWZEaXJlY3RpdmUsXG4gIFRhYmxlQ29tcG9uZW50LFxuICBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vaW5kZXgnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFibGVDb2xSZXNpemFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb2xSZXNpemFibGVEaXJlY3RpdmVcbiAgZXh0ZW5kcyBSZXNpemFibGVEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0XG57XG4gIEBJbnB1dCgpXG4gIG92ZXJyaWRlIG1pbldpZHRoID0gJzYwcHgnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDb2x1bW5EZWZEaXJlY3RpdmUgPSBpbmplY3QoVGFibGVDb2x1bW5EZWZEaXJlY3RpdmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlQ29tcG9uZW50ID0gaW5qZWN0KFRhYmxlQ29tcG9uZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUgPSBpbmplY3QoXG4gICAgVGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlLFxuICAgIHtcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIH0sXG4gICk7XG5cbiAgcHJpdmF0ZSBzdHlsZUVsOiBIVE1MU3R5bGVFbGVtZW50O1xuICBwcml2YXRlIGhvc3RBdHRyOiBzdHJpbmc7XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuXG4gICAgdGhpcy5jb250YWluZXJFbGVtZW50ID0gKFxuICAgICAgdGhpcy50YWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUgfHwgdGhpcy50YWJsZUNvbXBvbmVudFxuICAgICkuZWwubmF0aXZlRWxlbWVudDtcblxuICAgIHRoaXMucmVzaXplRW5kLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSkuc3Vic2NyaWJlKHdpZHRoID0+IHtcbiAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRhYmxlQmVtLmVsZW1lbnQoXG4gICAgICAgIGBjb2x1bW4tJHt0aGlzLnRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlLmNzc0NsYXNzRnJpZW5kbHlOYW1lfWAsXG4gICAgICApO1xuICAgICAgaWYgKCF0aGlzLmhvc3RBdHRyKSB7XG4gICAgICAgIHRoaXMuaG9zdEF0dHIgPSBgcmVzaXphYmxlLSR7KE1hdGgucmFuZG9tKCkgKiAxXzAwMF8wMDApLnRvRml4ZWQoMCl9YDtcbiAgICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LnNldEF0dHJpYnV0ZSh0aGlzLmhvc3RBdHRyLCAnJyk7XG4gICAgICAgIHRoaXMuc3R5bGVFbCA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5zdHlsZUVsKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3R5bGVFbC5pbm5lckhUTUwgPSBgXG4gICAgICAgWyR7dGhpcy5ob3N0QXR0cn1dIC4ke2NsYXNzTmFtZX0ge1xuICAgICAgICB3aWR0aDogJHtoYW5kbGVQaXhlbCh3aWR0aCl9ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIGA7XG5cbiAgICAgIHRoaXMudGFibGVDb21wb25lbnQudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXZDLE9BQU8sRUFDTCxRQUFRLEVBQ1IsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCwyQkFBMkIsR0FDNUIsTUFBTSxTQUFTLENBQUM7O0FBRWpCLElBQUksNkJBQTZCLEdBQUcsQ0FBQyxDQUFDO0FBTXRDLE1BQU0sT0FBTywwQkFDWCxTQUFRLGtCQUFrQjtJQUlqQixRQUFRLEdBQUcsTUFBTSxDQUFDO0lBRVYsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUQsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QywyQkFBMkIsR0FBRyxNQUFNLENBQ25ELDJCQUEyQixFQUMzQjtRQUNFLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FDRixDQUFDO0lBRU0sT0FBTyxDQUFtQjtJQUMxQixRQUFRLENBQVM7SUFFaEIsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQ3RCLElBQUksQ0FBQywyQkFBMkIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUN4RCxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFFbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUNoQyxVQUFVLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsRUFBRSxDQUM5RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsaUNBQWlDLDZCQUE2QixFQUFFLEVBQUUsQ0FBQztnQkFDbkYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2pFO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUc7VUFDckIsSUFBSSxDQUFDLFFBQVEsTUFBTSxTQUFTO2lCQUNyQixXQUFXLENBQUMsS0FBSyxDQUFDOzs7T0FHNUIsQ0FBQztZQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBN0NVLDBCQUEwQjsyRkFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFNVSxRQUFRO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUmVzaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vcmVzaXphYmxlJztcbmltcG9ydCB7IGhhbmRsZVBpeGVsIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICB0YWJsZUJlbSxcbiAgVGFibGVDb2x1bW5EZWZEaXJlY3RpdmUsXG4gIFRhYmxlQ29tcG9uZW50LFxuICBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vaW5kZXgnO1xuXG5sZXQgdGFibGVSZXNpemFibGVEeW5hbWljU3R5bGVVaWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFibGVDb2xSZXNpemFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb2xSZXNpemFibGVEaXJlY3RpdmVcbiAgZXh0ZW5kcyBSZXNpemFibGVEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0XG57XG4gIEBJbnB1dCgpXG4gIG92ZXJyaWRlIG1pbldpZHRoID0gJzYwcHgnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDb2x1bW5EZWZEaXJlY3RpdmUgPSBpbmplY3QoVGFibGVDb2x1bW5EZWZEaXJlY3RpdmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlQ29tcG9uZW50ID0gaW5qZWN0KFRhYmxlQ29tcG9uZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUgPSBpbmplY3QoXG4gICAgVGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlLFxuICAgIHtcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIH0sXG4gICk7XG5cbiAgcHJpdmF0ZSBzdHlsZUVsOiBIVE1MU3R5bGVFbGVtZW50O1xuICBwcml2YXRlIGhvc3RBdHRyOiBzdHJpbmc7XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuXG4gICAgdGhpcy5jb250YWluZXJFbGVtZW50ID0gKFxuICAgICAgdGhpcy50YWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUgfHwgdGhpcy50YWJsZUNvbXBvbmVudFxuICAgICkuZWwubmF0aXZlRWxlbWVudDtcblxuICAgIHRoaXMucmVzaXplRW5kLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSkuc3Vic2NyaWJlKHdpZHRoID0+IHtcbiAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRhYmxlQmVtLmVsZW1lbnQoXG4gICAgICAgIGBjb2x1bW4tJHt0aGlzLnRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlLmNzc0NsYXNzRnJpZW5kbHlOYW1lfWAsXG4gICAgICApO1xuICAgICAgaWYgKCF0aGlzLmhvc3RBdHRyKSB7XG4gICAgICAgIHRoaXMuaG9zdEF0dHIgPSBgdGFibGUtcmVzaXphYmxlLWR5bmFtaWMtc3R5bGUtJHt0YWJsZVJlc2l6YWJsZUR5bmFtaWNTdHlsZVVpZCsrfWA7XG4gICAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5ob3N0QXR0ciwgJycpO1xuICAgICAgICB0aGlzLnN0eWxlRWwgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHRoaXMuc3R5bGVFbCk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0eWxlRWwuaW5uZXJIVE1MID0gYFxuICAgICAgIFske3RoaXMuaG9zdEF0dHJ9XSAuJHtjbGFzc05hbWV9IHtcbiAgICAgICAgd2lkdGg6ICR7aGFuZGxlUGl4ZWwod2lkdGgpfSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBgO1xuXG4gICAgICB0aGlzLnRhYmxlQ29tcG9uZW50LnVwZGF0ZVN0aWNreUNvbHVtblN0eWxlcygpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { CdkAccordion, CdkAccordionItem, CdkAccordionModule } from '@angular/cdk/accordion';
2
2
  import * as i0 from '@angular/core';
3
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, SkipSelf, Optional, Input, HostBinding, Injectable, Pipe, booleanAttribute, TemplateRef, Inject, NgModule, Directive, ContentChild, EventEmitter, Output, ElementRef, ContentChildren, ChangeDetectorRef, forwardRef, ViewChild, HostListener, Host, InjectionToken, isDevMode, numberAttribute, Injector, Type, ViewContainerRef, ViewChildren, inject } from '@angular/core';
3
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, SkipSelf, Optional, Input, HostBinding, Injectable, Pipe, booleanAttribute, TemplateRef, Inject, NgModule, Directive, ContentChild, EventEmitter, Output, ElementRef, ContentChildren, ChangeDetectorRef, forwardRef, ViewChild, HostListener, Host, InjectionToken, isDevMode, numberAttribute, Injector, Type, ViewContainerRef, ViewChildren, inject, Renderer2 } from '@angular/core';
4
4
  import { DOCUMENT, NgIf, NgClass, CommonModule, NgTemplateOutlet, NgFor, AsyncPipe, DecimalPipe, NgStyle, DatePipe, NgComponentOutlet, NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';
5
5
  import { ReplaySubject, distinctUntilChanged, Subject, takeUntil, Observable, share, startWith, map, filter, take, merge as merge$1, fromEvent, combineLatest, debounceTime, switchMap, of, EMPTY, tap, BehaviorSubject, withLatestFrom, delay, first, throttleTime, firstValueFrom, NEVER, observeOn, animationFrameScheduler, repeat, takeWhile, endWith, Subscription } from 'rxjs';
6
6
  import * as i1 from '@angular/common/http';
@@ -9542,11 +9542,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
9542
9542
  }] });
9543
9543
 
9544
9544
  class ContainerForResizableDirective {
9545
- el;
9546
- constructor(el) {
9547
- this.el = el;
9548
- }
9549
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9545
+ el = inject(ElementRef);
9546
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
9550
9547
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ContainerForResizableDirective, isStandalone: true, selector: "[auiContainerForResizable]", host: { classAttribute: "aui-container-for-resizable" }, ngImport: i0 });
9551
9548
  }
9552
9549
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, decorators: [{
@@ -9558,18 +9555,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
9558
9555
  },
9559
9556
  standalone: true,
9560
9557
  }]
9561
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
9558
+ }] });
9562
9559
  class ResizableDirective {
9563
- renderer2;
9564
- containerDirective;
9565
9560
  minWidth;
9566
9561
  maxWidth;
9567
9562
  resizeStart = new EventEmitter();
9568
9563
  resizing = new EventEmitter();
9569
9564
  resizeEnd = new EventEmitter();
9565
+ elementRef = inject(ElementRef);
9566
+ renderer2 = inject(Renderer2);
9567
+ containerDirective = inject(ContainerForResizableDirective, {
9568
+ optional: true,
9569
+ });
9570
+ element = this.elementRef.nativeElement;
9571
+ containerElement = this.containerDirective?.el.nativeElement || this.element;
9570
9572
  destroy$$ = new Subject();
9571
- containerElement;
9572
- element;
9573
9573
  initialWidth;
9574
9574
  mouseDownScreenX;
9575
9575
  resizeHandle;
@@ -9577,13 +9577,6 @@ class ResizableDirective {
9577
9577
  resizeBar;
9578
9578
  handleHasUp;
9579
9579
  BAR_WIDTH = 2;
9580
- constructor(element, renderer2, containerDirective) {
9581
- this.renderer2 = renderer2;
9582
- this.containerDirective = containerDirective;
9583
- this.element = element.nativeElement;
9584
- this.containerElement =
9585
- this.containerDirective?.el.nativeElement || this.element;
9586
- }
9587
9580
  ngAfterViewInit() {
9588
9581
  this.createResizeHandle();
9589
9582
  this.binEvent(this.element, 'mouseover').subscribe(() => {
@@ -9651,7 +9644,9 @@ class ResizableDirective {
9651
9644
  });
9652
9645
  }
9653
9646
  onMouseup(event) {
9654
- this.handleHasUp && this.setResizeHandleVisible(true);
9647
+ if (this.handleHasUp) {
9648
+ this.setResizeHandleVisible(true);
9649
+ }
9655
9650
  this.renderer2.removeChild(this.containerElement, this.resizeOverlay);
9656
9651
  this.resizeOverlay = null;
9657
9652
  this.renderer2.removeChild(this.containerElement, this.resizeBar);
@@ -9667,7 +9662,7 @@ class ResizableDirective {
9667
9662
  const movementX = event.clientX - this.mouseDownScreenX;
9668
9663
  const newWidth = this.initialWidth + movementX;
9669
9664
  const finalWidth = this.getFinalWidth(newWidth);
9670
- this.renderer2.setStyle(this.resizeBar, 'left', `${finalWidth + this.getOffset() - this.BAR_WIDTH}px`);
9665
+ this.renderer2.setStyle(this.resizeBar, 'left', handlePixel(finalWidth + this.getOffset() - this.BAR_WIDTH));
9671
9666
  this.resizing.emit(finalWidth);
9672
9667
  }
9673
9668
  getFinalWidth(newWidth) {
@@ -9687,13 +9682,13 @@ class ResizableDirective {
9687
9682
  if (!width) {
9688
9683
  return;
9689
9684
  }
9690
- if (width.includes('%')) {
9685
+ if (width.endsWith('%')) {
9691
9686
  const tableWidth = this.containerElement.clientWidth;
9692
9687
  return (tableWidth * Number.parseFloat(width)) / 100;
9693
9688
  }
9694
9689
  return Number.parseFloat(width.replace(/\D+/, ''));
9695
9690
  }
9696
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ContainerForResizableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
9691
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
9697
9692
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ResizableDirective, isStandalone: true, selector: "[auiResizable]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth" }, outputs: { resizeStart: "resizeStart", resizing: "resizing", resizeEnd: "resizeEnd" }, host: { classAttribute: "aui-resizable" }, ngImport: i0 });
9698
9693
  }
9699
9694
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, decorators: [{
@@ -9705,9 +9700,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
9705
9700
  },
9706
9701
  standalone: true,
9707
9702
  }]
9708
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ContainerForResizableDirective, decorators: [{
9709
- type: Optional
9710
- }] }]; }, propDecorators: { minWidth: [{
9703
+ }], propDecorators: { minWidth: [{
9711
9704
  type: Input
9712
9705
  }], maxWidth: [{
9713
9706
  type: Input
@@ -10413,6 +10406,7 @@ const TABLE_MODULE = [
10413
10406
  TableScrollWrapperDirective,
10414
10407
  ];
10415
10408
 
10409
+ let tableResizableDynamicStyleUid = 0;
10416
10410
  class TableColResizableDirective extends ResizableDirective {
10417
10411
  minWidth = '60px';
10418
10412
  tableColumnDefDirective = inject(TableColumnDefDirective);
@@ -10428,7 +10422,7 @@ class TableColResizableDirective extends ResizableDirective {
10428
10422
  this.resizeEnd.pipe(takeUntil(this.destroy$$)).subscribe(width => {
10429
10423
  const className = tableBem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
10430
10424
  if (!this.hostAttr) {
10431
- this.hostAttr = `resizable-${(Math.random() * 1000000).toFixed(0)}`;
10425
+ this.hostAttr = `table-resizable-dynamic-style-${tableResizableDynamicStyleUid++}`;
10432
10426
  this.containerElement.setAttribute(this.hostAttr, '');
10433
10427
  this.styleEl = this.renderer2.createElement('style');
10434
10428
  this.renderer2.appendChild(this.containerElement, this.styleEl);