@alauda/ui 7.3.3-beta.22 → 7.3.3-beta.24

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.
package/esm2022/index.mjs CHANGED
@@ -20,6 +20,7 @@ export * from './message';
20
20
  export * from './notification';
21
21
  export * from './paginator';
22
22
  export * from './radio';
23
+ export * from './resizable';
23
24
  export * from './scrolling';
24
25
  export * from './select';
25
26
  export * from './sort';
@@ -36,4 +37,4 @@ export * from './tooltip';
36
37
  export * from './tree-select';
37
38
  export * from './types';
38
39
  export * from './utils';
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hbmNob3InO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUnO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrLXRvcCc7XG5leHBvcnQgKiBmcm9tICcuL2JyZWFkY3J1bWInO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xvci1waWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLXBpY2tlcic7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2RyYXdlcic7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2kxOG4nO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uJztcbmV4cG9ydCAqIGZyb20gJy4vaW5saW5lLWFsZXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8nO1xuZXhwb3J0ICogZnJvbSAnLi9zY3JvbGxpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdHVzLWJhcic7XG5leHBvcnQgKiBmcm9tICcuL3N0ZXBzJztcbmV4cG9ydCAqIGZyb20gJy4vc3dpdGNoJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1vZi1jb250ZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3RhYnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWcnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZSc7XG5leHBvcnQgKiBmcm9tICcuL3RpbWUtcGlja2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbHRpcCc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUtc2VsZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hbmNob3InO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUnO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrLXRvcCc7XG5leHBvcnQgKiBmcm9tICcuL2JyZWFkY3J1bWInO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xvci1waWNrZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLXBpY2tlcic7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZyc7XG5leHBvcnQgKiBmcm9tICcuL2RyYXdlcic7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2kxOG4nO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uJztcbmV4cG9ydCAqIGZyb20gJy4vaW5saW5lLWFsZXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8nO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNpemFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zY3JvbGxpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9zb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdHVzLWJhcic7XG5leHBvcnQgKiBmcm9tICcuL3N0ZXBzJztcbmV4cG9ydCAqIGZyb20gJy4vc3dpdGNoJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1vZi1jb250ZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3RhYnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWcnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZSc7XG5leHBvcnQgKiBmcm9tICcuL3RpbWUtcGlja2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbHRpcCc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUtc2VsZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { ResizableDirective } from './resizable.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzaXphYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUmVzaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXNpemFibGUuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,147 @@
1
+ import { Directive, ElementRef, EventEmitter, inject, Input, Output, Renderer2, } from '@angular/core';
2
+ import { fromEvent, map, Subject, switchMap, takeUntil, tap } from 'rxjs';
3
+ import { handlePixel } from '../utils';
4
+ import * as i0 from "@angular/core";
5
+ export class ContainerForResizableDirective {
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 });
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 });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[auiContainerForResizable]',
14
+ host: {
15
+ class: 'aui-container-for-resizable',
16
+ },
17
+ standalone: true,
18
+ }]
19
+ }] });
20
+ export class ResizableDirective {
21
+ minWidth;
22
+ maxWidth;
23
+ manualAdjustment = false;
24
+ resizeStart = new EventEmitter();
25
+ resizing = new EventEmitter();
26
+ resizeEnd = new EventEmitter();
27
+ elementRef = inject(ElementRef);
28
+ renderer2 = inject(Renderer2);
29
+ containerDirective = inject(ContainerForResizableDirective, {
30
+ optional: true,
31
+ });
32
+ BAR_WIDTH = 2;
33
+ element = this.elementRef.nativeElement;
34
+ containerElement = this.containerDirective?.el.nativeElement || this.element;
35
+ destroy$$ = new Subject();
36
+ ngAfterViewInit() {
37
+ const resizeHandle = this.createResizeHandle();
38
+ fromEvent(resizeHandle, 'click')
39
+ .pipe(takeUntil(this.destroy$$))
40
+ .subscribe(event => event.stopPropagation());
41
+ this.bindResizable(resizeHandle);
42
+ }
43
+ ngOnDestroy() {
44
+ this.destroy$$.next();
45
+ this.destroy$$.complete();
46
+ }
47
+ bindResizable(resizeHandle) {
48
+ fromEvent(resizeHandle, 'mousedown')
49
+ .pipe(map(event => {
50
+ event.preventDefault();
51
+ event.stopPropagation();
52
+ const initialWidth = this.element.clientWidth;
53
+ this.resizeStart.emit(initialWidth);
54
+ this.renderer2.setStyle(resizeHandle, 'visibility', 'hidden');
55
+ return {
56
+ resizeBar: this.createResizeBar(),
57
+ resizeOverlay: this.createResizeOverlay(),
58
+ initialWidth,
59
+ mouseDownScreenX: event.clientX,
60
+ };
61
+ }), switchMap(({ resizeBar, resizeOverlay, initialWidth, mouseDownScreenX }) => fromEvent(document, 'mousemove').pipe(map(event => {
62
+ const movementX = event.clientX - mouseDownScreenX;
63
+ const newWidth = initialWidth + movementX;
64
+ const width = this.getFinalWidth(newWidth);
65
+ this.renderer2.setStyle(resizeBar, 'left', handlePixel(width + this.getOffset() - this.BAR_WIDTH));
66
+ return width;
67
+ }), takeUntil(fromEvent(document, 'mouseup').pipe(tap(event => {
68
+ this.renderer2.removeStyle(resizeHandle, 'visibility');
69
+ this.renderer2.removeChild(this.containerElement, resizeOverlay);
70
+ this.renderer2.removeChild(this.containerElement, resizeBar);
71
+ const movementX = event.clientX - mouseDownScreenX;
72
+ const newWidth = initialWidth + movementX;
73
+ const width = this.getFinalWidth(newWidth);
74
+ if (!this.manualAdjustment) {
75
+ this.renderer2.setStyle(this.element, 'width', handlePixel(width));
76
+ }
77
+ this.resizeEnd.emit(width);
78
+ }))))), takeUntil(this.destroy$$))
79
+ .subscribe(width => {
80
+ this.resizing.emit(width);
81
+ });
82
+ }
83
+ createResizeHandle() {
84
+ const resizeHandle = this.renderer2.createElement('div');
85
+ this.renderer2.addClass(resizeHandle, 'resize-handle');
86
+ this.renderer2.appendChild(this.element, resizeHandle);
87
+ return resizeHandle;
88
+ }
89
+ createResizeOverlay() {
90
+ const resizeOverlay = this.renderer2.createElement('div');
91
+ this.renderer2.addClass(resizeOverlay, 'resize-overlay');
92
+ this.renderer2.appendChild(this.containerElement, resizeOverlay);
93
+ return resizeOverlay;
94
+ }
95
+ createResizeBar() {
96
+ const resizeBar = this.renderer2.createElement('div');
97
+ this.renderer2.addClass(resizeBar, 'resize-bar');
98
+ this.renderer2.setStyle(resizeBar, 'left', this.element.clientWidth + this.getOffset() - this.BAR_WIDTH + 'px');
99
+ this.renderer2.appendChild(this.containerElement, resizeBar);
100
+ return resizeBar;
101
+ }
102
+ getFinalWidth(newWidth) {
103
+ const _max = this.containerElement.clientWidth + this.getOffset();
104
+ const minWidth = this.handleWidth(this.minWidth || this.getOffset());
105
+ const maxWidth = this.handleWidth(this.maxWidth || _max);
106
+ return Math.max(Math.min(maxWidth, newWidth), minWidth);
107
+ }
108
+ getOffset() {
109
+ return (this.element.getBoundingClientRect().left -
110
+ this.containerElement.getBoundingClientRect().left);
111
+ }
112
+ handleWidth(width) {
113
+ if (typeof width === 'number') {
114
+ return width;
115
+ }
116
+ if (!width) {
117
+ return;
118
+ }
119
+ if (width.endsWith('%')) {
120
+ const tableWidth = this.containerElement.clientWidth;
121
+ return (tableWidth * Number.parseFloat(width)) / 100;
122
+ }
123
+ return Number.parseFloat(width.replace(/\D+/, ''));
124
+ }
125
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
126
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ResizableDirective, isStandalone: true, selector: "[auiResizable]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth", manualAdjustment: "manualAdjustment" }, outputs: { resizeStart: "resizeStart", resizing: "resizing", resizeEnd: "resizeEnd" }, ngImport: i0 });
127
+ }
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, decorators: [{
129
+ type: Directive,
130
+ args: [{
131
+ selector: '[auiResizable]',
132
+ standalone: true,
133
+ }]
134
+ }], propDecorators: { minWidth: [{
135
+ type: Input
136
+ }], maxWidth: [{
137
+ type: Input
138
+ }], manualAdjustment: [{
139
+ type: Input
140
+ }], resizeStart: [{
141
+ type: Output
142
+ }], resizing: [{
143
+ type: Output
144
+ }], resizeEnd: [{
145
+ type: Output
146
+ }] } });
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQVN2QyxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLEVBQUUsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO3VHQUR0Qyw4QkFBOEI7MkZBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFQMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDZCQUE2QjtxQkFDckM7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQWNELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsUUFBUSxDQUFrQjtJQUcxQixRQUFRLENBQWtCO0lBRzFCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUd6QixXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUd6QyxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUd0QyxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUV0QixVQUFVLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztJQUMxRSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2Isa0JBQWtCLEdBQUcsTUFBTSxD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QyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTyxTQUFTO1FBQ2YsT0FBTyxDQUNMLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxJQUFJO1lBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLElBQUksQ0FDbkQsQ0FBQztJQUNKLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBc0I7UUFDeEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztZQUNyRCxPQUFPLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDdEQ7UUFDRCxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO3VHQTNLVSxrQkFBa0I7MkZBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBR0MsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixXQUFXO3NCQURWLE1BQU07Z0JBSVAsUUFBUTtzQkFEUCxNQUFNO2dCQUlQLFNBQVM7c0JBRFIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWFwLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGhhbmRsZVBpeGVsIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpQ29udGFpbmVyRm9yUmVzaXphYmxlXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS1jb250YWluZXItZm9yLXJlc2l6YWJsZScsXG4gIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhaW5lckZvclJlc2l6YWJsZURpcmVjdGl2ZSB7XG4gIGVsID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbn1cblxuLyoqXG4gKiDkvb/nlKjmraTmjIfku6TpnIDopoHlvJXlhaUgcmVzaXphYmxlLnNjc3NcbiAqXG4gKiBAZXhhbXBsZSBgQGltcG9ydCAnbm9kZV9tb2R1bGVzL0BhbGF1ZGEvdWkvcmVzaXphYmxlL3Jlc2l6YWJsZSc7YFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpUmVzaXphYmxlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIG1pbldpZHRoOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgbWF4V2lkdGg6IHN0cmluZyB8IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBtYW51YWxBZGp1c3RtZW50ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZUVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHJlbmRlcmVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lckRpcmVjdGl2ZSA9IGluamVjdChDb250YWluZXJGb3JSZXNpemFibGVEaXJlY3RpdmUsIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBCQVJfV0lEVEggPSAyO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICBjb250YWluZXJFbGVtZW50ID0gdGhpcy5jb250YWluZXJEaXJlY3RpdmU/LmVsLm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy5lbGVtZW50O1xuXG4gIGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IHJlc2l6ZUhhbmRsZSA9IHRoaXMuY3JlYXRlUmVzaXplSGFuZGxlKCk7XG5cbiAgICBmcm9tRXZlbnQ8RXZlbnQ+KHJlc2l6ZUhhbmRsZSwgJ2NsaWNrJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpKTtcblxuICAgIHRoaXMuYmluZFJlc2l6YWJsZShyZXNpemVIYW5kbGUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGJpbmRSZXNpemFibGUocmVzaXplSGFuZGxlOiBIVE1MRWxlbWVudCkge1xuICAgIGZyb21FdmVudDxNb3VzZUV2ZW50PihyZXNpemVIYW5kbGUsICdtb3VzZWRvd24nKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChldmVudCA9PiB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgIGNvbnN0IGluaXRpYWxXaWR0aCA9IHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgICB0aGlzLnJlc2l6ZVN0YXJ0LmVtaXQoaW5pdGlhbFdpZHRoKTtcblxuICAgICAgICAgIC8vIOmBv+WFjeS4pOadoee6v+S4jeWvuem9kFxuICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKHJlc2l6ZUhhbmRsZSwgJ3Zpc2liaWxpdHknLCAnaGlkZGVuJyk7XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVzaXplQmFyOiB0aGlzLmNyZWF0ZVJlc2l6ZUJhcigpLFxuICAgICAgICAgICAgcmVzaXplT3ZlcmxheTogdGhpcy5jcmVhdGVSZXNpemVPdmVybGF5KCksXG4gICAgICAgICAgICBpbml0aWFsV2lkdGgsXG4gICAgICAgICAgICBtb3VzZURvd25TY3JlZW5YOiBldmVudC5jbGllbnRYLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoXG4gICAgICAgICAgKHsgcmVzaXplQmFyLCByZXNpemVPdmVybGF5LCBpbml0aWFsV2lkdGgsIG1vdXNlRG93blNjcmVlblggfSkgPT5cbiAgICAgICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNlbW92ZScpLnBpcGUoXG4gICAgICAgICAgICAgIG1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbW92ZW1lbnRYID0gZXZlbnQuY2xpZW50WCAtIG1vdXNlRG93blNjcmVlblg7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3V2lkdGggPSBpbml0aWFsV2lkdGggKyBtb3ZlbWVudFg7XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLmdldEZpbmFsV2lkdGgobmV3V2lkdGgpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgICAgICAgICAgICAgcmVzaXplQmFyLFxuICAgICAgICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgICAgICAgaGFuZGxlUGl4ZWwod2lkdGggKyB0aGlzLmdldE9mZnNldCgpIC0gdGhpcy5CQVJfV0lEVEgpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdpZHRoO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgdGFrZVVudGlsKFxuICAgICAgICAgICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pihkb2N1bWVudCwgJ21vdXNldXAnKS5waXBlKFxuICAgICAgICAgICAgICAgICAgdGFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlU3R5bGUocmVzaXplSGFuZGxlLCAndmlzaWJpbGl0eScpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICByZXNpemVPdmVybGF5LFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDaGlsZChcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgcmVzaXplQmFyLFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vdmVtZW50WCA9IGV2ZW50LmNsaWVudFggLSBtb3VzZURvd25TY3JlZW5YO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdXaWR0aCA9IGluaXRpYWxXaWR0aCArIG1vdmVtZW50WDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLmdldEZpbmFsV2lkdGgobmV3V2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMubWFudWFsQWRqdXN0bWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVBpeGVsKHdpZHRoKSxcbiAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzaXplRW5kLmVtaXQod2lkdGgpO1xuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHdpZHRoID0+IHtcbiAgICAgICAgdGhpcy5yZXNpemluZy5lbWl0KHdpZHRoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVIYW5kbGUoKSB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3MocmVzaXplSGFuZGxlLCAncmVzaXplLWhhbmRsZScpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudCwgcmVzaXplSGFuZGxlKTtcbiAgICByZXR1cm4gcmVzaXplSGFuZGxlO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVPdmVybGF5KCkge1xuICAgIGNvbnN0IHJlc2l6ZU92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyhyZXNpemVPdmVybGF5LCAncmVzaXplLW92ZXJsYXknKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHJlc2l6ZU92ZXJsYXkpO1xuICAgIHJldHVybiByZXNpemVPdmVybGF5O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVCYXIoKSB7XG4gICAgY29uc3QgcmVzaXplQmFyID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3MocmVzaXplQmFyLCAncmVzaXplLWJhcicpO1xuICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgcmVzaXplQmFyLFxuICAgICAgJ2xlZnQnLFxuICAgICAgdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoICsgdGhpcy5nZXRPZmZzZXQoKSAtIHRoaXMuQkFSX1dJRFRIICsgJ3B4JyxcbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgcmVzaXplQmFyKTtcbiAgICByZXR1cm4gcmVzaXplQmFyO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaW5hbFdpZHRoKG5ld1dpZHRoOiBudW1iZXIpOiBudW1iZXIge1xuICAgIC8vIOS4jeiDvei2heWHuui+ueeVjFxuICAgIGNvbnN0IF9tYXggPSB0aGlzLmNvbnRhaW5lckVsZW1lbnQuY2xpZW50V2lkdGggKyB0aGlzLmdldE9mZnNldCgpO1xuICAgIGNvbnN0IG1pbldpZHRoID0gdGhpcy5oYW5kbGVXaWR0aCh0aGlzLm1pbldpZHRoIHx8IHRoaXMuZ2V0T2Zmc2V0KCkpO1xuICAgIGNvbnN0IG1heFdpZHRoID0gdGhpcy5oYW5kbGVXaWR0aCh0aGlzLm1heFdpZHRoIHx8IF9tYXgpO1xuICAgIHJldHVybiBNYXRoLm1heChNYXRoLm1pbihtYXhXaWR0aCwgbmV3V2lkdGgpLCBtaW5XaWR0aCk7XG4gIH1cblxuICBwcml2YXRlIGdldE9mZnNldCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLVxuICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVXaWR0aCh3aWR0aDogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgaWYgKHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB3aWR0aDtcbiAgICB9XG4gICAgaWYgKCF3aWR0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAod2lkdGguZW5kc1dpdGgoJyUnKSkge1xuICAgICAgY29uc3QgdGFibGVXaWR0aCA9IHRoaXMuY29udGFpbmVyRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgIHJldHVybiAodGFibGVXaWR0aCAqIE51bWJlci5wYXJzZUZsb2F0KHdpZHRoKSkgLyAxMDA7XG4gICAgfVxuICAgIHJldHVybiBOdW1iZXIucGFyc2VGbG9hdCh3aWR0aC5yZXBsYWNlKC9cXEQrLywgJycpKTtcbiAgfVxufVxuIl19
@@ -3,6 +3,7 @@ export * from './table.module';
3
3
  export * from './table-cell.component';
4
4
  export * from './table-cell.directive';
5
5
  export * from './table-cell-def.directive';
6
+ export { TableColResizableDirective } from './table-col-resizable.directive';
6
7
  export * from './table-column-def.directive';
7
8
  export * from './table-header-cell.directive';
8
9
  export * from './table-header-cell-def.directive';
@@ -12,4 +13,4 @@ export * from './table-placeholder.directive';
12
13
  export * from './table-row.component';
13
14
  export * from './table-row-def.directive';
14
15
  export * from './table-scroll.directive';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1jZWxsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWNlbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtY2VsbC1kZWYuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtY29sdW1uLWRlZi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1oZWFkZXItY2VsbC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1oZWFkZXItY2VsbC1kZWYuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtaGVhZGVyLXJvdy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1oZWFkZXItcm93LWRlZi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1wbGFjZWhvbGRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1yb3cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtcm93LWRlZi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1zY3JvbGwuZGlyZWN0aXZlJztcbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1jZWxsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWNlbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtY2VsbC1kZWYuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFRhYmxlQ29sUmVzaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJsZS1jb2wtcmVzaXphYmxlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWNvbHVtbi1kZWYuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtaGVhZGVyLWNlbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtaGVhZGVyLWNlbGwtZGVmLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWhlYWRlci1yb3cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtaGVhZGVyLXJvdy1kZWYuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtcGxhY2Vob2xkZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtcm93LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLXJvdy1kZWYuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -1,14 +1,13 @@
1
1
  import { CdkCell } from '@angular/cdk/table';
2
2
  import { Directive, Input } from '@angular/core';
3
- import { buildBem } from '../utils';
3
+ import { tableBem } from './table.component';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/cdk/table";
6
- const bem = buildBem('aui-table');
7
6
  export class TableCellDirective extends CdkCell {
8
7
  direction = 'row';
9
8
  constructor(columnDef, elementRef) {
10
9
  super(columnDef, elementRef);
11
- elementRef.nativeElement.classList.add(bem.element(`column-${columnDef.cssClassFriendlyName}`));
10
+ elementRef.nativeElement.classList.add(tableBem.element(`column-${columnDef.cssClassFriendlyName}`));
12
11
  }
13
12
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableCellDirective, deps: [{ token: i1.CdkColumnDef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
14
13
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableCellDirective, isStandalone: true, selector: "aui-table-cell", inputs: { direction: "direction" }, host: { attributes: { "role": "gridcell" }, properties: { "class.aui-table__cell--column": "direction === \"column\"" }, classAttribute: "aui-table__cell" }, usesInheritance: true, ngImport: i0 });
@@ -27,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
27
26
  }], ctorParameters: function () { return [{ type: i1.CdkColumnDef }, { type: i0.ElementRef }]; }, propDecorators: { direction: [{
28
27
  type: Input
29
28
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY2VsbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFFcEMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBYWxDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxPQUFPO0lBRTdDLFNBQVMsR0FBcUIsS0FBSyxDQUFDO0lBRXBDLFlBQVksU0FBdUIsRUFBRSxVQUFtQztRQUN0RSxLQUFLLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdCLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FDcEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQ3hELENBQUM7SUFDSixDQUFDO3VHQVRVLGtCQUFrQjsyRkFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQVY5QixTQUFTO21CQUFDO29CQUVULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsaUJBQWlCO3dCQUN4QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsaUNBQWlDLEVBQUUsd0JBQXdCO3FCQUM1RDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7NEhBR0MsU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrQ2VsbCwgQ2RrQ29sdW1uRGVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgYnVpbGRCZW0gfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGJlbSA9IGJ1aWxkQmVtKCdhdWktdGFibGUnKTtcblxuLyoqIENlbGwgdGVtcGxhdGUgY29udGFpbmVyIHRoYXQgYWRkcyB0aGUgcmlnaHQgY2xhc3NlcyBhbmQgcm9sZS4gKi9cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2F1aS10YWJsZS1jZWxsJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYXVpLXRhYmxlX19jZWxsJyxcbiAgICByb2xlOiAnZ3JpZGNlbGwnLFxuICAgICdbY2xhc3MuYXVpLXRhYmxlX19jZWxsLS1jb2x1bW5dJzogJ2RpcmVjdGlvbiA9PT0gXCJjb2x1bW5cIicsXG4gIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2VsbERpcmVjdGl2ZSBleHRlbmRzIENka0NlbGwge1xuICBASW5wdXQoKVxuICBkaXJlY3Rpb246ICdyb3cnIHwgJ2NvbHVtbicgPSAncm93JztcblxuICBjb25zdHJ1Y3Rvcihjb2x1bW5EZWY6IENka0NvbHVtbkRlZiwgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICBzdXBlcihjb2x1bW5EZWYsIGVsZW1lbnRSZWYpO1xuICAgIGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKFxuICAgICAgYmVtLmVsZW1lbnQoYGNvbHVtbi0ke2NvbHVtbkRlZi5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gKSxcbiAgICApO1xuICB9XG59XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY2VsbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQWE3QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsT0FBTztJQUU3QyxTQUFTLEdBQXFCLEtBQUssQ0FBQztJQUVwQyxZQUFZLFNBQXVCLEVBQUUsVUFBbUM7UUFDdEUsS0FBSyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3QixVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQ3BDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxTQUFTLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUM3RCxDQUFDO0lBQ0osQ0FBQzt1R0FUVSxrQkFBa0I7MkZBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFWOUIsU0FBUzttQkFBQztvQkFFVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLGlCQUFpQjt3QkFDeEIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLGlDQUFpQyxFQUFFLHdCQUF3QjtxQkFDNUQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzRIQUdDLFNBQVM7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0NlbGwsIENka0NvbHVtbkRlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHRhYmxlQmVtIH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuXG4vKiogQ2VsbCB0ZW1wbGF0ZSBjb250YWluZXIgdGhhdCBhZGRzIHRoZSByaWdodCBjbGFzc2VzIGFuZCByb2xlLiAqL1xuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnYXVpLXRhYmxlLWNlbGwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktdGFibGVfX2NlbGwnLFxuICAgIHJvbGU6ICdncmlkY2VsbCcsXG4gICAgJ1tjbGFzcy5hdWktdGFibGVfX2NlbGwtLWNvbHVtbl0nOiAnZGlyZWN0aW9uID09PSBcImNvbHVtblwiJyxcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsRGlyZWN0aXZlIGV4dGVuZHMgQ2RrQ2VsbCB7XG4gIEBJbnB1dCgpXG4gIGRpcmVjdGlvbjogJ3JvdycgfCAnY29sdW1uJyA9ICdyb3cnO1xuXG4gIGNvbnN0cnVjdG9yKGNvbHVtbkRlZjogQ2RrQ29sdW1uRGVmLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHN1cGVyKGNvbHVtbkRlZiwgZWxlbWVudFJlZik7XG4gICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXG4gICAgICB0YWJsZUJlbS5lbGVtZW50KGBjb2x1bW4tJHtjb2x1bW5EZWYuY3NzQ2xhc3NGcmllbmRseU5hbWV9YCksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,127 @@
1
+ import { Directive, ElementRef, inject, Input, Renderer2, } from '@angular/core';
2
+ import { first, fromEvent, map, startWith, Subject, switchMap, takeUntil, } from 'rxjs';
3
+ import { buildBem } from '../utils';
4
+ import { tableBem, TableColumnDefDirective, TableComponent, TableScrollWrapperDirective, } from './index';
5
+ import * as i0 from "@angular/core";
6
+ let tableColResizableUid = 0;
7
+ export const resizableBem = buildBem('aui-table-column-resizable');
8
+ export class TableColResizableDirective {
9
+ minWidth = '60px';
10
+ maxWidth = '100%';
11
+ renderer2 = inject(Renderer2);
12
+ tableColumnDefDirective = inject(TableColumnDefDirective);
13
+ tableComponent = inject(TableComponent);
14
+ tableScrollWrapperDirective = inject(TableScrollWrapperDirective, {
15
+ optional: true,
16
+ });
17
+ selfElement = inject(ElementRef).nativeElement;
18
+ containerElement = (this.tableScrollWrapperDirective || this.tableComponent).elementRef.nativeElement;
19
+ destroy$$ = new Subject();
20
+ styleEl;
21
+ hostAttr;
22
+ ngAfterViewInit() {
23
+ const resizeHandle = this.createResizeHandle();
24
+ this.bindResizable(resizeHandle);
25
+ }
26
+ ngOnDestroy() {
27
+ this.destroy$$.next();
28
+ this.destroy$$.complete();
29
+ }
30
+ bindResizable(resizeHandle) {
31
+ fromEvent(resizeHandle, 'mousedown')
32
+ .pipe(switchMap(mouseDownEvent => {
33
+ this.renderer2.setStyle(resizeHandle, 'visibility', 'hidden');
34
+ const initialMouseX = mouseDownEvent.clientX;
35
+ const columnWidth = this.getColumnWidth();
36
+ const columnOffset = this.getColumnOffset();
37
+ const resizeMarkLine = this.createResizeMarkLine(columnWidth + columnOffset);
38
+ const resizeOverlay = this.createResizeOverlay();
39
+ return fromEvent(document, 'mousemove').pipe(map(mouseMoveEvent => () => resizeMarkLine.updateOffset(mouseMoveEvent.clientX - initialMouseX)), switchMap(renderMarkLine => fromEvent(document, 'mouseup').pipe(first(), map(mouseUpEvent => () => {
40
+ this.renderer2.removeStyle(resizeHandle, 'visibility');
41
+ resizeMarkLine.destroy();
42
+ resizeOverlay.destroy();
43
+ this.renderWidthStyles(columnWidth + mouseUpEvent.clientX - initialMouseX);
44
+ }), startWith(renderMarkLine))));
45
+ }), takeUntil(this.destroy$$))
46
+ .subscribe(exec => {
47
+ exec();
48
+ });
49
+ }
50
+ createResizeHandle() {
51
+ const resizeHandle = this.renderer2.createElement('div');
52
+ this.renderer2.addClass(resizeHandle, resizableBem.element('handle'));
53
+ this.renderer2.appendChild(this.selfElement, resizeHandle);
54
+ return resizeHandle;
55
+ }
56
+ createResizeMarkLine(initialOffset) {
57
+ const markLine = this.renderer2.createElement('div');
58
+ this.renderer2.addClass(markLine, resizableBem.element('mark-line'));
59
+ this.renderer2.setStyle(markLine, 'left', initialOffset + 'px');
60
+ this.renderer2.appendChild(this.containerElement, markLine);
61
+ return {
62
+ element: markLine,
63
+ updateOffset: (offset) => {
64
+ this.renderer2.setStyle(markLine, 'left', initialOffset + offset + 'px');
65
+ },
66
+ destroy: () => {
67
+ this.renderer2.removeChild(this.containerElement, markLine);
68
+ },
69
+ };
70
+ }
71
+ createResizeOverlay() {
72
+ const resizeOverlay = this.renderer2.createElement('div');
73
+ this.renderer2.addClass(resizeOverlay, resizableBem.element('overlay'));
74
+ this.renderer2.appendChild(this.containerElement, resizeOverlay);
75
+ return {
76
+ element: resizeOverlay,
77
+ destroy: () => {
78
+ this.renderer2.removeChild(this.containerElement, resizeOverlay);
79
+ },
80
+ };
81
+ }
82
+ getColumnWidth() {
83
+ return this.selfElement.clientWidth;
84
+ }
85
+ getColumnOffset() {
86
+ return (this.selfElement.getBoundingClientRect().left -
87
+ this.containerElement.getBoundingClientRect().left);
88
+ }
89
+ renderWidthStyles(width) {
90
+ const className = tableBem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
91
+ if (!this.hostAttr) {
92
+ this.hostAttr = `table-resizable-${tableColResizableUid++}`;
93
+ this.containerElement.setAttribute(this.hostAttr, '');
94
+ }
95
+ const styleString = `
96
+ [${this.hostAttr}] .${className} {
97
+ flex: none !important;
98
+ width: ${width}px !important;
99
+ min-width: ${width}px !important;
100
+ max-width: ${width}px !important;
101
+ }
102
+ `;
103
+ if (this.styleEl) {
104
+ this.styleEl.innerHTML = styleString;
105
+ }
106
+ else {
107
+ this.styleEl = this.renderer2.createElement('style');
108
+ this.styleEl.innerHTML = styleString;
109
+ this.renderer2.appendChild(this.containerElement, this.styleEl);
110
+ }
111
+ this.tableComponent.updateStickyColumnStyles();
112
+ }
113
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
114
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableColResizableDirective, isStandalone: true, selector: "[auiTableColumnResizable]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth" }, ngImport: i0 });
115
+ }
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColResizableDirective, decorators: [{
117
+ type: Directive,
118
+ args: [{
119
+ selector: '[auiTableColumnResizable]',
120
+ standalone: true,
121
+ }]
122
+ }], propDecorators: { minWidth: [{
123
+ type: Input
124
+ }], maxWidth: [{
125
+ type: Input
126
+ }] } });
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsR0FBRyxFQUNILFNBQVMsRUFDVCxPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFcEMsT0FBTyxFQUNMLFFBQVEsRUFDUix1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLDJCQUEyQixHQUM1QixNQUFNLFNBQVMsQ0FBQzs7QUFFakIsSUFBSSxvQkFBb0IsR0FBRyxDQUFDLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBTW5FLE1BQU0sT0FBTywwQkFBMEI7SUFFckMsUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUdsQixRQUFRLEdBQUcsTUFBTSxDQUFDO0lBRUQsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5Qix1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxRCxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLDJCQUEyQixHQUFHLE1BQU0sQ0FDbkQsMkJBQTJCLEVBQzNCO1FBQ0UsUUFBUSxFQUFFLElBQUk7S0FDZixDQUNGLENBQUM7SUFFZSxXQUFXLEdBQWdCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUQsZ0JBQWdCLEdBQWdCLENB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QixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNqRTtRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNqRCxDQUFDO3VHQWpMVSwwQkFBMEI7MkZBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBR0MsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGZpcnN0LFxuICBmcm9tRXZlbnQsXG4gIG1hcCxcbiAgc3RhcnRXaXRoLFxuICBTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGJ1aWxkQmVtIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICB0YWJsZUJlbSxcbiAgVGFibGVDb2x1bW5EZWZEaXJlY3RpdmUsXG4gIFRhYmxlQ29tcG9uZW50LFxuICBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vaW5kZXgnO1xuXG5sZXQgdGFibGVDb2xSZXNpemFibGVVaWQgPSAwO1xuZXhwb3J0IGNvbnN0IHJlc2l6YWJsZUJlbSA9IGJ1aWxkQmVtKCdhdWktdGFibGUtY29sdW1uLXJlc2l6YWJsZScpO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFibGVDb2x1bW5SZXNpemFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb2xSZXNpemFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KClcbiAgbWluV2lkdGggPSAnNjBweCc7XG5cbiAgQElucHV0KClcbiAgbWF4V2lkdGggPSAnMTAwJSc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSA9IGluamVjdChUYWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDb21wb25lbnQgPSBpbmplY3QoVGFibGVDb21wb25lbnQpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlU2Nyb2xsV3JhcHBlckRpcmVjdGl2ZSA9IGluamVjdChcbiAgICBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUsXG4gICAge1xuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSxcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNlbGZFbGVtZW50OiBIVE1MRWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lckVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gKFxuICAgIHRoaXMudGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlIHx8IHRoaXMudGFibGVDb21wb25lbnRcbiAgKS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgLy8gcHJpdmF0ZSByZWFkb25seSBiYXJXaWR0aCA9IDI7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIHN0eWxlRWw6IEhUTUxTdHlsZUVsZW1lbnQ7XG4gIHByaXZhdGUgaG9zdEF0dHI6IHN0cmluZztcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gdGhpcy5jcmVhdGVSZXNpemVIYW5kbGUoKTtcbiAgICB0aGlzLmJpbmRSZXNpemFibGUocmVzaXplSGFuZGxlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kUmVzaXphYmxlKHJlc2l6ZUhhbmRsZTogSFRNTEVsZW1lbnQpIHtcbiAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4ocmVzaXplSGFuZGxlLCAnbW91c2Vkb3duJylcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAvLyAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIC8vICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgLy8gICBjb25zdCBpbml0aWFsV2lkdGggPSB0aGlzLnNlbGZFbGVtZW50LmNsaWVudFdpZHRoO1xuXG4gICAgICAgIC8vICAgLy8g6YG/5YWN5Lik5p2h57q/5LiN5a+56b2QXG4gICAgICAgIC8vICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUocmVzaXplSGFuZGxlLCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcblxuICAgICAgICAvLyAgIHJldHVybiB7XG4gICAgICAgIC8vICAgICBtYXJrTGluZTogdGhpcy5jcmVhdGVSZXNpemVNYXJrTGluZSgpLFxuICAgICAgICAvLyAgICAgcmVzaXplT3ZlcmxheTogdGhpcy5jcmVhdGVSZXNpemVPdmVybGF5KCksXG4gICAgICAgIC8vICAgICBpbml0aWFsV2lkdGgsXG4gICAgICAgIC8vICAgICBpbml0aWFsTW91c2VYOiBldmVudC5jbGllbnRYLFxuICAgICAgICAvLyAgIH07XG4gICAgICAgIC8vIH0pLFxuICAgICAgICBzd2l0Y2hNYXAobW91c2VEb3duRXZlbnQgPT4ge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKHJlc2l6ZUhhbmRsZSwgJ3Zpc2liaWxpdHknLCAnaGlkZGVuJyk7XG4gICAgICAgICAgY29uc3QgaW5pdGlhbE1vdXNlWCA9IG1vdXNlRG93bkV2ZW50LmNsaWVudFg7XG4gICAgICAgICAgY29uc3QgY29sdW1uV2lkdGggPSB0aGlzLmdldENvbHVtbldpZHRoKCk7XG4gICAgICAgICAgY29uc3QgY29sdW1uT2Zmc2V0ID0gdGhpcy5nZXRDb2x1bW5PZmZzZXQoKTtcbiAgICAgICAgICBjb25zdCByZXNpemVNYXJrTGluZSA9IHRoaXMuY3JlYXRlUmVzaXplTWFya0xpbmUoXG4gICAgICAgICAgICBjb2x1bW5XaWR0aCArIGNvbHVtbk9mZnNldCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHJlc2l6ZU92ZXJsYXkgPSB0aGlzLmNyZWF0ZVJlc2l6ZU92ZXJsYXkoKTtcbiAgICAgICAgICByZXR1cm4gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vtb3ZlJykucGlwZShcbiAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgbW91c2VNb3ZlRXZlbnQgPT4gKCkgPT5cbiAgICAgICAgICAgICAgICByZXNpemVNYXJrTGluZS51cGRhdGVPZmZzZXQoXG4gICAgICAgICAgICAgICAgICBtb3VzZU1vdmVFdmVudC5jbGllbnRYIC0gaW5pdGlhbE1vdXNlWCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcChyZW5kZXJNYXJrTGluZSA9PlxuICAgICAgICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZXVwJykucGlwZShcbiAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgIG1hcChtb3VzZVVwRXZlbnQgPT4gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlU3R5bGUocmVzaXplSGFuZGxlLCAndmlzaWJpbGl0eScpO1xuICAgICAgICAgICAgICAgICAgcmVzaXplTWFya0xpbmUuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgICAgcmVzaXplT3ZlcmxheS5kZXN0cm95KCk7XG5cbiAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyV2lkdGhTdHlsZXMoXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbldpZHRoICsgbW91c2VVcEV2ZW50LmNsaWVudFggLSBpbml0aWFsTW91c2VYLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgocmVuZGVyTWFya0xpbmUpLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZXhlYyA9PiB7XG4gICAgICAgIGV4ZWMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVIYW5kbGUoKSB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlOiBIVE1MRGl2RWxlbWVudCA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKHJlc2l6ZUhhbmRsZSwgcmVzaXphYmxlQmVtLmVsZW1lbnQoJ2hhbmRsZScpKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLnNlbGZFbGVtZW50LCByZXNpemVIYW5kbGUpO1xuXG4gICAgLy8gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHJlc2l6ZUhhbmRsZSwgJ2NsaWNrJylcbiAgICAvLyAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpXG4gICAgLy8gICAuc3Vic2NyaWJlKGV2ZW50ID0+IGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpKTtcblxuICAgIHJldHVybiByZXNpemVIYW5kbGU7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlc2l6ZU1hcmtMaW5lKGluaXRpYWxPZmZzZXQ6IG51bWJlcikge1xuICAgIGNvbnN0IG1hcmtMaW5lOiBIVE1MRWxlbWVudCA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKG1hcmtMaW5lLCByZXNpemFibGVCZW0uZWxlbWVudCgnbWFyay1saW5lJykpO1xuICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKG1hcmtMaW5lLCAnbGVmdCcsIGluaXRpYWxPZmZzZXQgKyAncHgnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIG1hcmtMaW5lKTtcbiAgICByZXR1cm4ge1xuICAgICAgZWxlbWVudDogbWFya0xpbmUsXG4gICAgICB1cGRhdGVPZmZzZXQ6IChvZmZzZXQ6IG51bWJlcikgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgICAgICBtYXJrTGluZSxcbiAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgaW5pdGlhbE9mZnNldCArIG9mZnNldCArICdweCcsXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgZGVzdHJveTogKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIG1hcmtMaW5lKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplT3ZlcmxheSgpIHtcbiAgICBjb25zdCByZXNpemVPdmVybGF5ID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3MocmVzaXplT3ZlcmxheSwgcmVzaXphYmxlQmVtLmVsZW1lbnQoJ292ZXJsYXknKSk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCByZXNpemVPdmVybGF5KTtcbiAgICByZXR1cm4ge1xuICAgICAgZWxlbWVudDogcmVzaXplT3ZlcmxheSxcbiAgICAgIGRlc3Ryb3k6ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCByZXNpemVPdmVybGF5KTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29sdW1uV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZkVsZW1lbnQuY2xpZW50V2lkdGg7XG4gIH1cblxuICBwcml2YXRlIGdldENvbHVtbk9mZnNldCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zZWxmRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC1cbiAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyV2lkdGhTdHlsZXMod2lkdGg6IG51bWJlcikge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRhYmxlQmVtLmVsZW1lbnQoXG4gICAgICBgY29sdW1uLSR7dGhpcy50YWJsZUNvbHVtbkRlZkRpcmVjdGl2ZS5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gLFxuICAgICk7XG4gICAgaWYgKCF0aGlzLmhvc3RBdHRyKSB7XG4gICAgICB0aGlzLmhvc3RBdHRyID0gYHRhYmxlLXJlc2l6YWJsZS0ke3RhYmxlQ29sUmVzaXphYmxlVWlkKyt9YDtcbiAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5ob3N0QXR0ciwgJycpO1xuICAgIH1cbiAgICBjb25zdCBzdHlsZVN0cmluZyA9IGBcbiAgICAgWyR7dGhpcy5ob3N0QXR0cn1dIC4ke2NsYXNzTmFtZX0ge1xuICAgICAgZmxleDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6ICR7d2lkdGh9cHggIWltcG9ydGFudDtcbiAgICAgIG1pbi13aWR0aDogJHt3aWR0aH1weCAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiAke3dpZHRofXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGA7XG4gICAgaWYgKHRoaXMuc3R5bGVFbCkge1xuICAgICAgdGhpcy5zdHlsZUVsLmlubmVySFRNTCA9IHN0eWxlU3RyaW5nO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0eWxlRWwgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgdGhpcy5zdHlsZUVsLmlubmVySFRNTCA9IHN0eWxlU3RyaW5nO1xuICAgICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCB0aGlzLnN0eWxlRWwpO1xuICAgIH1cblxuICAgIHRoaXMudGFibGVDb21wb25lbnQudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,13 +1,12 @@
1
1
  import { CdkHeaderCell } from '@angular/cdk/table';
2
2
  import { Directive } from '@angular/core';
3
- import { buildBem } from '../utils';
3
+ import { tableBem } from './table.component';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/cdk/table";
6
- const bem = buildBem('aui-table');
7
6
  export class TableHeaderCellDirective extends CdkHeaderCell {
8
7
  constructor(columnDef, elementRef) {
9
8
  super(columnDef, elementRef);
10
- elementRef.nativeElement.classList.add(bem.element(`column-${columnDef.cssClassFriendlyName}`));
9
+ elementRef.nativeElement.classList.add(tableBem.element(`column-${columnDef.cssClassFriendlyName}`));
11
10
  }
12
11
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableHeaderCellDirective, deps: [{ token: i1.CdkColumnDef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
13
12
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableHeaderCellDirective, isStandalone: true, selector: "aui-table-header-cell", host: { attributes: { "role": "columnheader" }, classAttribute: "aui-table__header-cell" }, usesInheritance: true, ngImport: i0 });
@@ -23,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
23
22
  standalone: true,
24
23
  }]
25
24
  }], ctorParameters: function () { return [{ type: i1.CdkColumnDef }, { type: i0.ElementRef }]; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLWNlbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RhYmxlL3RhYmxlLWhlYWRlci1jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBRXBDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQVlsQyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQUN6RCxZQUFZLFNBQXVCLEVBQUUsVUFBbUM7UUFDdEUsS0FBSyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3QixVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQ3BDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxTQUFTLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUN4RCxDQUFDO0lBQ0osQ0FBQzt1R0FOVSx3QkFBd0I7MkZBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFUcEMsU0FBUzttQkFBQztvQkFFVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLHdCQUF3Qjt3QkFDL0IsSUFBSSxFQUFFLGNBQWM7cUJBQ3JCO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0NvbHVtbkRlZiwgQ2RrSGVhZGVyQ2VsbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgYnVpbGRCZW0gfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGJlbSA9IGJ1aWxkQmVtKCdhdWktdGFibGUnKTtcblxuLyoqIEhlYWRlciBjZWxsIHRlbXBsYXRlIGNvbnRhaW5lciB0aGF0IGFkZHMgdGhlIHJpZ2h0IGNsYXNzZXMgYW5kIHJvbGUuICovXG5ARGlyZWN0aXZlKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdhdWktdGFibGUtaGVhZGVyLWNlbGwnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktdGFibGVfX2hlYWRlci1jZWxsJyxcbiAgICByb2xlOiAnY29sdW1uaGVhZGVyJyxcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVIZWFkZXJDZWxsRGlyZWN0aXZlIGV4dGVuZHMgQ2RrSGVhZGVyQ2VsbCB7XG4gIGNvbnN0cnVjdG9yKGNvbHVtbkRlZjogQ2RrQ29sdW1uRGVmLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHN1cGVyKGNvbHVtbkRlZiwgZWxlbWVudFJlZik7XG4gICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXG4gICAgICBiZW0uZWxlbWVudChgY29sdW1uLSR7Y29sdW1uRGVmLmNzc0NsYXNzRnJpZW5kbHlOYW1lfWApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZGVyLWNlbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RhYmxlL3RhYmxlLWhlYWRlci1jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFZN0MsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFDekQsWUFBWSxTQUF1QixFQUFFLFVBQW1DO1FBQ3RFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0IsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUNwQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsU0FBUyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FDN0QsQ0FBQztJQUNKLENBQUM7dUdBTlUsd0JBQXdCOzJGQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBVHBDLFNBQVM7bUJBQUM7b0JBRVQsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSx3QkFBd0I7d0JBQy9CLElBQUksRUFBRSxjQUFjO3FCQUNyQjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtDb2x1bW5EZWYsIENka0hlYWRlckNlbGwgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHRhYmxlQmVtIH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuXG4vKiogSGVhZGVyIGNlbGwgdGVtcGxhdGUgY29udGFpbmVyIHRoYXQgYWRkcyB0aGUgcmlnaHQgY2xhc3NlcyBhbmQgcm9sZS4gKi9cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2F1aS10YWJsZS1oZWFkZXItY2VsbCcsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS10YWJsZV9faGVhZGVyLWNlbGwnLFxuICAgIHJvbGU6ICdjb2x1bW5oZWFkZXInLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUhlYWRlckNlbGxEaXJlY3RpdmUgZXh0ZW5kcyBDZGtIZWFkZXJDZWxsIHtcbiAgY29uc3RydWN0b3IoY29sdW1uRGVmOiBDZGtDb2x1bW5EZWYsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgc3VwZXIoY29sdW1uRGVmLCBlbGVtZW50UmVmKTtcbiAgICBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcbiAgICAgIHRhYmxlQmVtLmVsZW1lbnQoYGNvbHVtbi0ke2NvbHVtbkRlZi5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,21 +1,21 @@
1
1
  import { CdkScrollable } from '@angular/cdk/scrolling';
2
- import { Directive, Host, HostBinding, Input, Optional, } from '@angular/core';
2
+ import { Directive, ElementRef, Host, HostBinding, inject, Input, Optional, } from '@angular/core';
3
3
  import { Subject, fromEvent, merge, startWith, takeUntil, switchMap, NEVER, BehaviorSubject, } from 'rxjs';
4
- import { coerceAttrBoolean, observeResizeOn } from '../utils';
4
+ import { buildBem, coerceAttrBoolean, observeResizeOn } from '../utils';
5
+ import { tableBem } from './table.component';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/cdk/scrolling";
7
8
  import * as i2 from "./table.component";
8
9
  import * as i3 from "@angular/cdk/bidi";
9
- const CLASS_PREFIX = 'aui-table';
10
- const SHADOW_CLASS = `${CLASS_PREFIX}__scroll-shadow`;
11
- const HAS_SCROLL_CLASS = `${SHADOW_CLASS}--has-scroll`;
12
- const SCROLLING_CLASS = `${SHADOW_CLASS}--scrolling`;
13
- const SCROLL_BEFORE_END_CLASS = `${SHADOW_CLASS}--before-end`;
10
+ const shadowClass = tableBem.element('scroll-shadow');
11
+ const shadowBem = buildBem(shadowClass);
12
+ const scrollBeforeEndClass = shadowBem.modifier('before-end');
14
13
  const HAS_TABLE_TOP_SHADOW = 'hasTableTopShadow';
15
14
  const HAS_TABLE_BOTTOM_SHADOW = 'hasTableBottomShadow';
16
15
  const HAS_TABLE_VERTICAL_SCROLL = 'hasTableVerticalScroll';
17
16
  export class TableScrollWrapperDirective {
18
17
  auiTableScrollWrapper = '100%';
18
+ elementRef = inject(ElementRef);
19
19
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableScrollWrapperDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
20
20
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableScrollWrapperDirective, isStandalone: true, selector: "[auiTableScrollWrapper]", inputs: { auiTableScrollWrapper: "auiTableScrollWrapper" }, host: { properties: { "style.max-height": "this.auiTableScrollWrapper" }, classAttribute: "aui-table__scroll-wrapper" }, ngImport: i0 });
21
21
  }
@@ -52,8 +52,7 @@ export class TableScrollableDirective extends CdkScrollable {
52
52
  this.el = el;
53
53
  this.table = table;
54
54
  }
55
- SCROLL_BEFORE_END_CLASS = true;
56
- SHADOW_CLASS = true;
55
+ className = `${scrollBeforeEndClass} ${shadowClass}`;
57
56
  get containerEl() {
58
57
  return this.el.nativeElement;
59
58
  }
@@ -96,16 +95,16 @@ export class TableScrollableDirective extends CdkScrollable {
96
95
  }
97
96
  mutateHorizontalScroll() {
98
97
  const scrollDis = this.containerEl.scrollWidth - this.containerEl.offsetWidth;
99
- this.placeClassList(this.containerEl.classList, scrollDis > 0, HAS_SCROLL_CLASS);
98
+ this.placeClassList(this.containerEl.classList, scrollDis > 0, shadowBem.modifier('has-scroll'));
100
99
  const scrollLeft = this.containerEl.scrollLeft;
101
- this.placeClassList(this.containerEl.classList, scrollLeft > 0, SCROLLING_CLASS);
102
- this.placeClassList(this.containerEl.classList, scrollLeft < scrollDis, SCROLL_BEFORE_END_CLASS);
100
+ this.placeClassList(this.containerEl.classList, scrollLeft > 0, shadowBem.modifier('scrolling'));
101
+ this.placeClassList(this.containerEl.classList, scrollLeft < scrollDis, scrollBeforeEndClass);
103
102
  }
104
103
  placeClassList(classList, condition, className) {
105
104
  classList[condition ? 'add' : 'remove'](className);
106
105
  }
107
106
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i1.ScrollDispatcher }, { token: i0.NgZone }, { token: i2.TableComponent, host: true }, { token: i3.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
108
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableScrollableDirective, isStandalone: true, selector: "[auiTableScrollable]", inputs: { scrollable: ["auiTableScrollable", "scrollable"] }, host: { properties: { "class.aui-table__scroll-shadow--before-end": "this.SCROLL_BEFORE_END_CLASS", "class.aui-table__scroll-shadow": "this.SHADOW_CLASS" } }, providers: [
107
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableScrollableDirective, isStandalone: true, selector: "[auiTableScrollable]", inputs: { scrollable: ["auiTableScrollable", "scrollable"] }, host: { properties: { "class": "this.className" } }, providers: [
109
108
  { provide: CdkScrollable, useExisting: TableScrollableDirective },
110
109
  ], usesInheritance: true, ngImport: i0 });
111
110
  }
@@ -125,11 +124,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
125
124
  }] }]; }, propDecorators: { scrollable: [{
126
125
  type: Input,
127
126
  args: ['auiTableScrollable']
128
- }], SCROLL_BEFORE_END_CLASS: [{
127
+ }], className: [{
129
128
  type: HostBinding,
130
- args: [`class.${SCROLL_BEFORE_END_CLASS}`]
131
- }], SHADOW_CLASS: [{
132
- type: HostBinding,
133
- args: [`class.${SHADOW_CLASS}`]
129
+ args: ['class']
134
130
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUVMLFNBQVMsRUFFVCxJQUFJLEVBQ0osV0FBVyxFQUNYLEtBQUssRUFJTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLE9BQU8sRUFDUCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULEtBQUssRUFDTCxlQUFlLEdBQ2hCLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFJOUQsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDO0FBQ2pDLE1BQU0sWUFBWSxHQUFHLEdBQUcsWUFBWSxpQkFBaUIsQ0FBQztBQUN0RCxNQUFNLGdCQUFnQixHQUFHLEdBQUcsWUFBWSxjQUFjLENBQUM7QUFDdkQsTUFBTSxlQUFlLEdBQUcsR0FBRyxZQUFZLGFBQWEsQ0FBQztBQUNyRCxNQUFNLHVCQUF1QixHQUFHLEdBQUcsWUFBWSxjQUFjLENBQUM7QUFFOUQsTUFBTSxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQztBQUNqRCxNQUFNLHVCQUF1QixHQUFHLHNCQUFzQixDQUFDO0FBQ3ZELE1BQU0seUJBQXlCLEdBQUcsd0JBQXdCLENBQUM7QUFTM0QsTUFBTSxPQUFPLDJCQUEyQjtJQUd0QyxxQkFBcUIsR0FBRyxNQUFNLENBQUM7dUdBSHBCLDJCQUEyQjsyRkFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQVB2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLElBQUksRUFBRTt3QkFD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QUNyRCxDQUFDO3VHQXJJVSx3QkFBd0I7MkZBQXhCLHdCQUF3QixnU0FMeEI7WUFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFO1NBQ2xFOzsyRkFHVSx3QkFBd0I7a0JBUHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLDBCQUEwQixFQUFFO3FCQUNsRTtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQXdCSSxJQUFJOzswQkFDSixRQUFROzRDQW5CUCxVQUFVO3NCQURiLEtBQUs7dUJBQUMsb0JBQW9CO2dCQTBCM0IsdUJBQXVCO3NCQUR0QixXQUFXO3VCQUFDLFNBQVMsdUJBQXVCLEVBQUU7Z0JBSS9DLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxTQUFTLFlBQVksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSwgU2Nyb2xsRGlzcGF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFN1YmplY3QsXG4gIGZyb21FdmVudCxcbiAgbWVyZ2UsXG4gIHN0YXJ0V2l0aCxcbiAgdGFrZVVudGlsLFxuICBzd2l0Y2hNYXAsXG4gIE5FVkVSLFxuICBCZWhhdmlvclN1YmplY3QsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBjb2VyY2VBdHRyQm9vbGVhbiwgb2JzZXJ2ZVJlc2l6ZU9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcblxuY29uc3QgQ0xBU1NfUFJFRklYID0gJ2F1aS10YWJsZSc7XG5jb25zdCBTSEFET1dfQ0xBU1MgPSBgJHtDTEFTU19QUkVGSVh9X19zY3JvbGwtc2hhZG93YDtcbmNvbnN0IEhBU19TQ1JPTExfQ0xBU1MgPSBgJHtTSEFET1dfQ0xBU1N9LS1oYXMtc2Nyb2xsYDtcbmNvbnN0IFNDUk9MTElOR19DTEFTUyA9IGAke1NIQURPV19DTEFTU30tLXNjcm9sbGluZ2A7XG5jb25zdCBTQ1JPTExfQkVGT1JFX0VORF9DTEFTUyA9IGAke1NIQURPV19DTEFTU30tLWJlZm9yZS1lbmRgO1xuXG5jb25zdCBIQVNfVEFCTEVfVE9QX1NIQURPVyA9ICdoYXNUYWJsZVRvcFNoYWRvdyc7XG5jb25zdCBIQVNfVEFCTEVfQk9UVE9NX1NIQURPVyA9ICdoYXNUYWJsZUJvdHRvbVNoYWRvdyc7XG5jb25zdCBIQVNfVEFCTEVfVkVSVElDQUxfU0NST0xMID0gJ2hhc1RhYmxlVmVydGljYWxTY3JvbGwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFibGVTY3JvbGxXcmFwcGVyXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS10YWJsZV9fc2Nyb2xsLXdyYXBwZXInLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC1oZWlnaHQnKVxuICBASW5wdXQoKVxuICBhdWlUYWJsZVNjcm9sbFdyYXBwZXIgPSAnMTAwJSc7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlUYWJsZVNjcm9sbGFibGVdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBDZGtTY3JvbGxhYmxlLCB1c2VFeGlzdGluZzogVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlU2Nyb2xsYWJsZURpcmVjdGl2ZVxuICBleHRlbmRzIENka1Njcm9sbGFibGVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoJ2F1aVRhYmxlU2Nyb2xsYWJsZScpXG4gIHNldCBzY3JvbGxhYmxlKHNjcm9sbGFibGU6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX3Njcm9sbGFibGUgPSBjb2VyY2VBdHRyQm9vbGVhbihzY3JvbGxhYmxlKTtcbiAgICB0aGlzLnNjcm9sbGFibGUkJC5uZXh0KHRoaXMuX3Njcm9sbGFibGUpO1xuICB9XG5cbiAgZ2V0IHNjcm9sbGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbGFibGU7XG4gIH1cblxuICBwcml2YXRlIF9zY3JvbGxhYmxlID0gdHJ1ZTtcblxuICBzY3JvbGxhYmxlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuX3Njcm9sbGFibGUpO1xuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IHRhYmxlOiBUYWJsZUNvbXBvbmVudDx1bmtub3duPixcbiAgICBAT3B0aW9uYWwoKSBkaXI/OiBEaXJlY3Rpb25hbGl0eSxcbiAgKSB7XG4gICAgc3VwZXIoZWwsIHNjcm9sbERpc3BhdGNoZXIsIG5nWm9uZSwgZGlyKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZyhgY2xhc3MuJHtTQ1JPTExfQkVGT1JFX0VORF9DTEFTU31gKVxuICBTQ1JPTExfQkVGT1JFX0VORF9DTEFTUyA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKGBjbGFzcy4ke1NIQURPV19DTEFTU31gKVxuICBTSEFET1dfQ0xBU1MgPSB0cnVlO1xuXG4gIGdldCBjb250YWluZXJFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsYWJsZSkge1xuICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnZpZXdNdXRhdGlvbigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHZpZXdNdXRhdGlvbigpIHtcbiAgICB0aGlzLnNjcm9sbGFibGUkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChzY3JvbGxhYmxlID0+IHtcbiAgICAgICAgICBpZiAoc2Nyb2xsYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpO1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgICBvYnNlcnZlUmVzaXplT24odGhpcy5jb250YWluZXJFbCksXG4gICAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLmNvbnRhaW5lckVsLCAnc2Nyb2xsJyksXG4gICAgICAgICAgICApLnBpcGUoc3RhcnRXaXRoKG51bGwpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNjcm9sbERpc3BhdGNoZXIuZGVyZWdpc3Rlcih0aGlzKTtcbiAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm11dGF0ZVZlcnRpY2FsU2Nyb2xsKCk7XG4gICAgICAgIHRoaXMubXV0YXRlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBtdXRhdGVWZXJ0aWNhbFNjcm9sbCgpIHtcbiAgICBjb25zdCBzY3JvbGxEaXMgPVxuICAgICAgdGhpcy5jb250YWluZXJFbC5zY3JvbGxIZWlnaHQgLSB0aGlzLmNvbnRhaW5lckVsLm9mZnNldEhlaWdodDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBIQVNfVEFCTEVfVkVSVElDQUxfU0NST0xMLFxuICAgICk7XG5cbiAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFRvcDtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPiAwLFxuICAgICAgSEFTX1RBQkxFX1RPUF9TSEFET1csXG4gICAgKTtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPCBzY3JvbGxEaXMsXG4gICAgICBIQVNfVEFCTEVfQk9UVE9NX1NIQURPVyxcbiAgICApO1xuXG4gICAgLy8g5YW85a655bGP5bmV57yp5pS+5pivIHN0aWNreeWkmuWIl+eahOagt+W8j+mXrumimFxuICAgIHRoaXMudGFibGUudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gIH1cblxuICBtdXRhdGVIb3Jpem9udGFsU2Nyb2xsKCkge1xuICAgIGNvbnN0IHNjcm9sbERpcyA9XG4gICAgICB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFdpZHRoIC0gdGhpcy5jb250YWluZXJFbC5vZmZzZXRXaWR0aDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBIQVNfU0NST0xMX0NMQVNTLFxuICAgICk7XG5cbiAgICBjb25zdCBzY3JvbGxMZWZ0ID0gdGhpcy5jb250YWluZXJFbC5zY3JvbGxMZWZ0O1xuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbExlZnQgPiAwLFxuICAgICAgU0NST0xMSU5HX0NMQVNTLFxuICAgICk7XG4gICAgdGhpcy5wbGFjZUNsYXNzTGlzdChcbiAgICAgIHRoaXMuY29udGFpbmVyRWwuY2xhc3NMaXN0LFxuICAgICAgc2Nyb2xsTGVmdCA8IHNjcm9sbERpcyxcbiAgICAgIFNDUk9MTF9CRUZPUkVfRU5EX0NMQVNTLFxuICAgICk7XG4gIH1cblxuICBwbGFjZUNsYXNzTGlzdChcbiAgICBjbGFzc0xpc3Q6IERPTVRva2VuTGlzdCxcbiAgICBjb25kaXRpb246IGJvb2xlYW4sXG4gICAgY2xhc3NOYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIGNsYXNzTGlzdFtjb25kaXRpb24gPyAnYWRkJyA6ICdyZW1vdmUnXShjbGFzc05hbWUpO1xuICB9XG59XG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQW9CLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUlMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsT0FBTyxFQUNQLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGVBQWUsR0FDaEIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsUUFBUSxFQUFrQixNQUFNLG1CQUFtQixDQUFDOzs7OztBQUU3RCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3RELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4QyxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFOUQsTUFBTSxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQztBQUNqRCxNQUFNLHVCQUF1QixHQUFHLHNCQUFzQixDQUFDO0FBQ3ZELE1BQU0seUJBQXlCLEdBQUcsd0JBQXdCLENBQUM7QUFTM0QsTUFBTSxPQUFPLDJCQUEyQjtJQUd0QyxxQkFBcUIsR0FBRyxNQUFNLENBQUM7SUFFL0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQzt1R0FMckIsMkJBQTJCOzJGQUEzQiwyQkFBMkI7OzJG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QUF1QixFQUN2QixTQUFrQixFQUNsQixTQUFpQjtRQUVqQixTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7dUdBbElVLHdCQUF3QjsyRkFBeEIsd0JBQXdCLHNMQUx4QjtZQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUU7U0FDbEU7OzJGQUdVLHdCQUF3QjtrQkFQcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsMEJBQTBCLEVBQUU7cUJBQ2xFO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7MEJBd0JJLElBQUk7OzBCQUNKLFFBQVE7NENBbkJQLFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBMEIzQixTQUFTO3NCQURSLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSwgU2Nyb2xsRGlzcGF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0LFxuICBIb3N0QmluZGluZyxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU3ViamVjdCxcbiAgZnJvbUV2ZW50LFxuICBtZXJnZSxcbiAgc3RhcnRXaXRoLFxuICB0YWtlVW50aWwsXG4gIHN3aXRjaE1hcCxcbiAgTkVWRVIsXG4gIEJlaGF2aW9yU3ViamVjdCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGJ1aWxkQmVtLCBjb2VyY2VBdHRyQm9vbGVhbiwgb2JzZXJ2ZVJlc2l6ZU9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyB0YWJsZUJlbSwgVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5cbmNvbnN0IHNoYWRvd0NsYXNzID0gdGFibGVCZW0uZWxlbWVudCgnc2Nyb2xsLXNoYWRvdycpO1xuY29uc3Qgc2hhZG93QmVtID0gYnVpbGRCZW0oc2hhZG93Q2xhc3MpO1xuY29uc3Qgc2Nyb2xsQmVmb3JlRW5kQ2xhc3MgPSBzaGFkb3dCZW0ubW9kaWZpZXIoJ2JlZm9yZS1lbmQnKTtcblxuY29uc3QgSEFTX1RBQkxFX1RPUF9TSEFET1cgPSAnaGFzVGFibGVUb3BTaGFkb3cnO1xuY29uc3QgSEFTX1RBQkxFX0JPVFRPTV9TSEFET1cgPSAnaGFzVGFibGVCb3R0b21TaGFkb3cnO1xuY29uc3QgSEFTX1RBQkxFX1ZFUlRJQ0FMX1NDUk9MTCA9ICdoYXNUYWJsZVZlcnRpY2FsU2Nyb2xsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aVRhYmxlU2Nyb2xsV3JhcHBlcl0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktdGFibGVfX3Njcm9sbC13cmFwcGVyJyxcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlIHtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtaGVpZ2h0JylcbiAgQElucHV0KClcbiAgYXVpVGFibGVTY3JvbGxXcmFwcGVyID0gJzEwMCUnO1xuXG4gIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlUYWJsZVNjcm9sbGFibGVdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBDZGtTY3JvbGxhYmxlLCB1c2VFeGlzdGluZzogVGFibGVTY3JvbGxhYmxlRGlyZWN0aXZlIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlU2Nyb2xsYWJsZURpcmVjdGl2ZVxuICBleHRlbmRzIENka1Njcm9sbGFibGVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoJ2F1aVRhYmxlU2Nyb2xsYWJsZScpXG4gIHNldCBzY3JvbGxhYmxlKHNjcm9sbGFibGU6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX3Njcm9sbGFibGUgPSBjb2VyY2VBdHRyQm9vbGVhbihzY3JvbGxhYmxlKTtcbiAgICB0aGlzLnNjcm9sbGFibGUkJC5uZXh0KHRoaXMuX3Njcm9sbGFibGUpO1xuICB9XG5cbiAgZ2V0IHNjcm9sbGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbGFibGU7XG4gIH1cblxuICBwcml2YXRlIF9zY3JvbGxhYmxlID0gdHJ1ZTtcblxuICBzY3JvbGxhYmxlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuX3Njcm9sbGFibGUpO1xuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHNjcm9sbERpc3BhdGNoZXI6IFNjcm9sbERpc3BhdGNoZXIsXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IHRhYmxlOiBUYWJsZUNvbXBvbmVudDx1bmtub3duPixcbiAgICBAT3B0aW9uYWwoKSBkaXI/OiBEaXJlY3Rpb25hbGl0eSxcbiAgKSB7XG4gICAgc3VwZXIoZWwsIHNjcm9sbERpc3BhdGNoZXIsIG5nWm9uZSwgZGlyKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBjbGFzc05hbWUgPSBgJHtzY3JvbGxCZWZvcmVFbmRDbGFzc30gJHtzaGFkb3dDbGFzc31gO1xuXG4gIGdldCBjb250YWluZXJFbCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsYWJsZSkge1xuICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnZpZXdNdXRhdGlvbigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHZpZXdNdXRhdGlvbigpIHtcbiAgICB0aGlzLnNjcm9sbGFibGUkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChzY3JvbGxhYmxlID0+IHtcbiAgICAgICAgICBpZiAoc2Nyb2xsYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpO1xuICAgICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgICBvYnNlcnZlUmVzaXplT24odGhpcy5jb250YWluZXJFbCksXG4gICAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLmNvbnRhaW5lckVsLCAnc2Nyb2xsJyksXG4gICAgICAgICAgICApLnBpcGUoc3RhcnRXaXRoKG51bGwpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNjcm9sbERpc3BhdGNoZXIuZGVyZWdpc3Rlcih0aGlzKTtcbiAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm11dGF0ZVZlcnRpY2FsU2Nyb2xsKCk7XG4gICAgICAgIHRoaXMubXV0YXRlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBtdXRhdGVWZXJ0aWNhbFNjcm9sbCgpIHtcbiAgICBjb25zdCBzY3JvbGxEaXMgPVxuICAgICAgdGhpcy5jb250YWluZXJFbC5zY3JvbGxIZWlnaHQgLSB0aGlzLmNvbnRhaW5lckVsLm9mZnNldEhlaWdodDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBIQVNfVEFCTEVfVkVSVElDQUxfU0NST0xMLFxuICAgICk7XG5cbiAgICBjb25zdCBzY3JvbGxUb3AgPSB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFRvcDtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPiAwLFxuICAgICAgSEFTX1RBQkxFX1RPUF9TSEFET1csXG4gICAgKTtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxUb3AgPCBzY3JvbGxEaXMsXG4gICAgICBIQVNfVEFCTEVfQk9UVE9NX1NIQURPVyxcbiAgICApO1xuXG4gICAgLy8g5YW85a655bGP5bmV57yp5pS+5pivIHN0aWNreeWkmuWIl+eahOagt+W8j+mXrumimFxuICAgIHRoaXMudGFibGUudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gIH1cblxuICBtdXRhdGVIb3Jpem9udGFsU2Nyb2xsKCkge1xuICAgIGNvbnN0IHNjcm9sbERpcyA9XG4gICAgICB0aGlzLmNvbnRhaW5lckVsLnNjcm9sbFdpZHRoIC0gdGhpcy5jb250YWluZXJFbC5vZmZzZXRXaWR0aDtcblxuICAgIHRoaXMucGxhY2VDbGFzc0xpc3QoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmNsYXNzTGlzdCxcbiAgICAgIHNjcm9sbERpcyA+IDAsXG4gICAgICBzaGFkb3dCZW0ubW9kaWZpZXIoJ2hhcy1zY3JvbGwnKSxcbiAgICApO1xuXG4gICAgY29uc3Qgc2Nyb2xsTGVmdCA9IHRoaXMuY29udGFpbmVyRWwuc2Nyb2xsTGVmdDtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxMZWZ0ID4gMCxcbiAgICAgIHNoYWRvd0JlbS5tb2RpZmllcignc2Nyb2xsaW5nJyksXG4gICAgKTtcbiAgICB0aGlzLnBsYWNlQ2xhc3NMaXN0KFxuICAgICAgdGhpcy5jb250YWluZXJFbC5jbGFzc0xpc3QsXG4gICAgICBzY3JvbGxMZWZ0IDwgc2Nyb2xsRGlzLFxuICAgICAgc2Nyb2xsQmVmb3JlRW5kQ2xhc3MsXG4gICAgKTtcbiAgfVxuXG4gIHBsYWNlQ2xhc3NMaXN0KFxuICAgIGNsYXNzTGlzdDogRE9NVG9rZW5MaXN0LFxuICAgIGNvbmRpdGlvbjogYm9vbGVhbixcbiAgICBjbGFzc05hbWU6IHN0cmluZyxcbiAgKSB7XG4gICAgY2xhc3NMaXN0W2NvbmRpdGlvbiA/ICdhZGQnIDogJ3JlbW92ZSddKGNsYXNzTmFtZSk7XG4gIH1cbn1cbiJdfQ==