@acorex/cdk 21.0.0-next.9 → 21.0.0-next51
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/accordion/index.d.ts +1 -0
- package/drag-drop/index.d.ts +57 -44
- package/drawer/index.d.ts +12 -9
- package/fesm2022/acorex-cdk-accordion.mjs +52 -67
- package/fesm2022/acorex-cdk-accordion.mjs.map +1 -1
- package/fesm2022/acorex-cdk-carousel.mjs +13 -10
- package/fesm2022/acorex-cdk-carousel.mjs.map +1 -1
- package/fesm2022/acorex-cdk-clipboard.mjs +6 -6
- package/fesm2022/acorex-cdk-clipboard.mjs.map +1 -1
- package/fesm2022/acorex-cdk-common.mjs +104 -104
- package/fesm2022/acorex-cdk-common.mjs.map +1 -1
- package/fesm2022/acorex-cdk-dom.mjs +3 -3
- package/fesm2022/acorex-cdk-dom.mjs.map +1 -1
- package/fesm2022/acorex-cdk-drag-drop.mjs +278 -85
- package/fesm2022/acorex-cdk-drag-drop.mjs.map +1 -1
- package/fesm2022/acorex-cdk-drawer.mjs +44 -33
- package/fesm2022/acorex-cdk-drawer.mjs.map +1 -1
- package/fesm2022/acorex-cdk-focus-trap.mjs +3 -3
- package/fesm2022/acorex-cdk-focus-trap.mjs.map +1 -1
- package/fesm2022/acorex-cdk-input-mask.mjs +5 -3
- package/fesm2022/acorex-cdk-input-mask.mjs.map +1 -1
- package/fesm2022/acorex-cdk-list-navigation.mjs +39 -21
- package/fesm2022/acorex-cdk-list-navigation.mjs.map +1 -1
- package/fesm2022/acorex-cdk-outline.mjs +6 -6
- package/fesm2022/acorex-cdk-outline.mjs.map +1 -1
- package/fesm2022/acorex-cdk-overlay.mjs +3 -3
- package/fesm2022/acorex-cdk-overlay.mjs.map +1 -1
- package/fesm2022/acorex-cdk-pan-view.mjs +3 -3
- package/fesm2022/acorex-cdk-pan-view.mjs.map +1 -1
- package/fesm2022/acorex-cdk-resizable.mjs +166 -118
- package/fesm2022/acorex-cdk-resizable.mjs.map +1 -1
- package/fesm2022/acorex-cdk-selection.mjs +10 -10
- package/fesm2022/acorex-cdk-selection.mjs.map +1 -1
- package/fesm2022/acorex-cdk-sliding-item.mjs +3 -3
- package/fesm2022/acorex-cdk-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-cdk-sticky.mjs +3 -3
- package/fesm2022/acorex-cdk-sticky.mjs.map +1 -1
- package/fesm2022/acorex-cdk-uploader.mjs +746 -0
- package/fesm2022/acorex-cdk-uploader.mjs.map +1 -0
- package/fesm2022/acorex-cdk-virtual-scroll.mjs +10 -10
- package/fesm2022/acorex-cdk-virtual-scroll.mjs.map +1 -1
- package/list-navigation/index.d.ts +1 -0
- package/package.json +6 -2
- package/resizable/index.d.ts +19 -7
- package/uploader/README.md +3 -0
- package/uploader/index.d.ts +378 -0
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { OnInit, OnDestroy, TemplateRef } from '@angular/core';
|
|
3
|
+
import { AXEvent } from '@acorex/cdk/common';
|
|
4
|
+
import * as rxjs from 'rxjs';
|
|
5
|
+
import { Subject, BehaviorSubject } from 'rxjs';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* A directive that provides browse functionality for file uploads.
|
|
9
|
+
* When applied to an element, clicking it will trigger the file browser dialog.
|
|
10
|
+
* @category Directives
|
|
11
|
+
*/
|
|
12
|
+
declare class AXUploaderBrowseDirective implements OnInit, OnDestroy {
|
|
13
|
+
/**
|
|
14
|
+
* The uploader zone directive instance.
|
|
15
|
+
* @ignore
|
|
16
|
+
*/
|
|
17
|
+
private uploaderZone;
|
|
18
|
+
/**
|
|
19
|
+
* The element reference for the directive host.
|
|
20
|
+
* @ignore
|
|
21
|
+
*/
|
|
22
|
+
private elementRef;
|
|
23
|
+
/**
|
|
24
|
+
* Platform ID for browser detection.
|
|
25
|
+
* @ignore
|
|
26
|
+
*/
|
|
27
|
+
private platformID;
|
|
28
|
+
/**
|
|
29
|
+
* Initializes the directive by adding click event listener and data attribute.
|
|
30
|
+
*/
|
|
31
|
+
ngOnInit(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Cleans up the directive by removing event listeners.
|
|
34
|
+
*/
|
|
35
|
+
ngOnDestroy(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Handles the click event to trigger file browser.
|
|
38
|
+
* @private
|
|
39
|
+
*/
|
|
40
|
+
private handleClick;
|
|
41
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXUploaderBrowseDirective, never>;
|
|
42
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXUploaderBrowseDirective, "[axUploaderBrowseHandle]", never, {}, {}, never, never, true, never>;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
type AXUploadStatus = 'new' | 'inprogress' | 'completed' | 'failed' | 'canceled';
|
|
46
|
+
interface AXUploaderChangedEvent extends AXEvent {
|
|
47
|
+
requests: AXUploadRequest[];
|
|
48
|
+
}
|
|
49
|
+
interface AXUploaderFileStartEvent extends AXEvent {
|
|
50
|
+
uploadedFile: AXUploadRequest;
|
|
51
|
+
}
|
|
52
|
+
interface AXUploaderFileCompleteEvent extends AXEvent {
|
|
53
|
+
uploadedFile: AXUploadRequest;
|
|
54
|
+
}
|
|
55
|
+
interface AXUploaderFilesCompleteEvent extends AXEvent {
|
|
56
|
+
uploadedFiles: AXUploadRequest[];
|
|
57
|
+
data?: any;
|
|
58
|
+
}
|
|
59
|
+
interface AXUploaderFileCancelEvent extends AXEvent {
|
|
60
|
+
uploadedFile: AXUploadRequest;
|
|
61
|
+
}
|
|
62
|
+
declare class AXUploadRequest {
|
|
63
|
+
private uploadFile;
|
|
64
|
+
get name(): string;
|
|
65
|
+
get ext(): string;
|
|
66
|
+
get size(): number;
|
|
67
|
+
get file(): File;
|
|
68
|
+
private readonly _progress;
|
|
69
|
+
progress: _angular_core.Signal<number>;
|
|
70
|
+
private readonly _estimateTime;
|
|
71
|
+
estimateTime: _angular_core.Signal<number>;
|
|
72
|
+
private readonly _status;
|
|
73
|
+
status: _angular_core.Signal<AXUploadStatus>;
|
|
74
|
+
private readonly _message;
|
|
75
|
+
message: _angular_core.Signal<string>;
|
|
76
|
+
private readonly _isDetermined;
|
|
77
|
+
isDetermined: _angular_core.Signal<boolean>;
|
|
78
|
+
private startTime;
|
|
79
|
+
private bytesTransferred;
|
|
80
|
+
metaData: any;
|
|
81
|
+
onCancel: Subject<void>;
|
|
82
|
+
onStart: Subject<void>;
|
|
83
|
+
onFailed: Subject<void>;
|
|
84
|
+
onComplete: BehaviorSubject<void>;
|
|
85
|
+
constructor(uploadFile: File);
|
|
86
|
+
private estimateTimeRemaining;
|
|
87
|
+
setTransferredBytes(value: number): void;
|
|
88
|
+
private updateEstimateTime;
|
|
89
|
+
upload(): Promise<void>;
|
|
90
|
+
cancel(): void;
|
|
91
|
+
redo(): void;
|
|
92
|
+
error(message: string): void;
|
|
93
|
+
finish(data?: any): void;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* A directive that provides drag-and-drop and file upload functionality.
|
|
98
|
+
* When applied to an element, it enables drag-and-drop file uploads and file browsing.
|
|
99
|
+
* @category Directives
|
|
100
|
+
*/
|
|
101
|
+
declare class AXUploaderZoneDirective implements OnDestroy {
|
|
102
|
+
/**
|
|
103
|
+
* The element reference for the directive host.
|
|
104
|
+
* @ignore
|
|
105
|
+
*/
|
|
106
|
+
private elementRef;
|
|
107
|
+
/**
|
|
108
|
+
* View container reference for rendering custom templates.
|
|
109
|
+
* @ignore
|
|
110
|
+
*/
|
|
111
|
+
private viewContainerRef;
|
|
112
|
+
/**
|
|
113
|
+
* Whether multiple files can be selected.
|
|
114
|
+
* @defaultValue true
|
|
115
|
+
*/
|
|
116
|
+
multiple: _angular_core.InputSignal<boolean>;
|
|
117
|
+
/**
|
|
118
|
+
* File types that are accepted for upload.
|
|
119
|
+
* @defaultValue null
|
|
120
|
+
*/
|
|
121
|
+
accept: _angular_core.InputSignal<string>;
|
|
122
|
+
/**
|
|
123
|
+
* Custom template for the drag overlay. If provided, this will be used instead of the default overlay.
|
|
124
|
+
*/
|
|
125
|
+
overlayTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
126
|
+
/**
|
|
127
|
+
* Whether browsing files by clicking on the container is disabled.
|
|
128
|
+
* @defaultValue false
|
|
129
|
+
*/
|
|
130
|
+
disableBrowse: _angular_core.InputSignal<boolean>;
|
|
131
|
+
/**
|
|
132
|
+
* Whether drag and drop functionality is disabled.
|
|
133
|
+
* @defaultValue false
|
|
134
|
+
*/
|
|
135
|
+
disableDragDrop: _angular_core.InputSignal<boolean>;
|
|
136
|
+
/**
|
|
137
|
+
* Change detector reference.
|
|
138
|
+
* @ignore
|
|
139
|
+
*/
|
|
140
|
+
private cdr;
|
|
141
|
+
/**
|
|
142
|
+
* Document reference.
|
|
143
|
+
* @ignore
|
|
144
|
+
*/
|
|
145
|
+
private document;
|
|
146
|
+
/**
|
|
147
|
+
* Platform ID for browser detection.
|
|
148
|
+
* @ignore
|
|
149
|
+
*/
|
|
150
|
+
private platformID;
|
|
151
|
+
/**
|
|
152
|
+
* Upload service instance.
|
|
153
|
+
* @ignore
|
|
154
|
+
*/
|
|
155
|
+
private uploadService;
|
|
156
|
+
/**
|
|
157
|
+
* Unsubscriber service instance.
|
|
158
|
+
* @ignore
|
|
159
|
+
*/
|
|
160
|
+
private unsubscriber;
|
|
161
|
+
/**
|
|
162
|
+
* Translation service instance.
|
|
163
|
+
* @ignore
|
|
164
|
+
*/
|
|
165
|
+
private translateService;
|
|
166
|
+
/**
|
|
167
|
+
* The host element.
|
|
168
|
+
* @ignore
|
|
169
|
+
*/
|
|
170
|
+
private element;
|
|
171
|
+
/**
|
|
172
|
+
* Embedded view reference for custom template.
|
|
173
|
+
* @ignore
|
|
174
|
+
*/
|
|
175
|
+
private templateViewRef;
|
|
176
|
+
/**
|
|
177
|
+
* Emitted when files are selected or dropped (like HTML file input).
|
|
178
|
+
* Emits an event with files property containing the selected files.
|
|
179
|
+
*/
|
|
180
|
+
fileChange: _angular_core.OutputEmitterRef<{
|
|
181
|
+
event: Event;
|
|
182
|
+
files: File[];
|
|
183
|
+
}>;
|
|
184
|
+
/**
|
|
185
|
+
* Emitted when files are changed (added, removed, etc.).
|
|
186
|
+
* @deprecated Use fileChange instead for simpler file input-like behavior
|
|
187
|
+
*/
|
|
188
|
+
onChanged: _angular_core.OutputEmitterRef<AXUploaderChangedEvent>;
|
|
189
|
+
/**
|
|
190
|
+
* Emitted on drag enter event.
|
|
191
|
+
*/
|
|
192
|
+
dragEnter: _angular_core.OutputEmitterRef<DragEvent>;
|
|
193
|
+
/**
|
|
194
|
+
* Emitted on drag leave event.
|
|
195
|
+
*/
|
|
196
|
+
dragLeave: _angular_core.OutputEmitterRef<DragEvent>;
|
|
197
|
+
/**
|
|
198
|
+
* Emitted on drag over event.
|
|
199
|
+
*/
|
|
200
|
+
dragOver: _angular_core.OutputEmitterRef<DragEvent>;
|
|
201
|
+
/**
|
|
202
|
+
* Emitted when a single file upload is completed.
|
|
203
|
+
*/
|
|
204
|
+
onFileUploadComplete: _angular_core.OutputEmitterRef<AXUploaderFileCompleteEvent>;
|
|
205
|
+
/**
|
|
206
|
+
* Emitted when all files upload is completed.
|
|
207
|
+
*/
|
|
208
|
+
onFilesUploadComplete: _angular_core.OutputEmitterRef<AXUploaderFilesCompleteEvent>;
|
|
209
|
+
/**
|
|
210
|
+
* CSS class for the overlay state.
|
|
211
|
+
* @ignore
|
|
212
|
+
*/
|
|
213
|
+
stateClass: string;
|
|
214
|
+
/**
|
|
215
|
+
* The overlay element for drag and drop visual feedback.
|
|
216
|
+
* @ignore
|
|
217
|
+
*/
|
|
218
|
+
overlayElement: HTMLDivElement | null;
|
|
219
|
+
/**
|
|
220
|
+
* Flag to track if dragOver has been emitted for the current drag session.
|
|
221
|
+
* @ignore
|
|
222
|
+
*/
|
|
223
|
+
private dragOverEmitted;
|
|
224
|
+
/**
|
|
225
|
+
* Counter to track drag enter/leave depth to prevent false dragleave events.
|
|
226
|
+
* When moving from parent to child, dragleave fires even though we're still inside.
|
|
227
|
+
* @ignore
|
|
228
|
+
*/
|
|
229
|
+
private dragDepth;
|
|
230
|
+
/**
|
|
231
|
+
* Animation end handler for cleanup.
|
|
232
|
+
* @ignore
|
|
233
|
+
*/
|
|
234
|
+
private animationEndHandler;
|
|
235
|
+
/**
|
|
236
|
+
* Initializes the directive with event listeners and service subscriptions.
|
|
237
|
+
*/
|
|
238
|
+
constructor();
|
|
239
|
+
/**
|
|
240
|
+
* Cleans up event listeners when the directive is destroyed.
|
|
241
|
+
*/
|
|
242
|
+
ngOnDestroy(): void;
|
|
243
|
+
/**
|
|
244
|
+
* Handles drag enter events to show the upload overlay.
|
|
245
|
+
* @private
|
|
246
|
+
*/
|
|
247
|
+
private handleDragEnter;
|
|
248
|
+
/**
|
|
249
|
+
* Handles drop events to process dropped files.
|
|
250
|
+
* @private
|
|
251
|
+
*/
|
|
252
|
+
private handleOnDrop;
|
|
253
|
+
/**
|
|
254
|
+
* Handles drag over events to allow dropping.
|
|
255
|
+
* @private
|
|
256
|
+
*/
|
|
257
|
+
private handleDragOver;
|
|
258
|
+
/**
|
|
259
|
+
* Creates the visual overlay for drag and drop feedback.
|
|
260
|
+
* @private
|
|
261
|
+
*/
|
|
262
|
+
private createZone;
|
|
263
|
+
/**
|
|
264
|
+
* Cancels any pending exit animation and cleans up handlers.
|
|
265
|
+
* @private
|
|
266
|
+
*/
|
|
267
|
+
private cancelExitAnimation;
|
|
268
|
+
/**
|
|
269
|
+
* Removes the visual overlay for drag and drop feedback.
|
|
270
|
+
* @private
|
|
271
|
+
*/
|
|
272
|
+
private removeZone;
|
|
273
|
+
/**
|
|
274
|
+
* Opens the file browser dialog and processes selected files.
|
|
275
|
+
* @returns Promise that resolves when files are processed
|
|
276
|
+
*/
|
|
277
|
+
browser(): Promise<void>;
|
|
278
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXUploaderZoneDirective, never>;
|
|
279
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXUploaderZoneDirective, "[axUploaderZone]", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "overlayTemplate": { "alias": "overlayTemplate"; "required": false; "isSignal": true; }; "disableBrowse": { "alias": "disableBrowse"; "required": false; "isSignal": true; }; "disableDragDrop": { "alias": "disableDragDrop"; "required": false; "isSignal": true; }; }, { "fileChange": "fileChange"; "onChanged": "onChanged"; "dragEnter": "dragEnter"; "dragLeave": "dragLeave"; "dragOver": "dragOver"; "onFileUploadComplete": "onFileUploadComplete"; "onFilesUploadComplete": "onFilesUploadComplete"; }, never, never, true, never>;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Service for managing file uploads with drag-and-drop support, progress tracking, and dialog management.
|
|
284
|
+
* @category Services
|
|
285
|
+
*/
|
|
286
|
+
declare class AXUploaderService {
|
|
287
|
+
/**
|
|
288
|
+
* Translation service for localized text.
|
|
289
|
+
* @ignore
|
|
290
|
+
*/
|
|
291
|
+
private translateService;
|
|
292
|
+
/**
|
|
293
|
+
* File service for file operations.
|
|
294
|
+
* @ignore
|
|
295
|
+
*/
|
|
296
|
+
private fileService;
|
|
297
|
+
/**
|
|
298
|
+
* Behavior subject for managing upload requests.
|
|
299
|
+
* @ignore
|
|
300
|
+
*/
|
|
301
|
+
private readonly _files$;
|
|
302
|
+
/**
|
|
303
|
+
* Gets the files behavior subject for observing upload requests.
|
|
304
|
+
*/
|
|
305
|
+
readonly files: rxjs.Observable<AXUploadRequest[]>;
|
|
306
|
+
/**
|
|
307
|
+
* Subject for file upload start events.
|
|
308
|
+
*/
|
|
309
|
+
readonly onFileUploadStart: Subject<AXUploaderFileStartEvent>;
|
|
310
|
+
/**
|
|
311
|
+
* Subject for file upload complete events.
|
|
312
|
+
*/
|
|
313
|
+
readonly onFileUploadComplete: Subject<AXUploaderFileCompleteEvent>;
|
|
314
|
+
/**
|
|
315
|
+
* Subject for all files upload complete events.
|
|
316
|
+
*/
|
|
317
|
+
readonly onFilesUploadComplete: Subject<AXUploaderFilesCompleteEvent>;
|
|
318
|
+
/**
|
|
319
|
+
* Subject for file upload canceled events.
|
|
320
|
+
*/
|
|
321
|
+
readonly onFileUploadCanceled: Subject<AXUploaderFileCancelEvent>;
|
|
322
|
+
/**
|
|
323
|
+
* Signal indicating if any upload has determined progress.
|
|
324
|
+
*/
|
|
325
|
+
readonly isAnyDetermined: _angular_core.Signal<boolean>;
|
|
326
|
+
/**
|
|
327
|
+
* Observable for total estimated upload time.
|
|
328
|
+
*/
|
|
329
|
+
readonly totalEstimateTime: rxjs.Observable<number>;
|
|
330
|
+
/**
|
|
331
|
+
* Converts a File object to an AXUploadRequest.
|
|
332
|
+
* @private
|
|
333
|
+
*/
|
|
334
|
+
private convertFileToRequest;
|
|
335
|
+
/**
|
|
336
|
+
* Starts uploading files that are in 'new' status.
|
|
337
|
+
* @private
|
|
338
|
+
*/
|
|
339
|
+
private startUpload;
|
|
340
|
+
/**
|
|
341
|
+
* Binds event handlers to an upload request.
|
|
342
|
+
* @private
|
|
343
|
+
*/
|
|
344
|
+
private bindEvents;
|
|
345
|
+
/**
|
|
346
|
+
* Opens the file browser dialog and returns selected files as upload requests.
|
|
347
|
+
* @param options - Configuration options for file selection
|
|
348
|
+
* @returns Promise that resolves to an array of upload requests
|
|
349
|
+
*/
|
|
350
|
+
browse(options?: {
|
|
351
|
+
multiple?: boolean;
|
|
352
|
+
accept?: string;
|
|
353
|
+
}): Promise<AXUploadRequest[]>;
|
|
354
|
+
/**
|
|
355
|
+
* Adds files to the upload queue and starts the upload process.
|
|
356
|
+
* @param files - Files to add to the upload queue
|
|
357
|
+
* @returns Promise that resolves to an array of upload requests
|
|
358
|
+
*/
|
|
359
|
+
add(files: FileList | File[]): Promise<AXUploadRequest[]>;
|
|
360
|
+
/**
|
|
361
|
+
* Cancels all pending and in-progress uploads.
|
|
362
|
+
*/
|
|
363
|
+
cancelAll(): Promise<void>;
|
|
364
|
+
/**
|
|
365
|
+
* Clears all completed uploads from the queue.
|
|
366
|
+
*/
|
|
367
|
+
clearAll(): void;
|
|
368
|
+
/**
|
|
369
|
+
* Removes a specific upload request from the queue.
|
|
370
|
+
* @param item - The upload request to remove
|
|
371
|
+
*/
|
|
372
|
+
remove(item: AXUploadRequest): void;
|
|
373
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXUploaderService, never>;
|
|
374
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXUploaderService>;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
export { AXUploadRequest, AXUploaderBrowseDirective, AXUploaderService, AXUploaderZoneDirective };
|
|
378
|
+
export type { AXUploadStatus, AXUploaderChangedEvent, AXUploaderFileCancelEvent, AXUploaderFileCompleteEvent, AXUploaderFileStartEvent, AXUploaderFilesCompleteEvent };
|