@alauda/ui 7.3.3-beta.2 → 7.3.3-beta.3

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.
@@ -6,8 +6,8 @@ export declare class CommonFormControl<V, M = V> implements ControlValueAccessor
6
6
  protected cdr: ChangeDetectorRef;
7
7
  get disabled(): boolean | '';
8
8
  set disabled(val: boolean | '');
9
- get readonly(): boolean | "";
10
- set readonly(val: boolean | "");
9
+ get readonly(): boolean;
10
+ set readonly(val: boolean);
11
11
  get propValue(): V;
12
12
  set propValue(val: V);
13
13
  valueChange: EventEmitter<V>;
@@ -15,6 +15,7 @@ export declare class CommonFormControl<V, M = V> implements ControlValueAccessor
15
15
  protected onTouched: () => void;
16
16
  private _propValue;
17
17
  private _disabled;
18
+ private _readonly;
18
19
  model: M;
19
20
  model$: ReplaySubject<M>;
20
21
  constructor(cdr: ChangeDetectorRef);
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.3-beta.2",
3
+ "version": "7.3.3-beta.3",
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",
@@ -18,7 +18,7 @@ export declare abstract class BaseSelect<T, V = T> extends CommonFormControl<V>
18
18
  allowCreate: boolean;
19
19
  get allOptions(): OptionComponent<T>[];
20
20
  get opened(): boolean;
21
- get inputReadonly(): boolean;
21
+ get inaction(): boolean;
22
22
  get filterString(): string;
23
23
  set filterString(val: string);
24
24
  loading: boolean;
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,13 +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
- export declare const TABLE_PREFIX_CLASSNAME = "aui-table";
6
5
  export declare class TableComponent<T> extends CdkTable<T> implements AfterContentInit, OnDestroy {
7
6
  enableScrollWrapper: boolean;
8
7
  _placeholderOutlet: TablePlaceholderOutletDirective;
9
8
  _placeholderDef: TablePlaceholderDefDirective;
10
- el: ElementRef<any>;
11
9
  protected get stickyCssClass(): string;
12
10
  protected set stickyCssClass(_: string);
13
11
  ngAfterContentInit(): void;
@@ -1,2 +0,0 @@
1
- export { ResizableDirective } from './resizable.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzaXphYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUmVzaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXNpemFibGUuZGlyZWN0aXZlJztcbiJdfQ==
@@ -1,187 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Directive, ElementRef, EventEmitter, inject, Inject, Input, Optional, Output, } from '@angular/core';
3
- import { fromEvent, Subject, takeUntil } from 'rxjs';
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
- renderer2;
22
- doc;
23
- containerDirective;
24
- minWidth;
25
- maxWidth;
26
- resizeStart = new EventEmitter();
27
- resizing = new EventEmitter();
28
- resizeEnd = new EventEmitter();
29
- destroy$$ = new Subject();
30
- containerElement;
31
- element;
32
- initialWidth;
33
- mouseDownScreenX;
34
- resizeHandle;
35
- resizeOverlay;
36
- resizeBar;
37
- mouseUpSubscription;
38
- document;
39
- handleHasUp;
40
- BAR_WIDTH = 2;
41
- constructor(element, renderer2, doc, containerDirective) {
42
- this.renderer2 = renderer2;
43
- this.doc = doc;
44
- this.containerDirective = containerDirective;
45
- this.element = element.nativeElement;
46
- this.document = this.doc;
47
- this.containerElement =
48
- this.containerDirective?.el.nativeElement || this.element;
49
- }
50
- ngAfterViewInit() {
51
- this.createResizeHandle();
52
- this.binEvent(this.element, 'mouseover', () => {
53
- this.handleHasUp = true;
54
- if (!this.resizeBar) {
55
- this.setResizeHandleVisible(true);
56
- }
57
- });
58
- this.binEvent(this.element, 'mouseout', () => {
59
- this.handleHasUp = false;
60
- this.setResizeHandleVisible(false);
61
- });
62
- }
63
- ngOnDestroy() {
64
- this.destroy$$.next();
65
- this.destroy$$.complete();
66
- }
67
- binEvent(target, eventType, callback) {
68
- return fromEvent(target, eventType)
69
- .pipe(takeUntil(this.destroy$$))
70
- .subscribe(callback);
71
- }
72
- setResizeHandleVisible(isVisible) {
73
- this.resizeHandle &&
74
- this.renderer2.setStyle(this.resizeHandle, 'visibility', isVisible ? 'visible' : 'hidden');
75
- }
76
- createResizeHandle() {
77
- if (!this.resizeHandle) {
78
- this.resizeHandle = this.renderer2.createElement('div');
79
- this.renderer2.addClass(this.resizeHandle, 'resize-handle');
80
- this.binEvent(this.resizeHandle, 'click', (e) => e.stopPropagation());
81
- this.binEvent(this.resizeHandle, 'mousedown', this.onMousedown.bind(this));
82
- this.renderer2.appendChild(this.element, this.resizeHandle);
83
- }
84
- }
85
- createResizeOverlay() {
86
- this.resizeOverlay = this.renderer2.createElement('div');
87
- this.renderer2.addClass(this.resizeOverlay, 'resize-overlay');
88
- this.renderer2.appendChild(this.containerElement, this.resizeOverlay);
89
- }
90
- createResizeBar() {
91
- this.resizeBar = this.renderer2.createElement('div');
92
- this.renderer2.addClass(this.resizeBar, 'resize-bar');
93
- this.renderer2.setStyle(this.resizeBar, 'left', this.element.clientWidth + this.getOffset() - this.BAR_WIDTH + 'px');
94
- this.renderer2.appendChild(this.containerElement, this.resizeBar);
95
- }
96
- onMousedown(event) {
97
- event.preventDefault();
98
- event.stopPropagation();
99
- this.setResizeHandleVisible(false);
100
- this.initialWidth = this.element.clientWidth;
101
- this.resizeStart.emit(this.initialWidth);
102
- this.mouseDownScreenX = event.clientX;
103
- this.createResizeOverlay();
104
- this.createResizeBar();
105
- this.mouseUpSubscription = this.binEvent(document, 'mouseup', ev => this.onMouseup(ev));
106
- this.binEvent(document, 'mousemove', this.move);
107
- }
108
- onMouseup(event) {
109
- this.handleHasUp && this.setResizeHandleVisible(true);
110
- this.renderer2.removeChild(this.containerElement, this.resizeOverlay);
111
- this.resizeOverlay = null;
112
- this.renderer2.removeChild(this.containerElement, this.resizeBar);
113
- this.resizeBar = null;
114
- const movementX = event.clientX - this.mouseDownScreenX;
115
- const newWidth = this.initialWidth + movementX;
116
- this.resizeEnd.emit(this.getFinalWidth(newWidth));
117
- if (this.mouseUpSubscription && !this.mouseUpSubscription.closed) {
118
- this._destroySubscription();
119
- }
120
- this.document.removeEventListener('mousemove', this.move);
121
- }
122
- move = (event) => {
123
- if (!this.resizeBar) {
124
- return;
125
- }
126
- const movementX = event.clientX - this.mouseDownScreenX;
127
- const newWidth = this.initialWidth + movementX;
128
- const finalWidth = this.getFinalWidth(newWidth);
129
- this.renderer2.setStyle(this.resizeBar, 'left', `${finalWidth - this.BAR_WIDTH}px`);
130
- this.resizing.emit(finalWidth);
131
- };
132
- getFinalWidth(newWidth) {
133
- const _max = this.containerElement.clientWidth + this.getOffset();
134
- const minWidth = this.handleWidth(this.minWidth || this.getOffset());
135
- const maxWidth = this.handleWidth(this.maxWidth || _max);
136
- return Math.max(Math.min(maxWidth, newWidth), minWidth);
137
- }
138
- getOffset() {
139
- return (this.element.getBoundingClientRect().left -
140
- this.containerElement.getBoundingClientRect().left);
141
- }
142
- handleWidth(width) {
143
- if (typeof width === 'number') {
144
- return width;
145
- }
146
- if (!width) {
147
- return;
148
- }
149
- if (width.includes('%')) {
150
- const tableWidth = this.containerElement.clientWidth;
151
- return (tableWidth * Number.parseFloat(width)) / 100;
152
- }
153
- return Number.parseFloat(width.replace(/\D+/, ''));
154
- }
155
- _destroySubscription() {
156
- this.mouseUpSubscription?.unsubscribe();
157
- this.mouseUpSubscription = null;
158
- }
159
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DOCUMENT }, { token: ContainerForResizableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
160
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ResizableDirective, isStandalone: true, selector: "[auiResizable]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth" }, outputs: { resizeStart: "resizeStart", resizing: "resizing", resizeEnd: "resizeEnd" }, host: { classAttribute: "aui-resizable" }, ngImport: i0 });
161
- }
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, decorators: [{
163
- type: Directive,
164
- args: [{
165
- selector: '[auiResizable]',
166
- host: {
167
- class: 'aui-resizable',
168
- },
169
- standalone: true,
170
- }]
171
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: Document, decorators: [{
172
- type: Inject,
173
- args: [DOCUMENT]
174
- }] }, { type: ContainerForResizableDirective, decorators: [{
175
- type: Optional
176
- }] }]; }, propDecorators: { minWidth: [{
177
- type: Input
178
- }], maxWidth: [{
179
- type: Input
180
- }], resizeStart: [{
181
- type: Output
182
- }], resizing: [{
183
- type: Output
184
- }], resizeEnd: [{
185
- type: Output
186
- }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFTbkUsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxFQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3VHQURiLDhCQUE4QjsyRkFBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQVAxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsNkJBQTZCO3FCQUNyQztvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBZUQsTUFBTSxPQUFPLGtCQUFrQjtJQWdDbEI7SUFFUTtJQUVBO0lBbENuQixRQUFRLENBQWtCO0lBRzFCLFFBQVEsQ0FBa0I7SUFHMUIsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFHekMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFHdEMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFdkMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDaEMsZ0JBQWdCLENBQVU7SUFFVCxPQUFPLENBQWM7SUFDOUIsWUFBWSxDQUFTO0lBQ3JCLGdCQUFnQixDQUFTO0lBQ2pDLFlBQVksQ0FBYztJQUMxQixhQUFhLENBQWM7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QUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixXQUFXO3NCQURWLE1BQU07Z0JBSVAsUUFBUTtzQkFEUCxNQUFNO2dCQUlQLFNBQVM7c0JBRFIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aUNvbnRhaW5lckZvclJlc2l6YWJsZV0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktY29udGFpbmVyLWZvci1yZXNpemFibGUnLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDb250YWluZXJGb3JSZXNpemFibGVEaXJlY3RpdmUge1xuICBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcbn1cblxuLyoqXG4gKiDkvb/nlKjmraTmjIfku6TpnIDopoHlvJXlhaVyZXNpemFibGUuc2Nzc1xuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpUmVzaXphYmxlXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS1yZXNpemFibGUnLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBtaW5XaWR0aDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIG1heFdpZHRoOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZUVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGNvbnRhaW5lckVsZW1lbnQ6IEVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBpbml0aWFsV2lkdGg6IG51bWJlcjtcbiAgcHJpdmF0ZSBtb3VzZURvd25TY3JlZW5YOiBudW1iZXI7XG4gIHJlc2l6ZUhhbmRsZTogSFRNTEVsZW1lbnQ7IC8vIOWcqOaMh+S7pOS9nOeUqOeahOWFg+e0oOS4iuaPkuWFpeW8leWvvOWIhuWJsue6v++8jGhvdmVy5Yiw5L2c55So5YWD57Sg5ZCO5Ye6546w77yM5ouW5Yqo5LqL5Lu255qE5a6/5Li7XG4gIHJlc2l6ZU92ZXJsYXk6IEhUTUxFbGVtZW50OyAvLyDlnKjmi5bliqjml7bliJvlu7rlh7rkuIDkuKrpgI/mmI7nmoTpga7nvanlsYLvvIznlKjku6XpvKDmoIfmoLflvI/lnKjmi5bliqjml7bmgLvmmK/mi5bliqjmoLflvI9cbiAgcmVzaXplQmFyOiBIVE1MRWxlbWVudDsgLy8g5ouW5Yqo5pe255qE5Y+C6ICD57q/77yM6K+l5Y+C6ICD57q/5Lya6KKr5o+S5YWl5YiwIGNvbnRhaW5lckVsZW1lbnRcbiAgcHJpdmF0ZSBtb3VzZVVwU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIGhhbmRsZUhhc1VwOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IEJBUl9XSURUSCA9IDI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICByZWFkb25seSByZW5kZXJlcjI6IFJlbmRlcmVyMixcbiAgICBASW5qZWN0KERPQ1VNRU5UKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jOiBEb2N1bWVudCxcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyRGlyZWN0aXZlOiBDb250YWluZXJGb3JSZXNpemFibGVEaXJlY3RpdmUsXG4gICkge1xuICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmRvY3VtZW50ID0gdGhpcy5kb2M7XG4gICAgdGhpcy5jb250YWluZXJFbGVtZW50ID1cbiAgICAgIHRoaXMuY29udGFpbmVyRGlyZWN0aXZlPy5lbC5uYXRpdmVFbGVtZW50IHx8IHRoaXMuZWxlbWVudDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNyZWF0ZVJlc2l6ZUhhbmRsZSgpO1xuXG4gICAgdGhpcy5iaW5FdmVudCh0aGlzLmVsZW1lbnQsICdtb3VzZW92ZXInLCAoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUhhc1VwID0gdHJ1ZTtcbiAgICAgIGlmICghdGhpcy5yZXNpemVCYXIpIHtcbiAgICAgICAgdGhpcy5zZXRSZXNpemVIYW5kbGVWaXNpYmxlKHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuYmluRXZlbnQodGhpcy5lbGVtZW50LCAnbW91c2VvdXQnLCAoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUhhc1VwID0gZmFsc2U7XG4gICAgICB0aGlzLnNldFJlc2l6ZUhhbmRsZVZpc2libGUoZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGJpbkV2ZW50PEU+KFxuICAgIHRhcmdldDogSFRNTEVsZW1lbnQgfCBEb2N1bWVudCB8IFdpbmRvdyxcbiAgICBldmVudFR5cGU6IHN0cmluZyxcbiAgICBjYWxsYmFjazogKGU6IEUpID0+IHZvaWQsXG4gICkge1xuICAgIHJldHVybiBmcm9tRXZlbnQ8RT4odGFyZ2V0LCBldmVudFR5cGUpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKVxuICAgICAgLnN1YnNjcmliZShjYWxsYmFjayk7XG4gIH1cblxuICBwcml2YXRlIHNldFJlc2l6ZUhhbmRsZVZpc2libGUoaXNWaXNpYmxlOiBib29sZWFuKSB7XG4gICAgdGhpcy5yZXNpemVIYW5kbGUgJiZcbiAgICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgICB0aGlzLnJlc2l6ZUhhbmRsZSxcbiAgICAgICAgJ3Zpc2liaWxpdHknLFxuICAgICAgICBpc1Zpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJyxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlc2l6ZUhhbmRsZSgpIHtcbiAgICBpZiAoIXRoaXMucmVzaXplSGFuZGxlKSB7XG4gICAgICB0aGlzLnJlc2l6ZUhhbmRsZSA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5yZXNpemVIYW5kbGUsICdyZXNpemUtaGFuZGxlJyk7XG5cbiAgICAgIHRoaXMuYmluRXZlbnQodGhpcy5yZXNpemVIYW5kbGUsICdjbGljaycsIChlOiBFdmVudCkgPT5cbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKSxcbiAgICAgICk7XG4gICAgICB0aGlzLmJpbkV2ZW50KFxuICAgICAgICB0aGlzLnJlc2l6ZUhhbmRsZSxcbiAgICAgICAgJ21vdXNlZG93bicsXG4gICAgICAgIHRoaXMub25Nb3VzZWRvd24uYmluZCh0aGlzKSxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudCwgdGhpcy5yZXNpemVIYW5kbGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplT3ZlcmxheSgpIHtcbiAgICB0aGlzLnJlc2l6ZU92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLnJlc2l6ZU92ZXJsYXksICdyZXNpemUtb3ZlcmxheScpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVPdmVybGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplQmFyKCkge1xuICAgIHRoaXMucmVzaXplQmFyID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5yZXNpemVCYXIsICdyZXNpemUtYmFyJyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICB0aGlzLnJlc2l6ZUJhcixcbiAgICAgICdsZWZ0JyxcbiAgICAgIHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aCArIHRoaXMuZ2V0T2Zmc2V0KCkgLSB0aGlzLkJBUl9XSURUSCArICdweCcsXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHRoaXMucmVzaXplQmFyKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgLy8g6YG/5YWN5Lik5p2h57q/5LiN5a+56b2QXG4gICAgdGhpcy5zZXRSZXNpemVIYW5kbGVWaXNpYmxlKGZhbHNlKTtcblxuICAgIHRoaXMuaW5pdGlhbFdpZHRoID0gdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIHRoaXMucmVzaXplU3RhcnQuZW1pdCh0aGlzLmluaXRpYWxXaWR0aCk7XG4gICAgdGhpcy5tb3VzZURvd25TY3JlZW5YID0gZXZlbnQuY2xpZW50WDtcbiAgICB0aGlzLmNyZWF0ZVJlc2l6ZU92ZXJsYXkoKTtcbiAgICB0aGlzLmNyZWF0ZVJlc2l6ZUJhcigpO1xuXG4gICAgdGhpcy5tb3VzZVVwU3Vic2NyaXB0aW9uID0gdGhpcy5iaW5FdmVudDxNb3VzZUV2ZW50PihcbiAgICAgIGRvY3VtZW50LFxuICAgICAgJ21vdXNldXAnLFxuICAgICAgZXYgPT4gdGhpcy5vbk1vdXNldXAoZXYpLFxuICAgICk7XG5cbiAgICB0aGlzLmJpbkV2ZW50KGRvY3VtZW50LCAnbW91c2Vtb3ZlJywgdGhpcy5tb3ZlKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb3VzZXVwKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVIYXNVcCAmJiB0aGlzLnNldFJlc2l6ZUhhbmRsZVZpc2libGUodHJ1ZSk7XG5cbiAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHRoaXMucmVzaXplT3ZlcmxheSk7XG4gICAgdGhpcy5yZXNpemVPdmVybGF5ID0gbnVsbDtcbiAgICB0aGlzLnJlbmRlcmVyMi5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHRoaXMucmVzaXplQmFyKTtcbiAgICB0aGlzLnJlc2l6ZUJhciA9IG51bGw7XG5cbiAgICBjb25zdCBtb3ZlbWVudFggPSBldmVudC5jbGllbnRYIC0gdGhpcy5tb3VzZURvd25TY3JlZW5YO1xuICAgIGNvbnN0IG5ld1dpZHRoID0gdGhpcy5pbml0aWFsV2lkdGggKyBtb3ZlbWVudFg7XG4gICAgdGhpcy5yZXNpemVFbmQuZW1pdCh0aGlzLmdldEZpbmFsV2lkdGgobmV3V2lkdGgpKTtcblxuICAgIGlmICh0aGlzLm1vdXNlVXBTdWJzY3JpcHRpb24gJiYgIXRoaXMubW91c2VVcFN1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgIHRoaXMuX2Rlc3Ryb3lTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICB0aGlzLmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMubW92ZSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IG1vdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICBpZiAoIXRoaXMucmVzaXplQmFyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG1vdmVtZW50WCA9IGV2ZW50LmNsaWVudFggLSB0aGlzLm1vdXNlRG93blNjcmVlblg7XG4gICAgY29uc3QgbmV3V2lkdGggPSB0aGlzLmluaXRpYWxXaWR0aCArIG1vdmVtZW50WDtcblxuICAgIGNvbnN0IGZpbmFsV2lkdGggPSB0aGlzLmdldEZpbmFsV2lkdGgobmV3V2lkdGgpO1xuICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgdGhpcy5yZXNpemVCYXIsXG4gICAgICAnbGVmdCcsXG4gICAgICBgJHtmaW5hbFdpZHRoIC0gdGhpcy5CQVJfV0lEVEh9cHhgLFxuICAgICk7XG4gICAgdGhpcy5yZXNpemluZy5lbWl0KGZpbmFsV2lkdGgpO1xuICB9O1xuXG4gIHByaXZhdGUgZ2V0RmluYWxXaWR0aChuZXdXaWR0aDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAvLyDkuI3og73otoXlh7rovrnnlYxcbiAgICBjb25zdCBfbWF4ID0gdGhpcy5jb250YWluZXJFbGVtZW50LmNsaWVudFdpZHRoICsgdGhpcy5nZXRPZmZzZXQoKTtcbiAgICBjb25zdCBtaW5XaWR0aCA9IHRoaXMuaGFuZGxlV2lkdGgodGhpcy5taW5XaWR0aCB8fCB0aGlzLmdldE9mZnNldCgpKTtcblxuICAgIGNvbnN0IG1heFdpZHRoID0gdGhpcy5oYW5kbGVXaWR0aCh0aGlzLm1heFdpZHRoIHx8IF9tYXgpO1xuICAgIHJldHVybiBNYXRoLm1heChNYXRoLm1pbihtYXhXaWR0aCwgbmV3V2lkdGgpLCBtaW5XaWR0aCk7XG4gIH1cblxuICBwcml2YXRlIGdldE9mZnNldCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLVxuICAgICAgdGhpcy5jb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVXaWR0aCh3aWR0aDogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgaWYgKHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB3aWR0aDtcbiAgICB9XG4gICAgaWYgKCF3aWR0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAod2lkdGguaW5jbHVkZXMoJyUnKSkge1xuICAgICAgY29uc3QgdGFibGVXaWR0aCA9IHRoaXMuY29udGFpbmVyRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgIHJldHVybiAodGFibGVXaWR0aCAqIE51bWJlci5wYXJzZUZsb2F0KHdpZHRoKSkgLyAxMDA7XG4gICAgfVxuICAgIHJldHVybiBOdW1iZXIucGFyc2VGbG9hdCh3aWR0aC5yZXBsYWNlKC9cXEQrLywgJycpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rlc3Ryb3lTdWJzY3JpcHRpb24oKSB7XG4gICAgdGhpcy5tb3VzZVVwU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubW91c2VVcFN1YnNjcmlwdGlvbiA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { Directive, inject, Input } from '@angular/core';
2
- import { takeUntil } from 'rxjs';
3
- import { ResizableDirective } from '../resizable';
4
- import { buildBem, handlePixel } from '../utils';
5
- import { TABLE_PREFIX_CLASSNAME, TableColumnDefDirective, TableComponent, TableScrollWrapperDirective, } from './index';
6
- import * as i0 from "@angular/core";
7
- export class TableColResizableDirective extends ResizableDirective {
8
- minWidth = '60px';
9
- tableColumnDefDirective = inject(TableColumnDefDirective);
10
- tableComponent = inject(TableComponent);
11
- tableScrollWrapperDirective = inject(TableScrollWrapperDirective, {
12
- optional: true,
13
- });
14
- styleEl;
15
- hostAttr;
16
- ngAfterViewInit() {
17
- super.ngAfterViewInit();
18
- this.containerElement = (this.tableScrollWrapperDirective || this.tableComponent).el.nativeElement;
19
- const bem = buildBem(TABLE_PREFIX_CLASSNAME);
20
- this.resizeEnd.pipe(takeUntil(this.destroy$$)).subscribe(width => {
21
- const className = bem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
22
- if (!this.hostAttr) {
23
- this.hostAttr = `resizable-${(Math.random() * 1000000).toFixed(0)}`;
24
- this.containerElement.setAttribute(this.hostAttr, '');
25
- this.styleEl = this.renderer2.createElement('style');
26
- this.renderer2.appendChild(this.containerElement, this.styleEl);
27
- }
28
- this.styleEl.innerHTML = `
29
- [${this.hostAttr}] .${className} {
30
- width: ${handlePixel(width)} !important;
31
- flex: none !important;
32
- }
33
- `;
34
- this.tableComponent.updateStickyColumnStyles();
35
- });
36
- }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColResizableDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
38
- 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 });
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: TableColResizableDirective, decorators: [{
41
- type: Directive,
42
- args: [{
43
- selector: '[auiTableColResizable]',
44
- standalone: true,
45
- }]
46
- }], propDecorators: { minWidth: [{
47
- type: Input
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsMkJBQTJCLEdBQzVCLE1BQU0sU0FBUyxDQUFDOztBQU1qQixNQUFNLE9BQU8sMEJBQ1gsU0FBUSxrQkFBa0I7SUFJakIsUUFBUSxHQUFHLE1BQU0sQ0FBQztJQUVWLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFELGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsMkJBQTJCLEdBQUcsTUFBTSxDQUNuRCwyQkFBMkIsRUFDM0I7UUFDRSxRQUFRLEVBQUUsSUFBSTtLQUNmLENBQ0YsQ0FBQztJQUVNLE9BQU8sQ0FBbUI7SUFDMUIsUUFBUSxDQUFTO0lBRWhCLGVBQWU7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUN0QixJQUFJLENBQUMsMkJBQTJCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FDeEQsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBRW5CLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0QsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FDM0IsVUFBVSxJQUFJLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLEVBQUUsQ0FDOUQsQ0FBQztZQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNqRTtZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHO1VBQ3JCLElBQUksQ0FBQyxRQUFRLE1BQU0sU0FBUztpQkFDckIsV0FBVyxDQUFDLEtBQUssQ0FBQzs7O09BRzVCLENBQUM7WUFFRixJQUFJLENBQUMsY0FBYyxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQS9DVSwwQkFBMEI7MkZBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBTVUsUUFBUTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFJlc2l6YWJsZURpcmVjdGl2ZSB9IGZyb20gJy4uL3Jlc2l6YWJsZSc7XG5pbXBvcnQgeyBidWlsZEJlbSwgaGFuZGxlUGl4ZWwgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIFRBQkxFX1BSRUZJWF9DTEFTU05BTUUsXG4gIFRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlLFxuICBUYWJsZUNvbXBvbmVudCxcbiAgVGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlLFxufSBmcm9tICcuL2luZGV4JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aVRhYmxlQ29sUmVzaXphYmxlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sUmVzaXphYmxlRGlyZWN0aXZlXG4gIGV4dGVuZHMgUmVzaXphYmxlRGlyZWN0aXZlXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdFxue1xuICBASW5wdXQoKVxuICBvdmVycmlkZSBtaW5XaWR0aCA9ICc2MHB4JztcblxuICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlID0gaW5qZWN0KFRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWJsZUNvbXBvbmVudCA9IGluamVjdChUYWJsZUNvbXBvbmVudCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlID0gaW5qZWN0KFxuICAgIFRhYmxlU2Nyb2xsV3JhcHBlckRpcmVjdGl2ZSxcbiAgICB7XG4gICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICB9LFxuICApO1xuXG4gIHByaXZhdGUgc3R5bGVFbDogSFRNTFN0eWxlRWxlbWVudDtcbiAgcHJpdmF0ZSBob3N0QXR0cjogc3RyaW5nO1xuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgIHRoaXMuY29udGFpbmVyRWxlbWVudCA9IChcbiAgICAgIHRoaXMudGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlIHx8IHRoaXMudGFibGVDb21wb25lbnRcbiAgICApLmVsLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjb25zdCBiZW0gPSBidWlsZEJlbShUQUJMRV9QUkVGSVhfQ0xBU1NOQU1FKTtcblxuICAgIHRoaXMucmVzaXplRW5kLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSkuc3Vic2NyaWJlKHdpZHRoID0+IHtcbiAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IGJlbS5lbGVtZW50KFxuICAgICAgICBgY29sdW1uLSR7dGhpcy50YWJsZUNvbHVtbkRlZkRpcmVjdGl2ZS5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gLFxuICAgICAgKTtcbiAgICAgIGlmICghdGhpcy5ob3N0QXR0cikge1xuICAgICAgICB0aGlzLmhvc3RBdHRyID0gYHJlc2l6YWJsZS0keyhNYXRoLnJhbmRvbSgpICogMV8wMDBfMDAwKS50b0ZpeGVkKDApfWA7XG4gICAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5ob3N0QXR0ciwgJycpO1xuICAgICAgICB0aGlzLnN0eWxlRWwgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHRoaXMuc3R5bGVFbCk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0eWxlRWwuaW5uZXJIVE1MID0gYFxuICAgICAgIFske3RoaXMuaG9zdEF0dHJ9XSAuJHtjbGFzc05hbWV9IHtcbiAgICAgICAgd2lkdGg6ICR7aGFuZGxlUGl4ZWwod2lkdGgpfSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBgO1xuXG4gICAgICB0aGlzLnRhYmxlQ29tcG9uZW50LnVwZGF0ZVN0aWNreUNvbHVtblN0eWxlcygpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1 +0,0 @@
1
- export { ResizableDirective } from './resizable.directive';
@@ -1,47 +0,0 @@
1
- import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, Renderer2 } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class ContainerForResizableDirective {
5
- el: ElementRef<any>;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<ContainerForResizableDirective, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<ContainerForResizableDirective, "[auiContainerForResizable]", never, {}, {}, never, never, true, never>;
8
- }
9
- export declare class ResizableDirective implements AfterViewInit, OnDestroy {
10
- readonly renderer2: Renderer2;
11
- private readonly doc;
12
- private readonly containerDirective;
13
- minWidth: string | number;
14
- maxWidth: string | number;
15
- resizeStart: EventEmitter<number>;
16
- resizing: EventEmitter<number>;
17
- resizeEnd: EventEmitter<number>;
18
- destroy$$: Subject<void>;
19
- containerElement: Element;
20
- private readonly element;
21
- private initialWidth;
22
- private mouseDownScreenX;
23
- resizeHandle: HTMLElement;
24
- resizeOverlay: HTMLElement;
25
- resizeBar: HTMLElement;
26
- private mouseUpSubscription;
27
- private readonly document;
28
- private handleHasUp;
29
- private readonly BAR_WIDTH;
30
- constructor(element: ElementRef, renderer2: Renderer2, doc: Document, containerDirective: ContainerForResizableDirective);
31
- ngAfterViewInit(): void;
32
- ngOnDestroy(): void;
33
- private binEvent;
34
- private setResizeHandleVisible;
35
- private createResizeHandle;
36
- private createResizeOverlay;
37
- private createResizeBar;
38
- private onMousedown;
39
- private onMouseup;
40
- private readonly move;
41
- private getFinalWidth;
42
- private getOffset;
43
- private handleWidth;
44
- private _destroySubscription;
45
- static ɵfac: i0.ɵɵFactoryDeclaration<ResizableDirective, [null, null, null, { optional: true; }]>;
46
- static ɵdir: i0.ɵɵDirectiveDeclaration<ResizableDirective, "[auiResizable]", never, { "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; }, { "resizeStart": "resizeStart"; "resizing": "resizing"; "resizeEnd": "resizeEnd"; }, never, never, true, never>;
47
- }
@@ -1,38 +0,0 @@
1
- @import '../theme/var';
2
-
3
- .aui-resizable,
4
- .aui-container-for-resizable {
5
- position: relative;
6
- }
7
-
8
- .resize-handle {
9
- display: inline-block;
10
- position: absolute;
11
- right: 0;
12
- top: 0;
13
- width: 6px;
14
- cursor: col-resize;
15
- height: 100%;
16
- z-index: 9999;
17
- border-right: 2px solid use-rgb(p-2);
18
- visibility: hidden;
19
- }
20
-
21
- .resize-overlay {
22
- position: absolute;
23
- display: block;
24
- inset: 0;
25
- z-index: 1000;
26
- cursor: col-resize;
27
- }
28
-
29
- .resize-bar {
30
- top: 0;
31
- bottom: 0;
32
- position: absolute;
33
- cursor: col-resize;
34
- background: use-rgb(p-2);
35
- width: 2px;
36
- z-index: 9999;
37
- display: block;
38
- }
@@ -1,14 +0,0 @@
1
- import { AfterViewInit } from '@angular/core';
2
- import { ResizableDirective } from '../resizable';
3
- import * as i0 from "@angular/core";
4
- export declare class TableColResizableDirective extends ResizableDirective implements AfterViewInit {
5
- minWidth: string;
6
- private readonly tableColumnDefDirective;
7
- private readonly tableComponent;
8
- private readonly tableScrollWrapperDirective;
9
- private styleEl;
10
- private hostAttr;
11
- ngAfterViewInit(): void;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<TableColResizableDirective, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<TableColResizableDirective, "[auiTableColResizable]", never, { "minWidth": { "alias": "minWidth"; "required": false; }; }, {}, never, never, true, never>;
14
- }