@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.
Files changed (46) hide show
  1. package/accordion/index.d.ts +1 -0
  2. package/drag-drop/index.d.ts +57 -44
  3. package/drawer/index.d.ts +12 -9
  4. package/fesm2022/acorex-cdk-accordion.mjs +52 -67
  5. package/fesm2022/acorex-cdk-accordion.mjs.map +1 -1
  6. package/fesm2022/acorex-cdk-carousel.mjs +13 -10
  7. package/fesm2022/acorex-cdk-carousel.mjs.map +1 -1
  8. package/fesm2022/acorex-cdk-clipboard.mjs +6 -6
  9. package/fesm2022/acorex-cdk-clipboard.mjs.map +1 -1
  10. package/fesm2022/acorex-cdk-common.mjs +104 -104
  11. package/fesm2022/acorex-cdk-common.mjs.map +1 -1
  12. package/fesm2022/acorex-cdk-dom.mjs +3 -3
  13. package/fesm2022/acorex-cdk-dom.mjs.map +1 -1
  14. package/fesm2022/acorex-cdk-drag-drop.mjs +278 -85
  15. package/fesm2022/acorex-cdk-drag-drop.mjs.map +1 -1
  16. package/fesm2022/acorex-cdk-drawer.mjs +44 -33
  17. package/fesm2022/acorex-cdk-drawer.mjs.map +1 -1
  18. package/fesm2022/acorex-cdk-focus-trap.mjs +3 -3
  19. package/fesm2022/acorex-cdk-focus-trap.mjs.map +1 -1
  20. package/fesm2022/acorex-cdk-input-mask.mjs +5 -3
  21. package/fesm2022/acorex-cdk-input-mask.mjs.map +1 -1
  22. package/fesm2022/acorex-cdk-list-navigation.mjs +39 -21
  23. package/fesm2022/acorex-cdk-list-navigation.mjs.map +1 -1
  24. package/fesm2022/acorex-cdk-outline.mjs +6 -6
  25. package/fesm2022/acorex-cdk-outline.mjs.map +1 -1
  26. package/fesm2022/acorex-cdk-overlay.mjs +3 -3
  27. package/fesm2022/acorex-cdk-overlay.mjs.map +1 -1
  28. package/fesm2022/acorex-cdk-pan-view.mjs +3 -3
  29. package/fesm2022/acorex-cdk-pan-view.mjs.map +1 -1
  30. package/fesm2022/acorex-cdk-resizable.mjs +166 -118
  31. package/fesm2022/acorex-cdk-resizable.mjs.map +1 -1
  32. package/fesm2022/acorex-cdk-selection.mjs +10 -10
  33. package/fesm2022/acorex-cdk-selection.mjs.map +1 -1
  34. package/fesm2022/acorex-cdk-sliding-item.mjs +3 -3
  35. package/fesm2022/acorex-cdk-sliding-item.mjs.map +1 -1
  36. package/fesm2022/acorex-cdk-sticky.mjs +3 -3
  37. package/fesm2022/acorex-cdk-sticky.mjs.map +1 -1
  38. package/fesm2022/acorex-cdk-uploader.mjs +746 -0
  39. package/fesm2022/acorex-cdk-uploader.mjs.map +1 -0
  40. package/fesm2022/acorex-cdk-virtual-scroll.mjs +10 -10
  41. package/fesm2022/acorex-cdk-virtual-scroll.mjs.map +1 -1
  42. package/list-navigation/index.d.ts +1 -0
  43. package/package.json +6 -2
  44. package/resizable/index.d.ts +19 -7
  45. package/uploader/README.md +3 -0
  46. 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 };