@alauda/ui 7.3.2-beta → 7.3.2-beta.0

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/index.d.ts CHANGED
@@ -20,7 +20,6 @@ export * from './message';
20
20
  export * from './notification';
21
21
  export * from './paginator';
22
22
  export * from './radio';
23
- export * from './resizable';
24
23
  export * from './scrolling';
25
24
  export * from './select';
26
25
  export * from './sort';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alauda/ui",
3
- "version": "7.3.2-beta",
3
+ "version": "7.3.2-beta.0",
4
4
  "description": "Angular UI components by Alauda Frontend Team.",
5
5
  "repository": "git+https://github.com/alauda/alauda-ui.git",
6
6
  "author": "Alauda Frontend",
package/table/index.d.ts CHANGED
@@ -3,7 +3,6 @@ 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';
7
6
  export * from './table-column-def.directive';
8
7
  export * from './table-header-cell.directive';
9
8
  export * from './table-header-cell-def.directive';
@@ -6,7 +6,6 @@ import { TableComponent } from './table.component';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class TableScrollWrapperDirective {
8
8
  auiTableScrollWrapper: string;
9
- el: ElementRef<any>;
10
9
  static ɵfac: i0.ɵɵFactoryDeclaration<TableScrollWrapperDirective, never>;
11
10
  static ɵdir: i0.ɵɵDirectiveDeclaration<TableScrollWrapperDirective, "[auiTableScrollWrapper]", never, { "auiTableScrollWrapper": { "alias": "auiTableScrollWrapper"; "required": false; }; }, {}, never, never, true, never>;
12
11
  }
@@ -1,12 +1,11 @@
1
1
  import { CdkTable } from '@angular/cdk/table';
2
- import { AfterContentInit, ElementRef, OnDestroy } from '@angular/core';
2
+ import { AfterContentInit, OnDestroy } from '@angular/core';
3
3
  import { TablePlaceholderDefDirective, TablePlaceholderOutletDirective } from './table-placeholder.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class TableComponent<T> extends CdkTable<T> implements AfterContentInit, OnDestroy {
6
6
  enableScrollWrapper: boolean;
7
7
  _placeholderOutlet: TablePlaceholderOutletDirective;
8
8
  _placeholderDef: TablePlaceholderDefDirective;
9
- el: ElementRef<any>;
10
9
  protected get stickyCssClass(): string;
11
10
  protected set stickyCssClass(_: string);
12
11
  ngAfterContentInit(): void;
@@ -1,2 +0,0 @@
1
- export { ResizableDirective } from './resizable.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzaXphYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUmVzaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXNpemFibGUuZGlyZWN0aXZlJztcbiJdfQ==
@@ -1,161 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, EventEmitter, Inject, Input, Output, } from '@angular/core';
3
- import { fromEvent } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export class ResizableDirective {
6
- renderer2;
7
- zone;
8
- doc;
9
- containerElement;
10
- minWidth;
11
- maxWidth;
12
- resizeStartEvent = new EventEmitter();
13
- resizingEvent = new EventEmitter();
14
- resizeEndEvent = new EventEmitter();
15
- element;
16
- initialWidth;
17
- mouseDownScreenX;
18
- resizeHandle;
19
- resizeOverlay;
20
- resizeBar;
21
- mouseUpSubscription;
22
- document;
23
- handleHasUp;
24
- constructor(element, renderer2, zone, doc) {
25
- this.renderer2 = renderer2;
26
- this.zone = zone;
27
- this.doc = doc;
28
- this.element = element.nativeElement;
29
- this.document = this.doc;
30
- }
31
- ngAfterViewInit() {
32
- this.createResizeHandle();
33
- this.renderer2.listen(this.element, 'mouseover', () => {
34
- this.handleHasUp = true;
35
- if (!this.resizeBar) {
36
- this.renderer2.setStyle(this.resizeHandle, 'opacity', 1);
37
- }
38
- });
39
- this.renderer2.listen(this.element, 'mouseout', () => {
40
- this.handleHasUp = false;
41
- this.renderer2.setStyle(this.resizeHandle, 'opacity', 0);
42
- });
43
- }
44
- createResizeHandle() {
45
- if (!this.resizeHandle) {
46
- this.resizeHandle = this.renderer2.createElement('div');
47
- this.renderer2.addClass(this.resizeHandle, 'resize-handle');
48
- this.renderer2.listen(this.resizeHandle, 'click', (e) => e.stopPropagation());
49
- this.renderer2.listen(this.resizeHandle, 'mousedown', this.onMousedown.bind(this));
50
- this.renderer2.appendChild(this.element, this.resizeHandle);
51
- }
52
- }
53
- createResizeOverlay() {
54
- this.resizeOverlay = this.renderer2.createElement('div');
55
- this.renderer2.addClass(this.resizeOverlay, 'resize-overlay');
56
- this.renderer2.appendChild(this.containerElement, this.resizeOverlay);
57
- }
58
- createResizeBar() {
59
- this.resizeBar = this.renderer2.createElement('div');
60
- this.renderer2.addClass(this.resizeBar, 'resize-bar');
61
- this.renderer2.setStyle(this.resizeBar, 'left', this.element.clientWidth + this.getOffset() + 'px');
62
- this.renderer2.appendChild(this.containerElement, this.resizeBar);
63
- }
64
- onMousedown(event) {
65
- event.preventDefault();
66
- event.stopPropagation();
67
- this.renderer2.setStyle(this.resizeHandle, 'opacity', 0);
68
- this.initialWidth = this.element.clientWidth;
69
- this.resizeStartEvent.emit(this.initialWidth);
70
- this.mouseDownScreenX = event.clientX;
71
- this.createResizeOverlay();
72
- this.createResizeBar();
73
- this.mouseUpSubscription = fromEvent(document, 'mouseup').subscribe(ev => this.onMouseup(ev));
74
- this.zone.runOutsideAngular(() => {
75
- this.document.addEventListener('mousemove', this.move);
76
- });
77
- }
78
- onMouseup(event) {
79
- this.handleHasUp &&
80
- this.renderer2.setStyle(this.resizeHandle, 'opacity', 1);
81
- const movementX = event.clientX - this.mouseDownScreenX;
82
- const newWidth = this.initialWidth + movementX;
83
- const finalWidth = this.getFinalWidth(newWidth);
84
- this.renderer2.removeChild(this.element, this.resizeOverlay);
85
- this.resizeOverlay = null;
86
- this.renderer2.removeChild(this.containerElement, this.resizeBar);
87
- this.resizeBar = null;
88
- this.resizeEndEvent.emit(finalWidth);
89
- if (this.mouseUpSubscription && !this.mouseUpSubscription.closed) {
90
- this._destroySubscription();
91
- }
92
- this.document.removeEventListener('mousemove', this.move);
93
- }
94
- move = (event) => {
95
- if (!this.resizeBar) {
96
- return;
97
- }
98
- const movementX = event.clientX - this.mouseDownScreenX;
99
- const newWidth = this.initialWidth + movementX;
100
- const finalWidth = this.getFinalWidth(newWidth);
101
- this.renderer2.setStyle(this.resizeBar, 'left', `${finalWidth + this.getOffset()}px`);
102
- this.resizingEvent.emit(finalWidth);
103
- };
104
- getFinalWidth(newWidth) {
105
- const _max = this.containerElement.clientWidth - this.getOffset();
106
- const minWidth = this.handleWidth(this.minWidth || this.getOffset());
107
- const maxWidth = this.handleWidth(this.maxWidth || _max);
108
- const overMinWidth = !minWidth || newWidth >= minWidth;
109
- const underMaxWidth = !maxWidth || newWidth <= maxWidth;
110
- return overMinWidth ? (underMaxWidth ? newWidth : maxWidth) : minWidth;
111
- }
112
- getOffset() {
113
- return (this.element.getBoundingClientRect().left -
114
- this.containerElement.getBoundingClientRect().left -
115
- 2);
116
- }
117
- handleWidth(width) {
118
- if (!width) {
119
- return;
120
- }
121
- if (typeof width === 'number') {
122
- return width;
123
- }
124
- if (width.includes('%')) {
125
- const tableWidth = this.containerElement.clientWidth;
126
- return (tableWidth * parseInt(width, 10)) / 100;
127
- }
128
- return parseInt(width.replace(/\D+/, ''), 10);
129
- }
130
- _destroySubscription() {
131
- if (this.mouseUpSubscription) {
132
- this.mouseUpSubscription.unsubscribe();
133
- this.mouseUpSubscription = undefined;
134
- }
135
- }
136
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
137
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ResizableDirective, isStandalone: true, selector: "[auiResizable]", inputs: { containerElement: "containerElement", minWidth: "minWidth", maxWidth: "maxWidth" }, outputs: { resizeStartEvent: "resizeStartEvent", resizingEvent: "resizingEvent", resizeEndEvent: "resizeEndEvent" }, ngImport: i0 });
138
- }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, decorators: [{
140
- type: Directive,
141
- args: [{
142
- selector: '[auiResizable]',
143
- standalone: true,
144
- }]
145
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: Document, decorators: [{
146
- type: Inject,
147
- args: [DOCUMENT]
148
- }] }]; }, propDecorators: { containerElement: [{
149
- type: Input
150
- }], minWidth: [{
151
- type: Input
152
- }], maxWidth: [{
153
- type: Input
154
- }], resizeStartEvent: [{
155
- type: Output
156
- }], resizingEvent: [{
157
- type: Output
158
- }], resizeEndEvent: [{
159
- type: Output
160
- }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7O0FBVS9DLE1BQU0sT0FBTyxrQkFBa0I7SUErQmxCO0lBQ1E7SUFFQTtJQWhDbkIsZ0JBQWdCLENBQVU7SUFHMUIsUUFBUSxDQUFTO0lBR2pCLFFBQVEsQ0FBUztJQUdqQixnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRzlDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRzNDLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRTVDLE9BQU8sQ0FBYztJQUNyQixZQUFZLENBQVM7SUFDckIsZ0JBQWdCLENBQVM7SUFDekIsWUFBWSxDQUFjO0lBQzFCLGFBQWEsQ0FBYztJQUMzQixTQUFTLENBQWM7SUFDdkIsbUJBQW1CLENBQWU7SUFDbEMsUUFBUSxDQUFXO0lBQ1gsV0FBVyxDQUFVO0lBRTdCLFlBQ0UsT0FBbUIsRUFDVixTQUFvQixFQUNaLElBQVksRUFFWixHQUFhO1FBSHJCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBRVosUUFBRyxHQUFILEdBQUcsQ0FBVTtRQUU5QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQzNCLENBQUM7SUFFRCxlQUFlO1FBQ2Is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QUFDO1NBQ2pEO1FBQ0QsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztTQUN0QztJQUNILENBQUM7dUdBOUxVLGtCQUFrQiwyRkFpQ25CLFFBQVE7MkZBakNQLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQWtDSSxNQUFNOzJCQUFDLFFBQVE7NENBL0JsQixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixNQUFNO2dCQUlQLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIOS9v+eUqOatpOaMh+S7pOmcgOimgeW8leWFpXJlc2l6YWJsZS5zY3NzXG4gKiDlm6DkuLrlj4LogIPnur/mmK/ln7rkuo5hYnNvbHV0ZeWumuS9jeeahO+8jOaJgOS7pemcgOimgeWcqOmihOacn+eahOWcsOaWueWKoOS4inJlbGF0aXZl77yI5LiN6Ieq5Yqo5Yqg5piv5Li65LqG6YG/5YWN5L+u5pS55Lia5Yqh5biD5bGA6ICM5a+86Ie05L2/55So6ICF5Ye6546w5oSP5aSW55qE5byC5bi477yJXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlSZXNpemFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpXG4gIGNvbnRhaW5lckVsZW1lbnQ6IEVsZW1lbnQ7IC8vIOimgeaPkuWFpeWPguiAg+e6v+eahOWuueWZqOWFg+e0oFxuXG4gIEBJbnB1dCgpXG4gIG1pbldpZHRoOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbWF4V2lkdGg6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcmVzaXplU3RhcnRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZXNpemluZ0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZUVuZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgZWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIGluaXRpYWxXaWR0aDogbnVtYmVyO1xuICBtb3VzZURvd25TY3JlZW5YOiBudW1iZXI7XG4gIHJlc2l6ZUhhbmRsZTogSFRNTEVsZW1lbnQ7IC8vIOWcqOaMh+S7pOS9nOeUqOeahOWFg+e0oOS4iuaPkuWFpeW8leWvvOWIhuWJsue6v++8jGhvdmVy5Yiw5L2c55So5YWD57Sg5ZCO5Ye6546w77yM5ouW5Yqo5LqL5Lu255qE5a6/5Li7XG4gIHJlc2l6ZU92ZXJsYXk6IEhUTUxFbGVtZW50OyAvLyDlnKjmi5bliqjml7bliJvlu7rlh7rkuIDkuKrpgI/mmI7nmoTpga7nvanlsYLvvIznlKjku6XpvKDmoIfmoLflvI/lnKjmi5bliqjml7bmgLvmmK/mi5bliqjmoLflvI9cbiAgcmVzaXplQmFyOiBIVE1MRWxlbWVudDsgLy8g5ouW5Yqo5pe255qE5Y+C6ICD57q/77yM6K+l5Y+C6ICD57q/5Lya6KKr5o+S5YWl5YiwIGNvbnRhaW5lckVsZW1lbnRcbiAgbW91c2VVcFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBkb2N1bWVudDogRG9jdW1lbnQ7XG4gIHByaXZhdGUgaGFuZGxlSGFzVXA6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICByZWFkb25seSByZW5kZXJlcjI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jOiBEb2N1bWVudCxcbiAgKSB7XG4gICAgdGhpcy5lbGVtZW50ID0gZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMuZG9jdW1lbnQgPSB0aGlzLmRvYztcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNyZWF0ZVJlc2l6ZUhhbmRsZSgpO1xuXG4gICAgdGhpcy5yZW5kZXJlcjIubGlzdGVuKHRoaXMuZWxlbWVudCwgJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlSGFzVXAgPSB0cnVlO1xuICAgICAgaWYgKCF0aGlzLnJlc2l6ZUJhcikge1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZSh0aGlzLnJlc2l6ZUhhbmRsZSwgJ29wYWNpdHknLCAxKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnJlbmRlcmVyMi5saXN0ZW4odGhpcy5lbGVtZW50LCAnbW91c2VvdXQnLCAoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUhhc1VwID0gZmFsc2U7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZSh0aGlzLnJlc2l6ZUhhbmRsZSwgJ29wYWNpdHknLCAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplSGFuZGxlKCkge1xuICAgIGlmICghdGhpcy5yZXNpemVIYW5kbGUpIHtcbiAgICAgIHRoaXMucmVzaXplSGFuZGxlID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLnJlc2l6ZUhhbmRsZSwgJ3Jlc2l6ZS1oYW5kbGUnKTtcblxuICAgICAgdGhpcy5yZW5kZXJlcjIubGlzdGVuKHRoaXMucmVzaXplSGFuZGxlLCAnY2xpY2snLCAoZTogRXZlbnQpID0+XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCksXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlcjIubGlzdGVuKFxuICAgICAgICB0aGlzLnJlc2l6ZUhhbmRsZSxcbiAgICAgICAgJ21vdXNlZG93bicsXG4gICAgICAgIHRoaXMub25Nb3VzZWRvd24uYmluZCh0aGlzKSxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudCwgdGhpcy5yZXNpemVIYW5kbGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplT3ZlcmxheSgpIHtcbiAgICB0aGlzLnJlc2l6ZU92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLnJlc2l6ZU92ZXJsYXksICdyZXNpemUtb3ZlcmxheScpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVPdmVybGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplQmFyKCkge1xuICAgIHRoaXMucmVzaXplQmFyID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5yZXNpemVCYXIsICdyZXNpemUtYmFyJyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICB0aGlzLnJlc2l6ZUJhcixcbiAgICAgICdsZWZ0JyxcbiAgICAgIHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aCArIHRoaXMuZ2V0T2Zmc2V0KCkgKyAncHgnLFxuICAgICk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCB0aGlzLnJlc2l6ZUJhcik7XG4gIH1cblxuICBvbk1vdXNlZG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAvLyDpgb/lhY3kuKTmnaHnur/kuI3lr7npvZBcbiAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZSh0aGlzLnJlc2l6ZUhhbmRsZSwgJ29wYWNpdHknLCAwKTtcblxuICAgIHRoaXMuaW5pdGlhbFdpZHRoID0gdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIHRoaXMucmVzaXplU3RhcnRFdmVudC5lbWl0KHRoaXMuaW5pdGlhbFdpZHRoKTtcbiAgICB0aGlzLm1vdXNlRG93blNjcmVlblggPSBldmVudC5jbGllbnRYO1xuICAgIHRoaXMuY3JlYXRlUmVzaXplT3ZlcmxheSgpO1xuICAgIHRoaXMuY3JlYXRlUmVzaXplQmFyKCk7XG5cbiAgICB0aGlzLm1vdXNlVXBTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oXG4gICAgICBkb2N1bWVudCxcbiAgICAgICdtb3VzZXVwJyxcbiAgICApLnN1YnNjcmliZShldiA9PiB0aGlzLm9uTW91c2V1cChldikpO1xuXG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5tb3ZlKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uTW91c2V1cChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlSGFzVXAgJiZcbiAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKHRoaXMucmVzaXplSGFuZGxlLCAnb3BhY2l0eScsIDEpO1xuXG4gICAgY29uc3QgbW92ZW1lbnRYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMubW91c2VEb3duU2NyZWVuWDtcbiAgICBjb25zdCBuZXdXaWR0aCA9IHRoaXMuaW5pdGlhbFdpZHRoICsgbW92ZW1lbnRYO1xuICAgIGNvbnN0IGZpbmFsV2lkdGggPSB0aGlzLmdldEZpbmFsV2lkdGgobmV3V2lkdGgpO1xuXG4gICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50LCB0aGlzLnJlc2l6ZU92ZXJsYXkpO1xuICAgIHRoaXMucmVzaXplT3ZlcmxheSA9IG51bGw7XG4gICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCB0aGlzLnJlc2l6ZUJhcik7XG4gICAgdGhpcy5yZXNpemVCYXIgPSBudWxsO1xuXG4gICAgdGhpcy5yZXNpemVFbmRFdmVudC5lbWl0KGZpbmFsV2lkdGgpO1xuXG4gICAgaWYgKHRoaXMubW91c2VVcFN1YnNjcmlwdGlvbiAmJiAhdGhpcy5tb3VzZVVwU3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgICAgdGhpcy5fZGVzdHJveVN1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIHRoaXMuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5tb3ZlKTtcbiAgfVxuXG4gIG1vdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICBpZiAoIXRoaXMucmVzaXplQmFyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG1vdmVtZW50WCA9IGV2ZW50LmNsaWVudFggLSB0aGlzLm1vdXNlRG93blNjcmVlblg7XG4gICAgY29uc3QgbmV3V2lkdGggPSB0aGlzLmluaXRpYWxXaWR0aCArIG1vdmVtZW50WDtcblxuICAgIGNvbnN0IGZpbmFsV2lkdGggPSB0aGlzLmdldEZpbmFsV2lkdGgobmV3V2lkdGgpO1xuICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgdGhpcy5yZXNpemVCYXIsXG4gICAgICAnbGVmdCcsXG4gICAgICBgJHtmaW5hbFdpZHRoICsgdGhpcy5nZXRPZmZzZXQoKX1weGAsXG4gICAgKTtcbiAgICB0aGlzLnJlc2l6aW5nRXZlbnQuZW1pdChmaW5hbFdpZHRoKTtcbiAgfTtcblxuICBwcml2YXRlIGdldEZpbmFsV2lkdGgobmV3V2lkdGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgLy8g5LiN6IO96LaF5Ye66L6555WMXG4gICAgY29uc3QgX21heCA9IHRoaXMuY29udGFpbmVyRWxlbWVudC5jbGllbnRXaWR0aCAtIHRoaXMuZ2V0T2Zmc2V0KCk7XG4gICAgY29uc3QgbWluV2lkdGggPSB0aGlzLmhhbmRsZVdpZHRoKHRoaXMubWluV2lkdGggfHwgdGhpcy5nZXRPZmZzZXQoKSk7XG5cbiAgICBjb25zdCBtYXhXaWR0aCA9IHRoaXMuaGFuZGxlV2lkdGgodGhpcy5tYXhXaWR0aCB8fCBfbWF4KTtcbiAgICBjb25zdCBvdmVyTWluV2lkdGggPSAhbWluV2lkdGggfHwgbmV3V2lkdGggPj0gbWluV2lkdGg7XG4gICAgY29uc3QgdW5kZXJNYXhXaWR0aCA9ICFtYXhXaWR0aCB8fCBuZXdXaWR0aCA8PSBtYXhXaWR0aDtcblxuICAgIHJldHVybiBvdmVyTWluV2lkdGggPyAodW5kZXJNYXhXaWR0aCA/IG5ld1dpZHRoIDogbWF4V2lkdGgpIDogbWluV2lkdGg7XG4gIH1cblxuICBwcml2YXRlIGdldE9mZnNldCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLVxuICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLVxuICAgICAgMiAvLyAyIOaYr3Jlc2l6ZUJhcueahOWuveW6plxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVdpZHRoKHdpZHRoOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICBpZiAoIXdpZHRoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gd2lkdGg7XG4gICAgfVxuICAgIGlmICh3aWR0aC5pbmNsdWRlcygnJScpKSB7XG4gICAgICBjb25zdCB0YWJsZVdpZHRoID0gdGhpcy5jb250YWluZXJFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgcmV0dXJuICh0YWJsZVdpZHRoICogcGFyc2VJbnQod2lkdGgsIDEwKSkgLyAxMDA7XG4gICAgfVxuICAgIHJldHVybiBwYXJzZUludCh3aWR0aC5yZXBsYWNlKC9cXEQrLywgJycpLCAxMCk7XG4gIH1cblxuICBwcml2YXRlIF9kZXN0cm95U3Vic2NyaXB0aW9uKCkge1xuICAgIGlmICh0aGlzLm1vdXNlVXBTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMubW91c2VVcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5tb3VzZVVwU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,50 +0,0 @@
1
- import { Directive, inject, Input } from '@angular/core';
2
- import { ResizableDirective } from '../resizable';
3
- import { buildBem, handlePixel } from '../utils';
4
- import { TableColumnDefDirective, TableComponent, TableScrollWrapperDirective, } from './index';
5
- import * as i0 from "@angular/core";
6
- export class TableColResizableDirective extends ResizableDirective {
7
- minWidth = '60px';
8
- tableColumnDefDirective = inject(TableColumnDefDirective);
9
- tableComponent = inject(TableComponent);
10
- tableScrollWrapperDirective = inject(TableScrollWrapperDirective, {
11
- optional: true,
12
- });
13
- styleEl;
14
- hostAttr;
15
- ngAfterViewInit() {
16
- super.ngAfterViewInit();
17
- this.containerElement = (this.tableScrollWrapperDirective || this.tableComponent).el.nativeElement;
18
- const bem = buildBem('aui-table');
19
- this.resizeEndEvent.subscribe(width => {
20
- this.styleEl &&
21
- this.renderer2.removeChild(this.containerElement, this.styleEl);
22
- const className = bem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
23
- if (!this.hostAttr) {
24
- this.hostAttr = `resizable-${(Math.random() * 1000000).toFixed(0)}`;
25
- this.containerElement.setAttribute(this.hostAttr, '');
26
- }
27
- this.styleEl = this.renderer2.createElement('style');
28
- this.styleEl.innerHTML = `
29
- [${this.hostAttr}] .${className} {
30
- width: ${handlePixel(width)} !important;
31
- flex: none !important;
32
- }
33
- `;
34
- this.renderer2.appendChild(this.containerElement, this.styleEl);
35
- this.tableComponent.updateStickyColumnStyles();
36
- });
37
- }
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColResizableDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
39
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: TableColResizableDirective, isStandalone: true, selector: "[auiTableColResizable]", inputs: { minWidth: "minWidth" }, usesInheritance: true, ngImport: i0 });
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColResizableDirective, decorators: [{
42
- type: Directive,
43
- args: [{
44
- selector: '[auiTableColResizable]',
45
- standalone: true,
46
- }]
47
- }], propDecorators: { minWidth: [{
48
- type: Input
49
- }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFakQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsMkJBQTJCLEdBQzVCLE1BQU0sU0FBUyxDQUFDOztBQU1qQixNQUFNLE9BQU8sMEJBQ1gsU0FBUSxrQkFBa0I7SUFJakIsUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUUzQix1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxRCxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLDJCQUEyQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsRUFBRTtRQUNoRSxRQUFRLEVBQUUsSUFBSTtLQUNmLENBQUMsQ0FBQztJQUVLLE9BQU8sQ0FBbUI7SUFDMUIsUUFBUSxDQUFTO0lBRWhCLGVBQWU7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUN0QixJQUFJLENBQUMsMkJBQTJCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FDeEQsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBRW5CLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVsQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsT0FBTztnQkFDVixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQzNCLFVBQVUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixFQUFFLENBQzlELENBQUM7WUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN0RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDdkQ7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHO1VBQ3JCLElBQUksQ0FBQyxRQUFRLE1BQU0sU0FBUztpQkFDckIsV0FBVyxDQUFDLEtBQUssQ0FBQzs7O09BRzVCLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRWhFLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBOUNVLDBCQUEwQjsyRkFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFNVSxRQUFRO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlc2l6YWJsZURpcmVjdGl2ZSB9IGZyb20gJy4uL3Jlc2l6YWJsZSc7XG5pbXBvcnQgeyBidWlsZEJlbSwgaGFuZGxlUGl4ZWwgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIFRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlLFxuICBUYWJsZUNvbXBvbmVudCxcbiAgVGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlLFxufSBmcm9tICcuL2luZGV4JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aVRhYmxlQ29sUmVzaXphYmxlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sUmVzaXphYmxlRGlyZWN0aXZlXG4gIGV4dGVuZHMgUmVzaXphYmxlRGlyZWN0aXZlXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdFxue1xuICBASW5wdXQoKVxuICBvdmVycmlkZSBtaW5XaWR0aCA9ICc2MHB4JztcblxuICB0YWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSA9IGluamVjdChUYWJsZUNvbHVtbkRlZkRpcmVjdGl2ZSk7XG4gIHRhYmxlQ29tcG9uZW50ID0gaW5qZWN0KFRhYmxlQ29tcG9uZW50KTtcbiAgdGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlID0gaW5qZWN0KFRhYmxlU2Nyb2xsV3JhcHBlckRpcmVjdGl2ZSwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcblxuICBwcml2YXRlIHN0eWxlRWw6IEhUTUxTdHlsZUVsZW1lbnQ7XG4gIHByaXZhdGUgaG9zdEF0dHI6IHN0cmluZztcblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG5cbiAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQgPSAoXG4gICAgICB0aGlzLnRhYmxlU2Nyb2xsV3JhcHBlckRpcmVjdGl2ZSB8fCB0aGlzLnRhYmxlQ29tcG9uZW50XG4gICAgKS5lbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3QgYmVtID0gYnVpbGRCZW0oJ2F1aS10YWJsZScpO1xuXG4gICAgdGhpcy5yZXNpemVFbmRFdmVudC5zdWJzY3JpYmUod2lkdGggPT4ge1xuICAgICAgdGhpcy5zdHlsZUVsICYmXG4gICAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5zdHlsZUVsKTtcbiAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IGJlbS5lbGVtZW50KFxuICAgICAgICBgY29sdW1uLSR7dGhpcy50YWJsZUNvbHVtbkRlZkRpcmVjdGl2ZS5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gLFxuICAgICAgKTtcbiAgICAgIGlmICghdGhpcy5ob3N0QXR0cikge1xuICAgICAgICB0aGlzLmhvc3RBdHRyID0gYHJlc2l6YWJsZS0keyhNYXRoLnJhbmRvbSgpICogMV8wMDBfMDAwKS50b0ZpeGVkKDApfWA7XG4gICAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5ob3N0QXR0ciwgJycpO1xuICAgICAgfVxuICAgICAgdGhpcy5zdHlsZUVsID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgIHRoaXMuc3R5bGVFbC5pbm5lckhUTUwgPSBgXG4gICAgICAgWyR7dGhpcy5ob3N0QXR0cn1dIC4ke2NsYXNzTmFtZX0ge1xuICAgICAgICB3aWR0aDogJHtoYW5kbGVQaXhlbCh3aWR0aCl9ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIGA7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHRoaXMuc3R5bGVFbCk7XG5cbiAgICAgIHRoaXMudGFibGVDb21wb25lbnQudXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1 +0,0 @@
1
- export { ResizableDirective } from './resizable.directive';
@@ -1,37 +0,0 @@
1
- import { AfterViewInit, ElementRef, EventEmitter, NgZone, Renderer2 } from '@angular/core';
2
- import { Subscription } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class ResizableDirective implements AfterViewInit {
5
- readonly renderer2: Renderer2;
6
- private readonly zone;
7
- private readonly doc;
8
- containerElement: Element;
9
- minWidth: string;
10
- maxWidth: string;
11
- resizeStartEvent: EventEmitter<number>;
12
- resizingEvent: EventEmitter<number>;
13
- resizeEndEvent: EventEmitter<number>;
14
- element: HTMLElement;
15
- initialWidth: number;
16
- mouseDownScreenX: number;
17
- resizeHandle: HTMLElement;
18
- resizeOverlay: HTMLElement;
19
- resizeBar: HTMLElement;
20
- mouseUpSubscription: Subscription;
21
- document: Document;
22
- private handleHasUp;
23
- constructor(element: ElementRef, renderer2: Renderer2, zone: NgZone, doc: Document);
24
- ngAfterViewInit(): void;
25
- private createResizeHandle;
26
- private createResizeOverlay;
27
- private createResizeBar;
28
- onMousedown(event: MouseEvent): void;
29
- onMouseup(event: MouseEvent): void;
30
- move: (event: MouseEvent) => void;
31
- private getFinalWidth;
32
- private getOffset;
33
- private handleWidth;
34
- private _destroySubscription;
35
- static ɵfac: i0.ɵɵFactoryDeclaration<ResizableDirective, never>;
36
- static ɵdir: i0.ɵɵDirectiveDeclaration<ResizableDirective, "[auiResizable]", never, { "containerElement": { "alias": "containerElement"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; }, { "resizeStartEvent": "resizeStartEvent"; "resizingEvent": "resizingEvent"; "resizeEndEvent": "resizeEndEvent"; }, never, never, true, never>;
37
- }
@@ -1,15 +0,0 @@
1
- import { AfterViewInit } from '@angular/core';
2
- import { ResizableDirective } from '../resizable';
3
- import { TableColumnDefDirective, TableComponent, TableScrollWrapperDirective } from './index';
4
- import * as i0 from "@angular/core";
5
- export declare class TableColResizableDirective extends ResizableDirective implements AfterViewInit {
6
- minWidth: string;
7
- tableColumnDefDirective: TableColumnDefDirective;
8
- tableComponent: TableComponent<any>;
9
- tableScrollWrapperDirective: TableScrollWrapperDirective;
10
- private styleEl;
11
- private hostAttr;
12
- ngAfterViewInit(): void;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<TableColResizableDirective, never>;
14
- static ɵdir: i0.ɵɵDirectiveDeclaration<TableColResizableDirective, "[auiTableColResizable]", never, { "minWidth": { "alias": "minWidth"; "required": false; }; }, {}, never, never, true, never>;
15
- }