@dereekb/dbx-firebase 12.4.4 → 12.5.0

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 (52) hide show
  1. package/esm2022/lib/auth/login/login.button.component.mjs +1 -1
  2. package/esm2022/lib/auth/login/login.email.content.component.mjs +2 -2
  3. package/esm2022/lib/development/development.scheduler.list.component.mjs +1 -1
  4. package/esm2022/lib/firestore/firebase.firestore.providers.mjs +21 -2
  5. package/esm2022/lib/model/loader/collection.loader.instance.mjs +65 -5
  6. package/esm2022/lib/model/modules/store/index.mjs +2 -1
  7. package/esm2022/lib/model/modules/store/store.collection.crud.mjs +28 -0
  8. package/esm2022/lib/model/modules/store/store.collection.directive.mjs +20 -2
  9. package/esm2022/lib/model/modules/store/store.collection.mjs +14 -1
  10. package/esm2022/lib/modules/index.mjs +2 -1
  11. package/esm2022/lib/modules/storagefile/container/index.mjs +7 -0
  12. package/esm2022/lib/modules/storagefile/container/storagefile.upload.action.handler.directive.mjs +118 -0
  13. package/esm2022/lib/modules/storagefile/container/storagefile.upload.error.mjs +12 -0
  14. package/esm2022/lib/modules/storagefile/container/storagefile.upload.handler.mjs +254 -0
  15. package/esm2022/lib/modules/storagefile/container/storagefile.upload.initialize.document.directive.mjs +39 -0
  16. package/esm2022/lib/modules/storagefile/container/storagefile.upload.store.directive.mjs +38 -0
  17. package/esm2022/lib/modules/storagefile/container/storagefile.upload.sync.directive.mjs +36 -0
  18. package/esm2022/lib/modules/storagefile/index.mjs +4 -0
  19. package/esm2022/lib/modules/storagefile/storagefile.upload.module.mjs +83 -0
  20. package/esm2022/lib/modules/storagefile/store/index.mjs +6 -0
  21. package/esm2022/lib/modules/storagefile/store/storagefile.collection.store.directive.mjs +22 -0
  22. package/esm2022/lib/modules/storagefile/store/storagefile.collection.store.mjs +18 -0
  23. package/esm2022/lib/modules/storagefile/store/storagefile.document.store.directive.mjs +21 -0
  24. package/esm2022/lib/modules/storagefile/store/storagefile.document.store.mjs +22 -0
  25. package/esm2022/lib/modules/storagefile/store/storagefile.upload.store.mjs +63 -0
  26. package/esm2022/lib/storage/firebase.storage.module.mjs +2 -2
  27. package/fesm2022/dereekb-dbx-firebase.mjs +833 -30
  28. package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
  29. package/lib/firestore/firebase.firestore.providers.d.ts +14 -1
  30. package/lib/model/loader/collection.loader.instance.d.ts +26 -1
  31. package/lib/model/modules/store/index.d.ts +1 -0
  32. package/lib/model/modules/store/store.collection.crud.d.ts +21 -0
  33. package/lib/model/modules/store/store.collection.d.ts +19 -2
  34. package/lib/model/modules/store/store.collection.directive.d.ts +12 -2
  35. package/lib/modules/index.d.ts +1 -0
  36. package/lib/modules/storagefile/container/index.d.ts +6 -0
  37. package/lib/modules/storagefile/container/storagefile.upload.action.handler.directive.d.ts +47 -0
  38. package/lib/modules/storagefile/container/storagefile.upload.error.d.ts +9 -0
  39. package/lib/modules/storagefile/container/storagefile.upload.handler.d.ts +183 -0
  40. package/lib/modules/storagefile/container/storagefile.upload.initialize.document.directive.d.ts +14 -0
  41. package/lib/modules/storagefile/container/storagefile.upload.store.directive.d.ts +20 -0
  42. package/lib/modules/storagefile/container/storagefile.upload.sync.directive.d.ts +18 -0
  43. package/lib/modules/storagefile/index.d.ts +3 -0
  44. package/lib/modules/storagefile/storagefile.upload.module.d.ts +29 -0
  45. package/lib/modules/storagefile/store/index.d.ts +5 -0
  46. package/lib/modules/storagefile/store/storagefile.collection.store.d.ts +10 -0
  47. package/lib/modules/storagefile/store/storagefile.collection.store.directive.d.ts +9 -0
  48. package/lib/modules/storagefile/store/storagefile.document.store.d.ts +15 -0
  49. package/lib/modules/storagefile/store/storagefile.document.store.directive.d.ts +9 -0
  50. package/lib/modules/storagefile/store/storagefile.upload.store.d.ts +166 -0
  51. package/lib/storage/firebase.storage.module.d.ts +1 -1
  52. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ import { DbxFirebaseDocumentStoreDirective } from '../../../model/modules/store';
2
+ import { StorageFileDocumentStore } from './storagefile.document.store';
3
+ import { StorageFile, StorageFileDocument } from '@dereekb/firebase';
4
+ import * as i0 from "@angular/core";
5
+ export declare class DbxFirebaseStorageFileDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective<StorageFile, StorageFileDocument, StorageFileDocumentStore> {
6
+ constructor(store: StorageFileDocumentStore);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileDocumentStoreDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseStorageFileDocumentStoreDirective, "[dbxFirebaseStorageFileDocument]", never, {}, {}, never, never, true, never>;
9
+ }
@@ -0,0 +1,166 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { FileAcceptFilterTypeString } from '@dereekb/dbx-web';
3
+ import { FirebaseStorageAccessorFile, StoragePathInput } from '@dereekb/firebase';
4
+ import { ArrayOrValue, Maybe, PercentDecimal } from '@dereekb/util';
5
+ import { ComponentStore } from '@ngrx/component-store';
6
+ import { StorageFileUploadFilesEvent, StorageFileUploadFilesFinalResult } from '../container';
7
+ import * as i0 from "@angular/core";
8
+ /**
9
+ * The stage of the upload process.
10
+ *
11
+ * - configuration: The initial stage where the upload store is being configured.
12
+ * - files: The stage where the files are to be selected.
13
+ * - uploading: The stage where the files are being uploaded.
14
+ * - success: The stage where the files have been successfully uploaded.
15
+ * - error: The stage where the upload has failed.
16
+ */
17
+ export type DbxFirebaseStorageFileUploadStoreUploadStage = 'configuration' | 'files' | 'uploading' | 'success' | 'error';
18
+ /**
19
+ * The accepted file types for the upload.
20
+ *
21
+ * If unset, then all file types are accepted.
22
+ */
23
+ export type DbxFirebaseStorageFileUploadStoreAllowedTypes = FileAcceptFilterTypeString[];
24
+ /**
25
+ * The progress of a file being uploaded.
26
+ *
27
+ * File progresses are automatically created for all files when one file's progress is
28
+ */
29
+ export interface DbxFirebaseStorageFileUploadStoreFileProgress<T = unknown> {
30
+ /**
31
+ * The file being uploaded.
32
+ */
33
+ readonly file: File;
34
+ /**
35
+ * The accessor file for the file, if available.
36
+ */
37
+ readonly fileRef?: Maybe<FirebaseStorageAccessorFile>;
38
+ /**
39
+ * The upload reference info for the file, if available.
40
+ */
41
+ readonly uploadRef?: Maybe<T>;
42
+ /**
43
+ * The number of bytes that have been transferred for this file.
44
+ */
45
+ readonly bytesTransferred?: Maybe<number>;
46
+ /**
47
+ * The total number of bytes to be uploaded.
48
+ */
49
+ readonly totalBytes?: Maybe<number>;
50
+ /**
51
+ * The progress of the upload.
52
+ *
53
+ * If unset, then the file has not started uploading.
54
+ */
55
+ readonly progress?: Maybe<PercentDecimal>;
56
+ /**
57
+ * If true, the upload has failed for this file.
58
+ */
59
+ readonly failed?: boolean;
60
+ /**
61
+ * The error that occurred during the upload for this file.
62
+ */
63
+ readonly error?: unknown;
64
+ }
65
+ export interface DbxFirebaseStorageFileUploadStoreState {
66
+ /**
67
+ * The default accepted file types for the upload.
68
+ *
69
+ * This may be set by the component.
70
+ */
71
+ readonly componentFileTypesAccepted?: Maybe<DbxFirebaseStorageFileUploadStoreAllowedTypes>;
72
+ /**
73
+ * If true, the component allows multiple files to be selected.
74
+ *
75
+ * Defaults to undefined.
76
+ */
77
+ readonly isComponentMultiUploadAllowed?: Maybe<boolean>;
78
+ /**
79
+ * The accepted file types for the upload.
80
+ *
81
+ * Is used to filter the files that can be selected for upload.
82
+ *
83
+ * Overrides the componentFileTypesAccepted value if set.
84
+ */
85
+ readonly fileTypesAccepted?: Maybe<DbxFirebaseStorageFileUploadStoreAllowedTypes>;
86
+ /**
87
+ * If true, allow selecting multiple files for upload.
88
+ *
89
+ * If isComponentMultiUploadAllowed is false, then this value is ignored.
90
+ */
91
+ readonly isMultiUploadAllowed?: Maybe<boolean>;
92
+ /**
93
+ * Path to upload the file(s) to.
94
+ *
95
+ * Must be set before uploading.
96
+ */
97
+ readonly uploadPath?: Maybe<StoragePathInput>;
98
+ /**
99
+ * The current file(s) to upload.
100
+ */
101
+ readonly files?: Maybe<File[]>;
102
+ /**
103
+ * The progress of the upload for each file.
104
+ *
105
+ * Only set while one or more files are being uploaded.
106
+ */
107
+ readonly latestProgressEvent?: Maybe<StorageFileUploadFilesEvent>;
108
+ /**
109
+ * If true, the upload handler is working.
110
+ */
111
+ readonly isUploadHandlerWorking?: Maybe<boolean>;
112
+ /**
113
+ * The final upload result for the files.
114
+ *
115
+ * Only set after the upload has completed.
116
+ */
117
+ readonly uploadResult?: Maybe<StorageFileUploadFilesFinalResult>;
118
+ }
119
+ /**
120
+ * Store used for selecting a specific NotificationItem from a list of notification items.
121
+ */
122
+ export declare class DbxFirebaseStorageFileUploadStore extends ComponentStore<DbxFirebaseStorageFileUploadStoreState> implements OnDestroy {
123
+ constructor();
124
+ readonly componentFileTypesAccepted$: import("rxjs").Observable<Maybe<DbxFirebaseStorageFileUploadStoreAllowedTypes>>;
125
+ readonly isComponentMultiUploadAllowed$: import("rxjs").Observable<Maybe<boolean>>;
126
+ readonly fileTypesAllowed$: import("rxjs").Observable<DbxFirebaseStorageFileUploadStoreAllowedTypes>;
127
+ readonly fileTypesAcceptString$: import("rxjs").Observable<string>;
128
+ readonly isMultiUploadAllowed$: import("rxjs").Observable<Maybe<boolean>>;
129
+ readonly uploadPath$: import("rxjs").Observable<Maybe<StoragePathInput>>;
130
+ readonly currentFiles$: import("rxjs").Observable<Maybe<File[]>>;
131
+ readonly files$: import("rxjs").Observable<File[]>;
132
+ readonly isUploadHandlerWorking$: import("rxjs").Observable<Maybe<boolean>>;
133
+ readonly latestProgressEvent$: import("rxjs").Observable<Maybe<StorageFileUploadFilesEvent>>;
134
+ readonly currentUploadResult$: import("rxjs").Observable<Maybe<StorageFileUploadFilesFinalResult>>;
135
+ readonly uploadResult$: import("rxjs").Observable<StorageFileUploadFilesFinalResult>;
136
+ readonly setComponentFileTypesAccepted: (() => void) | ((observableOrValue: Maybe<DbxFirebaseStorageFileUploadStoreAllowedTypes> | import("rxjs").Observable<Maybe<DbxFirebaseStorageFileUploadStoreAllowedTypes>>) => import("rxjs").Subscription);
137
+ readonly setIsComponentMultiUploadAllowed: (() => void) | ((observableOrValue: Maybe<boolean> | import("rxjs").Observable<Maybe<boolean>>) => import("rxjs").Subscription);
138
+ readonly setUploadPath: (() => void) | ((observableOrValue: Maybe<StoragePathInput> | import("rxjs").Observable<Maybe<StoragePathInput>>) => import("rxjs").Subscription);
139
+ readonly setFileTypesAccepted: (() => void) | ((observableOrValue: Maybe<ArrayOrValue<string>> | import("rxjs").Observable<Maybe<ArrayOrValue<string>>>) => import("rxjs").Subscription);
140
+ /**
141
+ * Sets the file list to upload.
142
+ *
143
+ * If the upload handler is working, the file list cannot be changed.
144
+ */
145
+ readonly setFiles: (() => void) | ((observableOrValue: Maybe<File[]> | import("rxjs").Observable<Maybe<File[]>>) => import("rxjs").Subscription);
146
+ readonly setIsMultiUploadAllowed: (() => void) | ((observableOrValue: Maybe<boolean> | import("rxjs").Observable<Maybe<boolean>>) => import("rxjs").Subscription);
147
+ /**
148
+ * Flags the upload handler to begin working.
149
+ *
150
+ * Once the upload handler is flagged, it cannot be unset until the upload handler has finished.
151
+ */
152
+ readonly setIsUploadHandlerWorking: (observableOrValue: boolean | import("rxjs").Observable<boolean>) => import("rxjs").Subscription;
153
+ /**
154
+ * Sets the latest progress event.
155
+ */
156
+ readonly setLatestProgressEvent: (() => void) | ((observableOrValue: Maybe<StorageFileUploadFilesEvent> | import("rxjs").Observable<Maybe<StorageFileUploadFilesEvent>>) => import("rxjs").Subscription);
157
+ /**
158
+ * Updates the upload progress for one or more files.
159
+ */
160
+ /**
161
+ * Sets the upload result.
162
+ */
163
+ readonly setUploadResult: (() => void) | ((observableOrValue: Maybe<StorageFileUploadFilesFinalResult> | import("rxjs").Observable<Maybe<StorageFileUploadFilesFinalResult>>) => import("rxjs").Subscription);
164
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseStorageFileUploadStore, never>;
165
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseStorageFileUploadStore>;
166
+ }
@@ -3,7 +3,7 @@ import { ProvideDbxFirebaseStorageConfig } from './firebase.storage.providers';
3
3
  import * as i0 from "@angular/core";
4
4
  export type DbxFirebaseStorageModuleConfig = ProvideDbxFirebaseStorageConfig;
5
5
  /**
6
- * @deprecated use providedDbxFirebaseStorageContext() instead.
6
+ * @deprecated use providedDbxFirebaseStorage() instead.
7
7
  */
8
8
  export declare class DbxFirebaseStorageModule {
9
9
  static forRoot(config?: DbxFirebaseStorageModuleConfig): ModuleWithProviders<DbxFirebaseStorageModule>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-firebase",
3
- "version": "12.4.4",
3
+ "version": "12.5.0",
4
4
  "peerDependencies": {
5
5
  "@angular/core": "^18.0.0",
6
6
  "@dereekb/dbx-analytics": "*",