@alauda/ui 7.3.3-beta.27 → 7.3.3-beta.28

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.3-beta.27",
3
+ "version": "7.3.3-beta.28",
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",
@@ -6,8 +6,7 @@ export declare class TableColumnResizableDirective implements AfterViewInit {
6
6
  private readonly renderer2;
7
7
  private readonly tableColumnDefDirective;
8
8
  private readonly tableComponent;
9
- private readonly tableScrollWrapperDirective;
10
- private readonly selfElement;
9
+ private readonly columnElement;
11
10
  private readonly containerElement;
12
11
  private styleElement;
13
12
  private hostAttr;
@@ -23,6 +22,7 @@ export declare class TableColumnResizableDirective implements AfterViewInit {
23
22
  private getWidthInRange;
24
23
  private getResizeRange;
25
24
  private getActualWidth;
25
+ private isStickyLeftBorderColumn;
26
26
  private renderWidthStyles;
27
27
  static ɵfac: i0.ɵɵFactoryDeclaration<TableColumnResizableDirective, never>;
28
28
  static ɵdir: i0.ɵɵDirectiveDeclaration<TableColumnResizableDirective, "[auiTableColumnResizable]", never, { "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; }, {}, never, never, true, never>;
@@ -1,2 +0,0 @@
1
- export { ResizableDirective } from './resizable.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVzaXphYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUmVzaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXNpemFibGUuZGlyZWN0aXZlJztcbiJdfQ==
@@ -1,147 +0,0 @@
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
@@ -1 +0,0 @@
1
- export { ResizableDirective } from './resizable.directive';
@@ -1,34 +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<HTMLElement>;
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
- minWidth: string | number;
11
- maxWidth: string | number;
12
- manualAdjustment: boolean;
13
- resizeStart: EventEmitter<number>;
14
- resizing: EventEmitter<number>;
15
- resizeEnd: EventEmitter<number>;
16
- private readonly elementRef;
17
- renderer2: Renderer2;
18
- private readonly containerDirective;
19
- private readonly BAR_WIDTH;
20
- private readonly element;
21
- containerElement: HTMLElement;
22
- destroy$$: Subject<void>;
23
- ngAfterViewInit(): void;
24
- ngOnDestroy(): void;
25
- private bindResizable;
26
- private createResizeHandle;
27
- private createResizeOverlay;
28
- private createResizeBar;
29
- private getFinalWidth;
30
- private getOffset;
31
- private handleWidth;
32
- static ɵfac: i0.ɵɵFactoryDeclaration<ResizableDirective, never>;
33
- static ɵdir: i0.ɵɵDirectiveDeclaration<ResizableDirective, "[auiResizable]", never, { "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "manualAdjustment": { "alias": "manualAdjustment"; "required": false; }; }, { "resizeStart": "resizeStart"; "resizing": "resizing"; "resizeEnd": "resizeEnd"; }, never, never, true, never>;
34
- }
@@ -1,44 +0,0 @@
1
- @import '../theme/var';
2
-
3
- [auiresizable],
4
- .aui-container-for-resizable {
5
- position: relative;
6
- }
7
-
8
- [auiresizable]:hover {
9
- .resize-handle {
10
- visibility: visible;
11
- }
12
- }
13
-
14
- .resize-handle {
15
- display: inline-block;
16
- position: absolute;
17
- right: 0;
18
- top: 0;
19
- width: 6px;
20
- cursor: col-resize;
21
- height: 100%;
22
- z-index: 9999;
23
- border-right: 2px solid use-rgb(p-2);
24
- visibility: hidden;
25
- }
26
-
27
- .resize-overlay {
28
- position: absolute;
29
- display: block;
30
- inset: 0;
31
- z-index: 1000;
32
- cursor: col-resize;
33
- }
34
-
35
- .resize-bar {
36
- top: 0;
37
- bottom: 0;
38
- position: absolute;
39
- cursor: col-resize;
40
- background: use-rgb(p-2);
41
- width: 2px;
42
- z-index: 9999;
43
- display: block;
44
- }
@@ -1,31 +0,0 @@
1
- @use 'sass:string';
2
-
3
- @function use-var($name) {
4
- @return var(--aui-#{$name});
5
- }
6
-
7
- @function use-rgb($name: primary, $level: none) {
8
- @if $level != none {
9
- @return rgb(var(--aui-color-#{string.slice('#{$name}', 1, 1)}-#{$level}));
10
- }
11
- @return rgb(var(--aui-color-#{$name}));
12
- }
13
-
14
- @function use-rgba($name, $opacity) {
15
- @return rgba(var(--aui-color-#{$name}), $opacity);
16
- }
17
-
18
- @function use-text-color($level: main) {
19
- @return use-rgb(#{$level}-text);
20
- }
21
-
22
- // Animation
23
- $animation-duration-slow: 0.3s; // Modal
24
- $animation-duration-base: 0.24s; // Tab、Dropdown
25
- $animation-duration-fast: 0.2s;
26
-
27
- $ease-out: cubic-bezier(0, 0, 0.2, 1);
28
- $ease-in: cubic-bezier(0.8, 0, 1, 0.9);
29
- $ease-in-out: cubic-bezier(0.38, 0, 0.24, 1);
30
-
31
- $animation-interpolation: ease;
package/theme/_mixin.scss DELETED
@@ -1,350 +0,0 @@
1
- @import 'base-var';
2
- @import 'var';
3
-
4
- @function theme-selector($theme, $scope) {
5
- @if ($scope) {
6
- @return selector-nest($theme, $scope);
7
- } @else {
8
- @return $theme;
9
- }
10
- }
11
-
12
- @mixin theme-light {
13
- $scope: &;
14
-
15
- @at-root {
16
- #{theme-selector(':root', $scope)} {
17
- @content;
18
- }
19
-
20
- #{theme-selector('html[aui-theme-mode=light]', $scope)} {
21
- @content;
22
- }
23
- }
24
- }
25
-
26
- @mixin theme-dark {
27
- $scope: &;
28
-
29
- @at-root {
30
- #{theme-selector('html[aui-theme-mode=system]', $scope)} {
31
- @media (prefers-color-scheme: dark) {
32
- @content;
33
- }
34
- }
35
-
36
- #{theme-selector('html[aui-theme-mode=dark]', $scope)} {
37
- @content;
38
- }
39
- }
40
- }
41
-
42
- @mixin text-set($size: m, $color: none, $weight: normal) {
43
- font-size: use-var(font-size-#{$size});
44
- line-height: use-var(line-height-#{$size});
45
- font-weight: use-var(font-weight-#{$weight});
46
- @if $color != none {
47
- color: use-text-color($color);
48
- }
49
- }
50
-
51
- @mixin icon-set($size: m, $color: none) {
52
- display: inline-flex;
53
- align-items: center;
54
- height: use-var(line-height-#{$size});
55
- font-size: use-var(font-size-#{$size});
56
- @if $color != none {
57
- color: use-text-color($color);
58
- }
59
- }
60
-
61
- // 使用 box-shadow 模拟带圆角的 outline
62
- @mixin outline-shadow($color: primary, $theme: auto) {
63
- @if ($theme == light) {
64
- box-shadow: 0 0 0 2px use-rgba($color, 0.16);
65
- } @else if($theme == dark) {
66
- box-shadow: 0 0 0 2px use-rgba($color, 0.3);
67
- } @else {
68
- @include theme-light {
69
- box-shadow: 0 0 0 2px use-rgba($color, 0.16);
70
- }
71
- @include theme-dark {
72
- box-shadow: 0 0 0 2px use-rgba($color, 0.3);
73
- }
74
- }
75
- }
76
-
77
- @mixin card-shadow($theme: auto) {
78
- @if ($theme == light) {
79
- box-shadow: 0 0 4px 0 use-rgba(origin-shadow, 0.1);
80
- } @else if($theme == dark) {
81
- box-shadow: 0 0 4px 0 use-rgba(origin-shadow, 0.75);
82
- } @else {
83
- @include theme-light {
84
- box-shadow: 0 0 4px 0 use-rgba(origin-shadow, 0.1);
85
- }
86
- @include theme-dark {
87
- box-shadow: 0 0 4px 0 use-rgba(origin-shadow, 0.75);
88
- }
89
- }
90
- }
91
-
92
- @mixin popper-shadow($theme: auto) {
93
- @if ($theme == light) {
94
- box-shadow: 0 2px 8px 0 use-rgba(origin-shadow, 0.2);
95
- } @else if($theme == dark) {
96
- box-shadow: 0 2px 8px 0 use-rgba(origin-shadow, 0.75);
97
- } @else {
98
- @include theme-light {
99
- box-shadow: 0 2px 8px 0 use-rgba(origin-shadow, 0.2);
100
- }
101
- @include theme-dark {
102
- box-shadow: 0 2px 8px 0 use-rgba(origin-shadow, 0.75);
103
- }
104
- }
105
- }
106
-
107
- @mixin modal-shadow($theme: auto) {
108
- @if ($theme == light) {
109
- box-shadow: 0 2px 8px 0 use-rgba(origin-shadow, 0.2);
110
- } @else if($theme == dark) {
111
- box-shadow: 0 4px 16px 0 use-rgba(origin-shadow, 0.75);
112
- } @else {
113
- @include theme-light {
114
- box-shadow: 0 2px 8px 0 use-rgba(origin-shadow, 0.2);
115
- }
116
- @include theme-dark {
117
- box-shadow: 0 4px 16px 0 use-rgba(origin-shadow, 0.75);
118
- }
119
- }
120
- }
121
-
122
- @mixin modal-backdrop($theme: auto) {
123
- @if ($theme == light) {
124
- background-color: use-rgba(origin-shadow, 0.4);
125
- } @else if($theme == dark) {
126
- background-color: use-rgba(origin-shadow, 0.75);
127
- } @else {
128
- @include theme-light {
129
- background-color: use-rgba(origin-shadow, 0.4);
130
- }
131
- @include theme-dark {
132
- background-color: use-rgba(origin-shadow, 0.75);
133
- }
134
- }
135
- }
136
-
137
- @mixin overlay-pane($alignItems: center) {
138
- overflow: auto;
139
- @include flex-center($alignItems);
140
- @include scroll-bar;
141
- }
142
-
143
- @mixin transition($target: all) {
144
- transition: $target $animation-duration-slow $animation-interpolation;
145
- }
146
-
147
- @mixin absolute-center() {
148
- margin: 0;
149
- position: absolute;
150
- top: 50%;
151
- left: 50%;
152
- transform: translate(-50%, -50%);
153
- }
154
-
155
- @mixin scroll-bar($color: #{use-rgba(n-1, 0.2)}) {
156
- &::-webkit-scrollbar {
157
- width: 4px;
158
- height: 4px;
159
- }
160
-
161
- &::-webkit-scrollbar-thumb {
162
- border-radius: 2px;
163
- background-color: $color;
164
- }
165
-
166
- &::-webkit-scrollbar-corner {
167
- background-color: transparent;
168
- }
169
- }
170
-
171
- @mixin clear-button() {
172
- border-radius: 50%;
173
- color: use-text-color(help);
174
- cursor: pointer;
175
- @include transition;
176
-
177
- &:hover {
178
- color: use-rgb(main-bg);
179
- background-color: use-text-color(help);
180
- }
181
- }
182
-
183
- @mixin input-field-indicator() {
184
- &__icon-container {
185
- display: block;
186
- position: relative;
187
- pointer-events: none !important;
188
-
189
- .aui-icon {
190
- margin: 0 !important;
191
- }
192
- }
193
-
194
- &.isDisabled &__icon-container {
195
- color: use-rgb(n-4);
196
- }
197
-
198
- &__indicator {
199
- display: flex;
200
- }
201
-
202
- &__clear {
203
- display: none;
204
-
205
- .aui-icon {
206
- @include clear-button;
207
- }
208
- }
209
-
210
- &.isClearable:not(.isDisabled):hover & {
211
- &__indicator {
212
- display: none;
213
- }
214
-
215
- &__clear {
216
- display: flex;
217
- pointer-events: auto;
218
- }
219
- }
220
- }
221
-
222
- @mixin input-error() {
223
- border-color: use-rgb(red) !important;
224
-
225
- &:focus,
226
- &.isFocused {
227
- @include outline-shadow(red);
228
- }
229
- }
230
-
231
- @mixin expand-button() {
232
- display: inline-flex;
233
- justify-content: center;
234
- align-items: center;
235
- width: use-var(icon-size-m);
236
- height: use-var(icon-size-m);
237
- color: use-rgb(primary);
238
- background-color: use-rgb(p-6);
239
- border-radius: 50%;
240
- border: none;
241
- cursor: pointer;
242
- transition: transform 0.1s ease-in-out;
243
-
244
- aui-icon {
245
- display: flex;
246
- justify-content: center;
247
- align-items: center;
248
- width: use-var(icon-size-s);
249
- height: use-var(icon-size-s);
250
- font-size: use-var(icon-size-s);
251
- }
252
-
253
- &:hover {
254
- background-color: use-rgb(p-7);
255
- }
256
-
257
- &:active {
258
- background-color: use-rgb(p-5);
259
- }
260
-
261
- &.isExpanded {
262
- transform: rotate(90deg);
263
- color: white;
264
- background-color: use-rgb(primary);
265
-
266
- &:hover {
267
- background-color: use-rgb(p-1);
268
- }
269
-
270
- &:active {
271
- background-color: use-rgb(p-0);
272
- }
273
- }
274
-
275
- &[disabled],
276
- &.isExpanded[disabled] {
277
- background-color: use-rgb(n-8);
278
- color: use-rgb(n-6);
279
- cursor: not-allowed;
280
- }
281
- }
282
-
283
- @mixin text-overflow {
284
- white-space: nowrap;
285
- overflow: hidden;
286
- text-overflow: ellipsis;
287
- }
288
-
289
- @mixin flex-center($alignItems: center) {
290
- display: flex;
291
- justify-content: center;
292
- align-items: $alignItems;
293
- }
294
-
295
- @mixin point($size, $color: #000) {
296
- width: $size;
297
- height: $size;
298
- border-radius: 50%;
299
- background-color: $color;
300
- }
301
-
302
- @mixin view-readonly {
303
- background-color: use-rgb(main-bg);
304
- border-color: use-rgb(border);
305
- }
306
-
307
- @mixin vertical-dashed-line($width: 1px, $color: 'n-7') {
308
- background: linear-gradient(
309
- to bottom,
310
- use-rgb($color),
311
- use-rgb($color) 8px,
312
- transparent 6px,
313
- transparent
314
- );
315
- width: $width;
316
- background-size: 100% 14px;
317
- height: 100%;
318
- }
319
-
320
- // Motion
321
- @mixin motion-common($duration: $animation-duration-base) {
322
- animation-duration: $duration;
323
- animation-fill-mode: both;
324
- animation-play-state: paused;
325
- }
326
-
327
- @mixin make-motion(
328
- $className,
329
- $keyframeName,
330
- $duration: $animation-duration-base
331
- ) {
332
- .#{$className}-enter,
333
- .#{$className}-leave {
334
- @include motion-common($duration);
335
- }
336
-
337
- .#{$className}-enter.#{$className}-enter-active,
338
- .#{$className}-leave.#{$className}-leave-active {
339
- animation-play-state: running;
340
- pointer-events: none;
341
- }
342
-
343
- .#{$className}-enter.#{$className}-enter-active {
344
- animation-name: #{$keyframeName}-in;
345
- }
346
-
347
- .#{$className}-leave.#{$className}-leave-active {
348
- animation-name: #{$keyframeName}-out;
349
- }
350
- }