@acorex/cdk 21.0.0-next.2 → 21.0.0-next.20

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 (49) 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 +55 -70
  5. package/fesm2022/acorex-cdk-accordion.mjs.map +1 -1
  6. package/fesm2022/acorex-cdk-carousel.mjs +9 -7
  7. package/fesm2022/acorex-cdk-carousel.mjs.map +1 -1
  8. package/fesm2022/acorex-cdk-clipboard.mjs +7 -7
  9. package/fesm2022/acorex-cdk-clipboard.mjs.map +1 -1
  10. package/fesm2022/acorex-cdk-common.mjs +110 -110
  11. package/fesm2022/acorex-cdk-common.mjs.map +1 -1
  12. package/fesm2022/acorex-cdk-dom.mjs +4 -4
  13. package/fesm2022/acorex-cdk-dom.mjs.map +1 -1
  14. package/fesm2022/acorex-cdk-drag-drop.mjs +279 -86
  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 +66 -63
  21. package/fesm2022/acorex-cdk-input-mask.mjs.map +1 -1
  22. package/fesm2022/acorex-cdk-list-navigation.mjs +41 -23
  23. package/fesm2022/acorex-cdk-list-navigation.mjs.map +1 -1
  24. package/fesm2022/acorex-cdk-outline.mjs +8 -8
  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 +4 -4
  29. package/fesm2022/acorex-cdk-pan-view.mjs.map +1 -1
  30. package/fesm2022/acorex-cdk-resizable.mjs +4 -4
  31. package/fesm2022/acorex-cdk-resizable.mjs.map +1 -1
  32. package/fesm2022/acorex-cdk-selection.mjs +12 -12
  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 +723 -0
  39. package/fesm2022/acorex-cdk-uploader.mjs.map +1 -0
  40. package/fesm2022/acorex-cdk-virtual-scroll.mjs +11 -11
  41. package/fesm2022/acorex-cdk-virtual-scroll.mjs.map +1 -1
  42. package/fesm2022/acorex-cdk-wysiwyg.mjs +5 -1
  43. package/fesm2022/acorex-cdk-wysiwyg.mjs.map +1 -1
  44. package/input-mask/index.d.ts +1 -0
  45. package/list-navigation/index.d.ts +1 -0
  46. package/package.json +6 -2
  47. package/uploader/README.md +3 -0
  48. package/uploader/index.d.ts +368 -0
  49. package/wysiwyg/index.d.ts +1 -0
@@ -0,0 +1,368 @@
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
+ * Change detector reference.
128
+ * @ignore
129
+ */
130
+ private cdr;
131
+ /**
132
+ * Document reference.
133
+ * @ignore
134
+ */
135
+ private document;
136
+ /**
137
+ * Platform ID for browser detection.
138
+ * @ignore
139
+ */
140
+ private platformID;
141
+ /**
142
+ * Upload service instance.
143
+ * @ignore
144
+ */
145
+ private uploadService;
146
+ /**
147
+ * Unsubscriber service instance.
148
+ * @ignore
149
+ */
150
+ private unsubscriber;
151
+ /**
152
+ * Translation service instance.
153
+ * @ignore
154
+ */
155
+ private translateService;
156
+ /**
157
+ * The host element.
158
+ * @ignore
159
+ */
160
+ private element;
161
+ /**
162
+ * Embedded view reference for custom template.
163
+ * @ignore
164
+ */
165
+ private templateViewRef;
166
+ /**
167
+ * Emitted when files are selected or dropped (like HTML file input).
168
+ * Emits an event with files property containing the selected files.
169
+ */
170
+ fileChange: _angular_core.OutputEmitterRef<{
171
+ event: Event;
172
+ files: File[];
173
+ }>;
174
+ /**
175
+ * Emitted when files are changed (added, removed, etc.).
176
+ * @deprecated Use fileChange instead for simpler file input-like behavior
177
+ */
178
+ onChanged: _angular_core.OutputEmitterRef<AXUploaderChangedEvent>;
179
+ /**
180
+ * Emitted on drag enter event.
181
+ */
182
+ dragEnter: _angular_core.OutputEmitterRef<DragEvent>;
183
+ /**
184
+ * Emitted on drag leave event.
185
+ */
186
+ dragLeave: _angular_core.OutputEmitterRef<DragEvent>;
187
+ /**
188
+ * Emitted on drag over event.
189
+ */
190
+ dragOver: _angular_core.OutputEmitterRef<DragEvent>;
191
+ /**
192
+ * Emitted when a single file upload is completed.
193
+ */
194
+ onFileUploadComplete: _angular_core.OutputEmitterRef<AXUploaderFileCompleteEvent>;
195
+ /**
196
+ * Emitted when all files upload is completed.
197
+ */
198
+ onFilesUploadComplete: _angular_core.OutputEmitterRef<AXUploaderFilesCompleteEvent>;
199
+ /**
200
+ * CSS class for the overlay state.
201
+ * @ignore
202
+ */
203
+ stateClass: string;
204
+ /**
205
+ * The overlay element for drag and drop visual feedback.
206
+ * @ignore
207
+ */
208
+ overlayElement: HTMLDivElement | null;
209
+ /**
210
+ * Flag to track if dragOver has been emitted for the current drag session.
211
+ * @ignore
212
+ */
213
+ private dragOverEmitted;
214
+ /**
215
+ * Counter to track drag enter/leave depth to prevent false dragleave events.
216
+ * When moving from parent to child, dragleave fires even though we're still inside.
217
+ * @ignore
218
+ */
219
+ private dragDepth;
220
+ /**
221
+ * Animation end handler for cleanup.
222
+ * @ignore
223
+ */
224
+ private animationEndHandler;
225
+ /**
226
+ * Initializes the directive with event listeners and service subscriptions.
227
+ */
228
+ constructor();
229
+ /**
230
+ * Cleans up event listeners when the directive is destroyed.
231
+ */
232
+ ngOnDestroy(): void;
233
+ /**
234
+ * Handles drag enter events to show the upload overlay.
235
+ * @private
236
+ */
237
+ private handleDragEnter;
238
+ /**
239
+ * Handles drop events to process dropped files.
240
+ * @private
241
+ */
242
+ private handleOnDrop;
243
+ /**
244
+ * Handles drag over events to allow dropping.
245
+ * @private
246
+ */
247
+ private handleDragOver;
248
+ /**
249
+ * Creates the visual overlay for drag and drop feedback.
250
+ * @private
251
+ */
252
+ private createZone;
253
+ /**
254
+ * Cancels any pending exit animation and cleans up handlers.
255
+ * @private
256
+ */
257
+ private cancelExitAnimation;
258
+ /**
259
+ * Removes the visual overlay for drag and drop feedback.
260
+ * @private
261
+ */
262
+ private removeZone;
263
+ /**
264
+ * Opens the file browser dialog and processes selected files.
265
+ * @returns Promise that resolves when files are processed
266
+ */
267
+ browser(): Promise<void>;
268
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXUploaderZoneDirective, never>;
269
+ 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; }; }, { "fileChange": "fileChange"; "onChanged": "onChanged"; "dragEnter": "dragEnter"; "dragLeave": "dragLeave"; "dragOver": "dragOver"; "onFileUploadComplete": "onFileUploadComplete"; "onFilesUploadComplete": "onFilesUploadComplete"; }, never, never, true, never>;
270
+ }
271
+
272
+ /**
273
+ * Service for managing file uploads with drag-and-drop support, progress tracking, and dialog management.
274
+ * @category Services
275
+ */
276
+ declare class AXUploaderService {
277
+ /**
278
+ * Translation service for localized text.
279
+ * @ignore
280
+ */
281
+ private translateService;
282
+ /**
283
+ * File service for file operations.
284
+ * @ignore
285
+ */
286
+ private fileService;
287
+ /**
288
+ * Behavior subject for managing upload requests.
289
+ * @ignore
290
+ */
291
+ private readonly _files$;
292
+ /**
293
+ * Gets the files behavior subject for observing upload requests.
294
+ */
295
+ readonly files: rxjs.Observable<AXUploadRequest[]>;
296
+ /**
297
+ * Subject for file upload start events.
298
+ */
299
+ readonly onFileUploadStart: Subject<AXUploaderFileStartEvent>;
300
+ /**
301
+ * Subject for file upload complete events.
302
+ */
303
+ readonly onFileUploadComplete: Subject<AXUploaderFileCompleteEvent>;
304
+ /**
305
+ * Subject for all files upload complete events.
306
+ */
307
+ readonly onFilesUploadComplete: Subject<AXUploaderFilesCompleteEvent>;
308
+ /**
309
+ * Subject for file upload canceled events.
310
+ */
311
+ readonly onFileUploadCanceled: Subject<AXUploaderFileCancelEvent>;
312
+ /**
313
+ * Signal indicating if any upload has determined progress.
314
+ */
315
+ readonly isAnyDetermined: _angular_core.Signal<boolean>;
316
+ /**
317
+ * Observable for total estimated upload time.
318
+ */
319
+ readonly totalEstimateTime: rxjs.Observable<number>;
320
+ /**
321
+ * Converts a File object to an AXUploadRequest.
322
+ * @private
323
+ */
324
+ private convertFileToRequest;
325
+ /**
326
+ * Starts uploading files that are in 'new' status.
327
+ * @private
328
+ */
329
+ private startUpload;
330
+ /**
331
+ * Binds event handlers to an upload request.
332
+ * @private
333
+ */
334
+ private bindEvents;
335
+ /**
336
+ * Opens the file browser dialog and returns selected files as upload requests.
337
+ * @param options - Configuration options for file selection
338
+ * @returns Promise that resolves to an array of upload requests
339
+ */
340
+ browse(options?: {
341
+ multiple?: boolean;
342
+ accept?: string;
343
+ }): Promise<AXUploadRequest[]>;
344
+ /**
345
+ * Adds files to the upload queue and starts the upload process.
346
+ * @param files - Files to add to the upload queue
347
+ * @returns Promise that resolves to an array of upload requests
348
+ */
349
+ add(files: FileList | File[]): Promise<AXUploadRequest[]>;
350
+ /**
351
+ * Cancels all pending and in-progress uploads.
352
+ */
353
+ cancelAll(): Promise<void>;
354
+ /**
355
+ * Clears all completed uploads from the queue.
356
+ */
357
+ clearAll(): void;
358
+ /**
359
+ * Removes a specific upload request from the queue.
360
+ * @param item - The upload request to remove
361
+ */
362
+ remove(item: AXUploadRequest): void;
363
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXUploaderService, never>;
364
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXUploaderService>;
365
+ }
366
+
367
+ export { AXUploadRequest, AXUploaderBrowseDirective, AXUploaderService, AXUploaderZoneDirective };
368
+ export type { AXUploadStatus, AXUploaderChangedEvent, AXUploaderFileCancelEvent, AXUploaderFileCompleteEvent, AXUploaderFileStartEvent, AXUploaderFilesCompleteEvent };
@@ -5,6 +5,7 @@ type Wysiwyg = Quill;
5
5
  type WysiwygOptions = QuillOptions;
6
6
  declare class AXWysiwyg {
7
7
  quillObj: _angular_core.WritableSignal<Quill>;
8
+ private platformId;
8
9
  init(container: HTMLElement | string, option?: WysiwygOptions): Promise<void>;
9
10
  bold(value: boolean): void;
10
11
  italic(value: boolean): void;