@dereekb/dbx-firebase 11.1.8 → 12.0.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 (258) hide show
  1. package/esm2022/lib/analytics/analytics.user.events.providers.mjs +25 -0
  2. package/esm2022/lib/analytics/analytics.user.events.service.mjs +37 -0
  3. package/esm2022/lib/analytics/analytics.user.source.mjs +4 -4
  4. package/esm2022/lib/analytics/index.mjs +3 -2
  5. package/esm2022/lib/auth/appcheck/appcheck.interceptor.mjs +6 -6
  6. package/esm2022/lib/auth/firebase.auth.module.mjs +11 -23
  7. package/esm2022/lib/auth/firebase.auth.providers.mjs +27 -0
  8. package/esm2022/lib/auth/index.mjs +2 -1
  9. package/esm2022/lib/auth/login/firebase.login.module.mjs +56 -201
  10. package/esm2022/lib/auth/login/firebase.login.providers.default.mjs +109 -0
  11. package/esm2022/lib/auth/login/firebase.login.providers.mjs +59 -0
  12. package/esm2022/lib/auth/login/index.mjs +2 -1
  13. package/esm2022/lib/auth/login/login.anonymous.component.mjs +9 -6
  14. package/esm2022/lib/auth/login/login.apple.component.mjs +9 -6
  15. package/esm2022/lib/auth/login/login.button.component.mjs +68 -49
  16. package/esm2022/lib/auth/login/login.component.mjs +21 -26
  17. package/esm2022/lib/auth/login/login.context.back.component.mjs +8 -5
  18. package/esm2022/lib/auth/login/login.context.directive.mjs +5 -4
  19. package/esm2022/lib/auth/login/login.email.component.mjs +9 -6
  20. package/esm2022/lib/auth/login/login.email.content.component.mjs +29 -28
  21. package/esm2022/lib/auth/login/login.email.form.component.mjs +17 -26
  22. package/esm2022/lib/auth/login/login.email.recovery.form.component.mjs +11 -12
  23. package/esm2022/lib/auth/login/login.facebook.component.mjs +9 -6
  24. package/esm2022/lib/auth/login/login.github.component.mjs +9 -6
  25. package/esm2022/lib/auth/login/login.google.component.mjs +9 -6
  26. package/esm2022/lib/auth/login/login.list.component.mjs +45 -56
  27. package/esm2022/lib/auth/login/login.microsoft.component.mjs +9 -6
  28. package/esm2022/lib/auth/login/login.service.mjs +10 -13
  29. package/esm2022/lib/auth/login/login.terms.component.mjs +10 -8
  30. package/esm2022/lib/auth/login/login.terms.mjs +6 -3
  31. package/esm2022/lib/auth/login/login.terms.simple.component.mjs +11 -9
  32. package/esm2022/lib/auth/login/login.twitter.component.mjs +9 -6
  33. package/esm2022/lib/auth/login/register.component.mjs +9 -7
  34. package/esm2022/lib/auth/login/register.email.component.mjs +11 -6
  35. package/esm2022/lib/auth/service/firebase.auth.rxjs.mjs +1 -1
  36. package/esm2022/lib/auth/service/firebase.auth.service.delegate.mjs +1 -1
  37. package/esm2022/lib/auth/service/firebase.auth.service.mjs +4 -4
  38. package/esm2022/lib/development/development.directive.mjs +78 -0
  39. package/esm2022/lib/development/development.module.mjs +32 -70
  40. package/esm2022/lib/development/development.popup.component.mjs +13 -15
  41. package/esm2022/lib/development/development.popup.content.component.mjs +28 -19
  42. package/esm2022/lib/development/development.popup.content.form.component.mjs +11 -12
  43. package/esm2022/lib/development/development.providers.mjs +47 -0
  44. package/esm2022/lib/development/development.scheduler.list.component.mjs +32 -23
  45. package/esm2022/lib/development/development.scheduler.service.mjs +5 -8
  46. package/esm2022/lib/development/development.scheduler.widget.component.mjs +13 -10
  47. package/esm2022/lib/development/development.service.mjs +9 -20
  48. package/esm2022/lib/development/development.widget.service.mjs +7 -10
  49. package/esm2022/lib/development/index.mjs +3 -2
  50. package/esm2022/lib/firebase/emulators.mjs +1 -1
  51. package/esm2022/lib/firebase/firebase.emulator.module.mjs +9 -25
  52. package/esm2022/lib/firebase/firebase.emulator.providers.mjs +33 -0
  53. package/esm2022/lib/firebase/firebase.emulator.service.mjs +5 -8
  54. package/esm2022/lib/firebase/firebase.module.mjs +11 -297
  55. package/esm2022/lib/firebase/firebase.options.environment.mjs +2 -0
  56. package/esm2022/lib/firebase/firebase.options.mjs +3 -0
  57. package/esm2022/lib/firebase/firebase.providers.mjs +149 -0
  58. package/esm2022/lib/firebase/index.mjs +5 -2
  59. package/esm2022/lib/firestore/firebase.firestore.context.service.mjs +4 -4
  60. package/esm2022/lib/firestore/firebase.firestore.module.mjs +9 -50
  61. package/esm2022/lib/firestore/firebase.firestore.providers.mjs +67 -0
  62. package/esm2022/lib/firestore/index.mjs +2 -1
  63. package/esm2022/lib/function/firebase.function.module.mjs +8 -48
  64. package/esm2022/lib/function/firebase.function.providers.mjs +54 -0
  65. package/esm2022/lib/function/index.mjs +2 -1
  66. package/esm2022/lib/index.mjs +2 -1
  67. package/esm2022/lib/model/loader/collection.change.trigger.mjs +1 -1
  68. package/esm2022/lib/model/loader/collection.loader.instance.mjs +1 -1
  69. package/esm2022/lib/model/model.module.mjs +6 -6
  70. package/esm2022/lib/model/modules/model/history/index.mjs +7 -0
  71. package/esm2022/lib/model/modules/model/history/model.history.component.mjs +36 -0
  72. package/esm2022/lib/model/modules/model/history/model.history.module.mjs +26 -0
  73. package/esm2022/lib/model/modules/model/history/model.history.popover.button.component.mjs +40 -0
  74. package/esm2022/lib/model/modules/model/history/model.history.popover.component.mjs +36 -0
  75. package/esm2022/lib/model/modules/model/history/model.sourceselect.history.mjs +18 -0
  76. package/esm2022/lib/model/modules/model/history/model.tracker.service.mjs +58 -0
  77. package/esm2022/lib/model/modules/model/index.mjs +2 -7
  78. package/esm2022/lib/model/modules/model/model.types.list.component.mjs +33 -28
  79. package/esm2022/lib/model/modules/model/model.types.module.mjs +17 -12
  80. package/esm2022/lib/model/modules/model/model.types.providers.mjs +20 -0
  81. package/esm2022/lib/model/modules/model/model.types.service.mjs +9 -14
  82. package/esm2022/lib/model/modules/model/model.types.view.directive.mjs +11 -13
  83. package/esm2022/lib/model/modules/store/model.store.module.mjs +6 -8
  84. package/esm2022/lib/model/modules/store/store.collection.change.directive.mjs +3 -3
  85. package/esm2022/lib/model/modules/store/store.collection.change.if.directive.mjs +4 -4
  86. package/esm2022/lib/model/modules/store/store.collection.directive.mjs +5 -5
  87. package/esm2022/lib/model/modules/store/store.collection.list.directive.mjs +6 -6
  88. package/esm2022/lib/model/modules/store/store.collection.mjs +3 -3
  89. package/esm2022/lib/model/modules/store/store.document.auth.directive.mjs +3 -3
  90. package/esm2022/lib/model/modules/store/store.document.crud.mjs +1 -1
  91. package/esm2022/lib/model/modules/store/store.document.directive.mjs +5 -5
  92. package/esm2022/lib/model/modules/store/store.document.mjs +6 -5
  93. package/esm2022/lib/model/modules/store/store.document.router.directive.mjs +3 -3
  94. package/esm2022/lib/model/modules/store/store.document.router.key.directive.mjs +4 -4
  95. package/esm2022/lib/model/modules/store/store.document.twoway.key.directive.mjs +3 -3
  96. package/esm2022/lib/model/modules/store/store.document.twoway.key.source.directive.mjs +3 -3
  97. package/esm2022/lib/model/modules/store/store.subcollection.directive.mjs +3 -3
  98. package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +4 -4
  99. package/esm2022/lib/model/modules/store/store.subcollection.mjs +6 -6
  100. package/esm2022/lib/model/modules/store/store.subcollection.rxjs.mjs +1 -1
  101. package/esm2022/lib/model/service/index.mjs +2 -1
  102. package/esm2022/lib/model/service/model.context.providers.mjs +32 -0
  103. package/esm2022/lib/model/service/model.context.service.mjs +1 -1
  104. package/esm2022/lib/model/system/systemstate.collection.store.directive.mjs +4 -4
  105. package/esm2022/lib/model/system/systemstate.collection.store.mjs +4 -4
  106. package/esm2022/lib/model/system/systemstate.document.store.accessor.mjs +5 -5
  107. package/esm2022/lib/model/system/systemstate.document.store.directive.mjs +4 -4
  108. package/esm2022/lib/model/system/systemstate.document.store.mjs +4 -4
  109. package/esm2022/lib/module.mjs +4 -4
  110. package/esm2022/lib/modules/notification/component/index.mjs +2 -1
  111. package/esm2022/lib/modules/notification/component/notificationitem.content.component.mjs +11 -17
  112. package/esm2022/lib/modules/notification/component/notificationitem.list.component.mjs +30 -21
  113. package/esm2022/lib/modules/notification/component/notificationitem.view.component.mjs +28 -35
  114. package/esm2022/lib/modules/notification/component/notificationitem.view.default.component.mjs +8 -6
  115. package/esm2022/lib/modules/notification/component/notificationitem.view.directive.mjs +3 -3
  116. package/esm2022/lib/modules/notification/container/notification.item.store.popover.button.component.mjs +17 -21
  117. package/esm2022/lib/modules/notification/container/notification.item.store.popover.component.mjs +14 -26
  118. package/esm2022/lib/modules/notification/index.mjs +3 -1
  119. package/esm2022/lib/modules/notification/notification.module.mjs +33 -32
  120. package/esm2022/lib/modules/notification/notification.providers.mjs +47 -0
  121. package/esm2022/lib/modules/notification/service/notification.template.service.mjs +3 -3
  122. package/esm2022/lib/modules/notification/service/notificationitem.widget.service.mjs +5 -8
  123. package/esm2022/lib/modules/notification/store/index.mjs +6 -2
  124. package/esm2022/lib/modules/notification/store/notification.item.store.mjs +4 -4
  125. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.directive.mjs +7 -6
  126. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.mjs +4 -4
  127. package/esm2022/lib/modules/notification/store/notificationbox.document.store.directive.mjs +7 -6
  128. package/esm2022/lib/modules/notification/store/notificationbox.document.store.mjs +4 -4
  129. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.directive.mjs +7 -6
  130. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.mjs +4 -4
  131. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.directive.mjs +7 -6
  132. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.mjs +4 -4
  133. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.directive.mjs +7 -6
  134. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.mjs +4 -4
  135. package/esm2022/lib/modules/notification/store/notificationuser.document.store.directive.mjs +7 -6
  136. package/esm2022/lib/modules/notification/store/notificationuser.document.store.mjs +4 -4
  137. package/esm2022/lib/pipe/key.pipe.mjs +7 -7
  138. package/esm2022/lib/pipe/pipe.module.mjs +4 -4
  139. package/esm2022/lib/providers.mjs +40 -0
  140. package/esm2022/lib/router/id.param.redirect.mjs +1 -1
  141. package/esm2022/lib/storage/firebase.storage.module.mjs +11 -34
  142. package/esm2022/lib/storage/firebase.storage.providers.mjs +43 -0
  143. package/esm2022/lib/storage/firebase.storage.service.mjs +3 -3
  144. package/esm2022/lib/storage/index.mjs +2 -1
  145. package/fesm2022/dereekb-dbx-firebase.mjs +1893 -1762
  146. package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
  147. package/lib/analytics/analytics.user.events.providers.d.ts +6 -0
  148. package/lib/analytics/{analytics.user.events.d.ts → analytics.user.events.service.d.ts} +5 -5
  149. package/lib/analytics/index.d.ts +2 -1
  150. package/lib/auth/firebase.auth.module.d.ts +6 -5
  151. package/lib/auth/firebase.auth.providers.d.ts +21 -0
  152. package/lib/auth/index.d.ts +1 -0
  153. package/lib/auth/login/_login.scss +3 -3
  154. package/lib/auth/login/firebase.login.module.d.ts +8 -21
  155. package/lib/auth/login/firebase.login.providers.d.ts +32 -0
  156. package/lib/auth/login/firebase.login.providers.default.d.ts +7 -0
  157. package/lib/auth/login/index.d.ts +1 -0
  158. package/lib/auth/login/login.anonymous.component.d.ts +2 -2
  159. package/lib/auth/login/login.apple.component.d.ts +2 -2
  160. package/lib/auth/login/login.button.component.d.ts +19 -14
  161. package/lib/auth/login/login.component.d.ts +6 -6
  162. package/lib/auth/login/login.context.back.component.d.ts +1 -1
  163. package/lib/auth/login/login.context.directive.d.ts +1 -1
  164. package/lib/auth/login/login.email.component.d.ts +1 -1
  165. package/lib/auth/login/login.email.content.component.d.ts +10 -9
  166. package/lib/auth/login/login.email.form.component.d.ts +5 -8
  167. package/lib/auth/login/login.email.recovery.form.component.d.ts +1 -1
  168. package/lib/auth/login/login.facebook.component.d.ts +2 -2
  169. package/lib/auth/login/login.github.component.d.ts +2 -2
  170. package/lib/auth/login/login.google.component.d.ts +2 -2
  171. package/lib/auth/login/login.list.component.d.ts +11 -17
  172. package/lib/auth/login/login.microsoft.component.d.ts +2 -2
  173. package/lib/auth/login/login.service.d.ts +3 -3
  174. package/lib/auth/login/login.terms.component.d.ts +1 -1
  175. package/lib/auth/login/login.terms.d.ts +17 -3
  176. package/lib/auth/login/login.terms.simple.component.d.ts +2 -3
  177. package/lib/auth/login/login.twitter.component.d.ts +2 -2
  178. package/lib/auth/login/register.component.d.ts +1 -1
  179. package/lib/auth/login/register.email.component.d.ts +1 -1
  180. package/lib/development/{development.popup.directive.d.ts → development.directive.d.ts} +2 -2
  181. package/lib/development/development.module.d.ts +2 -19
  182. package/lib/development/development.popup.component.d.ts +2 -2
  183. package/lib/development/development.popup.content.component.d.ts +10 -6
  184. package/lib/development/development.popup.content.form.component.d.ts +1 -1
  185. package/lib/development/development.providers.d.ts +32 -0
  186. package/lib/development/development.scheduler.list.component.d.ts +3 -3
  187. package/lib/development/development.scheduler.service.d.ts +4 -4
  188. package/lib/development/development.scheduler.widget.component.d.ts +1 -1
  189. package/lib/development/development.service.d.ts +2 -3
  190. package/lib/development/index.d.ts +2 -1
  191. package/lib/firebase/emulators.d.ts +21 -19
  192. package/lib/firebase/firebase.emulator.module.d.ts +2 -0
  193. package/lib/firebase/firebase.emulator.providers.d.ts +13 -0
  194. package/lib/firebase/firebase.module.d.ts +5 -51
  195. package/lib/firebase/{options.d.ts → firebase.options.d.ts} +11 -9
  196. package/lib/firebase/firebase.options.environment.d.ts +10 -0
  197. package/lib/firebase/firebase.providers.d.ts +51 -0
  198. package/lib/firebase/index.d.ts +4 -1
  199. package/lib/firestore/firebase.firestore.module.d.ts +4 -20
  200. package/lib/firestore/firebase.firestore.providers.d.ts +49 -0
  201. package/lib/firestore/index.d.ts +1 -0
  202. package/lib/function/firebase.function.module.d.ts +4 -20
  203. package/lib/function/firebase.function.providers.d.ts +43 -0
  204. package/lib/function/index.d.ts +1 -0
  205. package/lib/index.d.ts +1 -0
  206. package/lib/model/loader/document.loader.instance.d.ts +1 -1
  207. package/lib/model/model.module.d.ts +1 -1
  208. package/lib/model/modules/model/history/index.d.ts +6 -0
  209. package/lib/model/modules/model/history/model.history.component.d.ts +16 -0
  210. package/lib/model/modules/model/history/model.history.module.d.ts +16 -0
  211. package/lib/model/modules/model/{model.history.popover.button.component.d.ts → history/model.history.popover.button.component.d.ts} +7 -6
  212. package/lib/model/modules/model/{model.history.popover.component.d.ts → history/model.history.popover.component.d.ts} +18 -17
  213. package/lib/model/modules/model/{model.sourceselect.history.d.ts → history/model.sourceselect.history.d.ts} +5 -5
  214. package/lib/model/modules/model/{model.tracker.service.d.ts → history/model.tracker.service.d.ts} +6 -6
  215. package/lib/model/modules/model/index.d.ts +1 -6
  216. package/lib/model/modules/model/model.types.list.component.d.ts +12 -12
  217. package/lib/model/modules/model/model.types.module.d.ts +9 -3
  218. package/lib/model/modules/model/model.types.providers.d.ts +22 -0
  219. package/lib/model/modules/model/model.types.service.d.ts +6 -3
  220. package/lib/model/modules/model/model.types.view.directive.d.ts +5 -5
  221. package/lib/model/modules/store/model.store.module.d.ts +7 -9
  222. package/lib/model/modules/store/store.document.router.key.directive.d.ts +2 -1
  223. package/lib/model/service/index.d.ts +1 -0
  224. package/lib/model/service/model.context.providers.d.ts +18 -0
  225. package/lib/modules/notification/component/index.d.ts +1 -0
  226. package/lib/modules/notification/component/notificationitem.content.component.d.ts +4 -4
  227. package/lib/modules/notification/component/notificationitem.list.component.d.ts +3 -3
  228. package/lib/modules/notification/component/notificationitem.view.component.d.ts +4 -9
  229. package/lib/modules/notification/component/notificationitem.view.default.component.d.ts +1 -1
  230. package/lib/modules/notification/container/notification.item.store.popover.button.component.d.ts +4 -4
  231. package/lib/modules/notification/container/notification.item.store.popover.component.d.ts +7 -7
  232. package/lib/modules/notification/index.d.ts +2 -0
  233. package/lib/modules/notification/notification.module.d.ts +18 -10
  234. package/lib/modules/notification/notification.providers.d.ts +24 -0
  235. package/lib/modules/notification/store/index.d.ts +5 -1
  236. package/lib/modules/notification/store/notificationbox.collection.store.directive.d.ts +1 -1
  237. package/lib/modules/notification/store/notificationbox.document.store.directive.d.ts +1 -1
  238. package/lib/modules/notification/store/notificationsummary.collection.store.directive.d.ts +1 -1
  239. package/lib/modules/notification/store/notificationsummary.document.store.directive.d.ts +1 -1
  240. package/lib/modules/notification/store/notificationuser.collection.store.directive.d.ts +1 -1
  241. package/lib/modules/notification/store/notificationuser.document.store.directive.d.ts +1 -1
  242. package/lib/providers.d.ts +55 -0
  243. package/lib/storage/firebase.storage.module.d.ts +6 -9
  244. package/lib/storage/firebase.storage.providers.d.ts +31 -0
  245. package/lib/storage/index.d.ts +1 -0
  246. package/lib/style/_theming.scss +1 -1
  247. package/package.json +7 -8
  248. package/esm2022/lib/analytics/analytics.user.events.mjs +0 -40
  249. package/esm2022/lib/development/development.popup.directive.mjs +0 -77
  250. package/esm2022/lib/firebase/options.mjs +0 -3
  251. package/esm2022/lib/model/modules/model/model.history.component.mjs +0 -46
  252. package/esm2022/lib/model/modules/model/model.history.module.mjs +0 -23
  253. package/esm2022/lib/model/modules/model/model.history.popover.button.component.mjs +0 -44
  254. package/esm2022/lib/model/modules/model/model.history.popover.component.mjs +0 -47
  255. package/esm2022/lib/model/modules/model/model.sourceselect.history.mjs +0 -18
  256. package/esm2022/lib/model/modules/model/model.tracker.service.mjs +0 -58
  257. package/lib/model/modules/model/model.history.component.d.ts +0 -19
  258. package/lib/model/modules/model/model.history.module.d.ts +0 -12
@@ -1,28 +1,12 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
- import { Functions } from '@angular/fire/functions';
3
- import { FirebaseFunctionsConfigMap, FirebaseFunctionsMap } from '@dereekb/firebase';
4
- import { ClassLikeType } from '@dereekb/util';
2
+ import { ProvideDbxFirebaseFunctionsConfig } from './firebase.function.providers';
3
+ import { FirebaseFunctionsMap } from '@dereekb/firebase';
5
4
  import * as i0 from "@angular/core";
6
- export interface DbxFirebaseFunctionsModuleConfig<T, M extends FirebaseFunctionsMap = FirebaseFunctionsMap> {
7
- functionsGetterToken: ClassLikeType<T>;
8
- functionsGetterFactory: (functions: Functions) => T;
9
- /**
10
- * Key of the functions config to use to inject FirebaseDevelopmentFunctions using that same provider.
11
- *
12
- * Defaults to "developmentFunctions". If false, will not be injected automatically.
13
- */
14
- developmentFunctionsKey?: string | false;
15
- /**
16
- * Optional functions config map to provide.
17
- *
18
- * If provided, will inject all the types with factory functions so they can be injected into the app.
19
- */
20
- functionsConfigMap?: FirebaseFunctionsConfigMap<M>;
21
- }
5
+ export type DbxFirebaseFunctionsModuleConfig<T, M extends FirebaseFunctionsMap = FirebaseFunctionsMap> = ProvideDbxFirebaseFunctionsConfig<T, M>;
22
6
  /**
23
7
  * Used to initialize the LazyFirebaseFunctions type for a DbxFirebase app.
24
8
  *
25
- * Handles the key different, automatically injecting FirebaseDevelopmentFunctions with this existing value.
9
+ * @deprecated use provideDbxFirebaseFunctions() instead.
26
10
  */
27
11
  export declare class DbxFirebaseFunctionsModule {
28
12
  static forRoot<T, M extends FirebaseFunctionsMap = FirebaseFunctionsMap>(config: DbxFirebaseFunctionsModuleConfig<T, M>): ModuleWithProviders<DbxFirebaseFunctionsModule>;
@@ -0,0 +1,43 @@
1
+ import { EnvironmentProviders } from '@angular/core';
2
+ import { Functions } from '@angular/fire/functions';
3
+ import { FirebaseFunctionsConfigMap, FirebaseFunctionsMap } from '@dereekb/firebase';
4
+ import { ClassLikeType } from '@dereekb/util';
5
+ /**
6
+ * Configuration for provideDbxFirebaseFunctions().
7
+ */
8
+ export interface ProvideDbxFirebaseFunctionsConfig<T, M extends FirebaseFunctionsMap = FirebaseFunctionsMap> {
9
+ /**
10
+ * The token to use for the functions getter.
11
+ *
12
+ * This is typically your LazyFirebaseFunctions result type.
13
+ */
14
+ functionsGetterToken: ClassLikeType<T>;
15
+ /**
16
+ * Factory function to retrieve the functions getter instance.
17
+ *
18
+ * @param functions The Firebase functions instance.
19
+ * @returns The functions getter instance.
20
+ */
21
+ functionsGetterFactory: (functions: Functions) => T;
22
+ /**
23
+ * Key of the functions config to use to inject FirebaseDevelopmentFunctions using that same provider.
24
+ *
25
+ * Defaults to "developmentFunctions". If false, will not be injected automatically.
26
+ */
27
+ developmentFunctionsKey?: string | false;
28
+ /**
29
+ * Optional functions config map to provide.
30
+ *
31
+ * If provided, will inject all the types with factory functions so they can be injected into the app.
32
+ */
33
+ functionsConfigMap?: FirebaseFunctionsConfigMap<M>;
34
+ }
35
+ /**
36
+ * Creates EnvironmentProviders for the LazyFirebaseFunctions type for a DbxFirebase app.
37
+ *
38
+ * Also provides FirebaseDevelopmentFunctions if developmentFunctionsKey is provided.
39
+ *
40
+ * @param config Configuration for provideDbxFirebaseFunctions().
41
+ * @returns EnvironmentProviders for the LazyFirebaseFunctions type.
42
+ */
43
+ export declare function provideDbxFirebaseFunctions<T, M extends FirebaseFunctionsMap = FirebaseFunctionsMap>(config: ProvideDbxFirebaseFunctionsConfig<T, M>): EnvironmentProviders;
@@ -1 +1,2 @@
1
1
  export * from './firebase.function.module';
2
+ export * from './firebase.function.providers';
package/lib/index.d.ts CHANGED
@@ -10,3 +10,4 @@ export * from './pipe';
10
10
  export * from './router';
11
11
  export * from './storage';
12
12
  export * from './module';
13
+ export * from './providers';
@@ -13,7 +13,7 @@ export declare class DbxLimitedFirebaseDocumentLoaderInstance<T = unknown, D ext
13
13
  readonly accessor: A;
14
14
  protected readonly _documents: BehaviorSubject<Maybe<D[]>>;
15
15
  protected readonly _restart: Subject<void>;
16
- protected readonly _sub: SubscriptionObject;
16
+ protected readonly _sub: SubscriptionObject<import("rxjs").Unsubscribable>;
17
17
  readonly documents$: Observable<D[]>;
18
18
  readonly keys$: Observable<string[]>;
19
19
  readonly ids$: Observable<string[]>;
@@ -1,6 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./modules/store/model.store.module";
3
- import * as i2 from "./modules/model/model.history.module";
3
+ import * as i2 from "./modules/model/history/model.history.module";
4
4
  import * as i3 from "./modules/model/model.types.module";
5
5
  export declare class DbxFirebaseModelModule {
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelModule, never>;
@@ -0,0 +1,6 @@
1
+ export * from './model.history.component';
2
+ export * from './model.history.module';
3
+ export * from './model.history.popover.button.component';
4
+ export * from './model.history.popover.component';
5
+ export * from './model.sourceselect.history';
6
+ export * from './model.tracker.service';
@@ -0,0 +1,16 @@
1
+ import { AnchorForValueFunction } from '@dereekb/dbx-web';
2
+ import { ListLoadingState } from '@dereekb/rxjs';
3
+ import { type Maybe } from '@dereekb/util';
4
+ import { Observable } from 'rxjs';
5
+ import { DbxFirebaseModelTrackerHistoryFilter, DbxFirebaseModelTrackerService } from './model.tracker.service';
6
+ import { DbxFirebaseModelTypesServiceInstancePair } from '../model.types.service';
7
+ import * as i0 from "@angular/core";
8
+ export declare class DbxFirebaseModelHistoryComponent {
9
+ readonly dbxFirebaseModelTrackerService: DbxFirebaseModelTrackerService;
10
+ readonly anchorForItem: import("@angular/core").InputSignal<Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair<any, string>>>>;
11
+ readonly historyFilter: import("@angular/core").InputSignal<Maybe<DbxFirebaseModelTrackerHistoryFilter>>;
12
+ readonly historyPairs$: Observable<DbxFirebaseModelTypesServiceInstancePair<any, string>[]>;
13
+ readonly state: Observable<ListLoadingState<DbxFirebaseModelTypesServiceInstancePair>>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelHistoryComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelHistoryComponent, "dbx-firebase-model-history", never, { "anchorForItem": { "alias": "anchorForItem"; "required": false; "isSignal": true; }; "historyFilter": { "alias": "historyFilter"; "required": false; "isSignal": true; }; }, {}, never, ["[empty]"], true, never>;
16
+ }
@@ -0,0 +1,16 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./model.history.component";
3
+ import * as i2 from "./model.history.popover.button.component";
4
+ import * as i3 from "./model.history.popover.component";
5
+ /**
6
+ * @deprecated import standalone components individually instead.
7
+ *
8
+ * @see DbxFirebaseModelHistoryComponent
9
+ * @see DbxFirebaseModelHistoryPopoverButtonComponent
10
+ * @see DbxFirebaseModelHistoryPopoverComponent
11
+ */
12
+ export declare class DbxFirebaseModelHistoryModule {
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelHistoryModule, never>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModelHistoryModule, never, [typeof i1.DbxFirebaseModelHistoryComponent, typeof i2.DbxFirebaseModelHistoryPopoverButtonComponent, typeof i3.DbxFirebaseModelHistoryPopoverComponent], [typeof i1.DbxFirebaseModelHistoryComponent, typeof i2.DbxFirebaseModelHistoryPopoverButtonComponent, typeof i3.DbxFirebaseModelHistoryPopoverComponent]>;
15
+ static ɵinj: i0.ɵɵInjectorDeclaration<DbxFirebaseModelHistoryModule>;
16
+ }
@@ -1,15 +1,16 @@
1
1
  import { ElementRef } from '@angular/core';
2
2
  import { AbstractPopoverRefDirective } from '@dereekb/dbx-web';
3
3
  import { NgPopoverRef } from 'ng-overlay-container';
4
- import { DbxFirebaseModelHistoryPopoverParams } from './model.history.popover.component';
4
+ import { DbxFirebaseModelHistoryPopoverConfigWithoutOrigin } from './model.history.popover.component';
5
+ import { Maybe } from '@dereekb/util';
5
6
  import * as i0 from "@angular/core";
6
- export type DbxFirebaseModelHistoryPopoverButtonConfig = DbxFirebaseModelHistoryPopoverParams;
7
+ export type DbxFirebaseModelHistoryPopoverButtonConfig = DbxFirebaseModelHistoryPopoverConfigWithoutOrigin;
7
8
  export declare class DbxFirebaseModelHistoryPopoverButtonComponent extends AbstractPopoverRefDirective<unknown, unknown> {
8
9
  private readonly _dbxPopoverService;
9
- buttonElement: ElementRef;
10
- config?: DbxFirebaseModelHistoryPopoverButtonConfig;
11
- protected _makePopoverRef(origin?: ElementRef): NgPopoverRef<unknown, unknown>;
10
+ readonly buttonElement: import("@angular/core").Signal<ElementRef<any>>;
11
+ readonly config: import("@angular/core").InputSignal<DbxFirebaseModelHistoryPopoverConfigWithoutOrigin | undefined>;
12
+ protected _makePopoverRef(origin?: Maybe<ElementRef>): NgPopoverRef<unknown, unknown>;
12
13
  showHistoryPopover(): void;
13
14
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelHistoryPopoverButtonComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelHistoryPopoverButtonComponent, "dbx-firebase-model-history-popover-button", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, false, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelHistoryPopoverButtonComponent, "dbx-firebase-model-history-popover-button", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15
16
  }
@@ -2,48 +2,49 @@ import { ElementRef } from '@angular/core';
2
2
  import { NgPopoverRef } from 'ng-overlay-container';
3
3
  import { AbstractPopoverDirective, AnchorForValueFunction, DbxPopoverKey, DbxPopoverService } from '@dereekb/dbx-web';
4
4
  import { type Maybe } from '@dereekb/util';
5
- import { DbxFirebaseModelTypesServiceInstancePair } from './model.types.service';
5
+ import { DbxFirebaseModelTypesServiceInstancePair } from '../model.types.service';
6
6
  import { DbxFirebaseModelTrackerHistoryFilter } from './model.tracker.service';
7
7
  import * as i0 from "@angular/core";
8
- export interface DbxFirebaseModelHistoryPopoverParams {
8
+ export interface DbxFirebaseModelHistoryPopoverConfig {
9
9
  /**
10
10
  * Custom icon
11
11
  *
12
12
  * Defaults to "history"
13
13
  */
14
- icon?: string;
14
+ readonly icon?: string;
15
15
  /**
16
16
  * Custom header text
17
17
  *
18
18
  * Defaults to "History"
19
19
  */
20
- header?: string;
20
+ readonly header?: string;
21
21
  /**
22
22
  * Custom empty text when no items exist.
23
23
  */
24
- emptyText?: string;
24
+ readonly emptyText?: string;
25
25
  /**
26
26
  * Origin to add the popover to.
27
27
  */
28
- origin: ElementRef;
28
+ readonly origin: ElementRef;
29
29
  /**
30
30
  * Optional config to pass to the DbxFirebaseHistoryComponent
31
31
  */
32
- historyFilter?: Maybe<DbxFirebaseModelTrackerHistoryFilter>;
32
+ readonly historyFilter?: Maybe<DbxFirebaseModelTrackerHistoryFilter>;
33
33
  /**
34
34
  * Anchor
35
35
  */
36
- anchorForItem?: Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair>>;
36
+ readonly anchorForItem?: Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair>>;
37
37
  }
38
+ export type DbxFirebaseModelHistoryPopoverConfigWithoutOrigin = Omit<DbxFirebaseModelHistoryPopoverConfig, 'origin'>;
38
39
  export declare const DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY = "history";
39
- export declare class DbxFirebaseModelHistoryPopoverComponent extends AbstractPopoverDirective<unknown, DbxFirebaseModelHistoryPopoverParams> {
40
- static openPopover(popupService: DbxPopoverService, { origin, header, icon, emptyText, historyFilter, anchorForItem }: DbxFirebaseModelHistoryPopoverParams, popoverKey?: DbxPopoverKey): NgPopoverRef;
41
- get params(): DbxFirebaseModelHistoryPopoverParams;
42
- get icon(): string;
43
- get header(): string;
44
- get emptyText(): string;
45
- get historyFilter(): Maybe<DbxFirebaseModelTrackerHistoryFilter>;
46
- get anchorForItem(): Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair<any, string>>>;
40
+ export declare class DbxFirebaseModelHistoryPopoverComponent extends AbstractPopoverDirective<unknown, DbxFirebaseModelHistoryPopoverConfig> {
41
+ static openPopover(popupService: DbxPopoverService, { origin, header, icon, emptyText, historyFilter, anchorForItem }: DbxFirebaseModelHistoryPopoverConfig, popoverKey?: DbxPopoverKey): NgPopoverRef;
42
+ get config(): DbxFirebaseModelHistoryPopoverConfig;
43
+ readonly icon: string;
44
+ readonly header: string;
45
+ readonly emptyText: string;
46
+ readonly historyFilter: Maybe<DbxFirebaseModelTrackerHistoryFilter>;
47
+ readonly anchorForItem: Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair<any, string>>>;
47
48
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelHistoryPopoverComponent, never>;
48
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelHistoryPopoverComponent, "ng-component", never, {}, {}, never, never, false, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelHistoryPopoverComponent, "ng-component", never, {}, {}, never, never, true, never>;
49
50
  }
@@ -3,25 +3,25 @@ import { SourceSelectLoadSource } from '@dereekb/dbx-form';
3
3
  import { Observable } from 'rxjs';
4
4
  import { GrantedRole } from '@dereekb/model';
5
5
  import { MapFunction } from '@dereekb/util';
6
- import { DbxFirebaseModelTypesServiceInstancePair } from './model.types.service';
6
+ import { DbxFirebaseModelTypesServiceInstancePair } from '../model.types.service';
7
7
  import { DbxFirebaseModelTrackerHistoryFilter, DbxFirebaseModelTrackerService } from './model.tracker.service';
8
8
  export interface DbxFirebaseSourceSelectLoadSourceConfig<M, D extends FirestoreDocument<any> = any, R extends GrantedRole = GrantedRole> extends Pick<DbxFirebaseModelTrackerHistoryFilter, 'filterItem'> {
9
9
  /**
10
10
  * Source label. Defaults to "History".
11
11
  */
12
- label?: string;
12
+ readonly label?: string;
13
13
  /**
14
14
  * Type of model to pull from the history.
15
15
  */
16
- identity: FirestoreModelIdentity;
16
+ readonly identity: FirestoreModelIdentity;
17
17
  /**
18
18
  * Maps a result instance to the target meta type
19
19
  */
20
- mapToMeta: MapFunction<DbxFirebaseModelTypesServiceInstancePair<D, R>, Observable<M>>;
20
+ readonly mapToMeta: MapFunction<DbxFirebaseModelTypesServiceInstancePair<D, R>, Observable<M>>;
21
21
  /**
22
22
  * Tracker service to load history values from.
23
23
  */
24
- dbxFirebaseModelTrackerService: DbxFirebaseModelTrackerService;
24
+ readonly dbxFirebaseModelTrackerService: DbxFirebaseModelTrackerService;
25
25
  }
26
26
  /**
27
27
  * Configures a SourceSelectLoadSource using the DbxFirebaseModelTrackerService to load models of a specific identity.
@@ -2,26 +2,26 @@ import { ArrayOrValue, Maybe } from '@dereekb/util';
2
2
  import { FirestoreModelIdentity } from '@dereekb/firebase';
3
3
  import { Observable } from 'rxjs';
4
4
  import { DbxModelTrackerService } from '@dereekb/dbx-web';
5
- import { DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceInstancePair } from './model.types.service';
5
+ import { DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceInstancePair } from '../model.types.service';
6
6
  import { ObservableDecisionFunction } from '@dereekb/rxjs';
7
7
  import * as i0 from "@angular/core";
8
8
  export interface DbxFirebaseModelTrackerFilterItem {
9
- instancePair: DbxFirebaseModelTypesServiceInstancePair;
10
- identity: FirestoreModelIdentity;
9
+ readonly instancePair: DbxFirebaseModelTypesServiceInstancePair;
10
+ readonly identity: FirestoreModelIdentity;
11
11
  }
12
12
  export interface DbxFirebaseModelTrackerHistoryFilter {
13
13
  /**
14
14
  * Whether or not to exclude the values instead of include them.
15
15
  */
16
- invertFilter?: boolean;
16
+ readonly invertFilter?: boolean;
17
17
  /**
18
18
  * Identity types to filter on.
19
19
  */
20
- identity?: Maybe<ArrayOrValue<FirestoreModelIdentity>>;
20
+ readonly identity?: Maybe<ArrayOrValue<FirestoreModelIdentity>>;
21
21
  /**
22
22
  * Arbitrary filter function to filter individual items.
23
23
  */
24
- filterItem?: ObservableDecisionFunction<DbxFirebaseModelTrackerFilterItem>;
24
+ readonly filterItem?: ObservableDecisionFunction<DbxFirebaseModelTrackerFilterItem>;
25
25
  }
26
26
  export declare class DbxFirebaseModelTrackerService {
27
27
  readonly dbxModelTrackerService: DbxModelTrackerService;
@@ -1,9 +1,4 @@
1
- export * from './model.history.component';
2
- export * from './model.history.module';
3
- export * from './model.history.popover.button.component';
4
- export * from './model.history.popover.component';
5
- export * from './model.sourceselect.history';
6
- export * from './model.tracker.service';
1
+ export * from './history';
7
2
  export * from './model.types.service';
8
3
  export * from './model.types.module';
9
4
  export * from './model.types.list.component';
@@ -1,22 +1,22 @@
1
1
  import { AbstractDbxSelectionListWrapperDirective, AbstractDbxValueListViewItemComponent, AbstractDbxSelectionListViewDirective, DbxSelectionValueListViewConfig, DbxValueAsListItem } from '@dereekb/dbx-web';
2
2
  import { DbxFirebaseModelTypesServiceInstancePair } from './model.types.service';
3
3
  import * as i0 from "@angular/core";
4
- export type DbxFirebaseModelTypeInstanceItem = DbxValueAsListItem<DbxFirebaseModelTypesServiceInstancePair>;
4
+ export type DbxFirebaseModelTypeInstanceListItem = DbxValueAsListItem<DbxFirebaseModelTypesServiceInstancePair>;
5
5
  /**
6
6
  * Renders an item as configured from the DbxFirebaseModelTypesServiceInstancePair.
7
7
  */
8
- export declare class DbxFirebaseModelTypeInstanceComponent extends AbstractDbxSelectionListWrapperDirective<DbxFirebaseModelTypesServiceInstancePair> {
8
+ export declare class DbxFirebaseModelTypeInstanceListComponent extends AbstractDbxSelectionListWrapperDirective<DbxFirebaseModelTypesServiceInstancePair> {
9
9
  constructor();
10
- static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypeInstanceComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelTypeInstanceComponent, "dbx-firebase-model-type-instance-list", never, {}, {}, never, ["[top]", "[bottom]", "[empty]", "[emptyLoading]"], false, never>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypeInstanceListComponent, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelTypeInstanceListComponent, "dbx-firebase-model-type-instance-list", never, {}, {}, never, ["[top]", "[bottom]", "[empty]", "[emptyLoading]"], true, never>;
12
12
  }
13
- export declare class DbxFirebaseModelTypeInstanceViewComponent extends AbstractDbxSelectionListViewDirective<DbxFirebaseModelTypesServiceInstancePair> {
14
- readonly config: DbxSelectionValueListViewConfig<DbxFirebaseModelTypeInstanceItem>;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypeInstanceViewComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelTypeInstanceViewComponent, "dbx-firebase-model-type-instance-list-view", never, {}, {}, never, never, false, never>;
13
+ export declare class DbxFirebaseModelTypeInstanceListViewComponent extends AbstractDbxSelectionListViewDirective<DbxFirebaseModelTypesServiceInstancePair> {
14
+ readonly config: DbxSelectionValueListViewConfig<DbxFirebaseModelTypeInstanceListItem>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypeInstanceListViewComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelTypeInstanceListViewComponent, "dbx-firebase-model-type-instance-list-view", never, {}, {}, never, never, true, never>;
17
17
  }
18
- export declare class DbxFirebaseModelTypeInstanceViewItemComponent extends AbstractDbxValueListViewItemComponent<DbxFirebaseModelTypesServiceInstancePair> {
19
- get title(): string;
20
- static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypeInstanceViewItemComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelTypeInstanceViewItemComponent, "ng-component", never, {}, {}, never, never, false, never>;
18
+ export declare class DbxFirebaseModelTypeInstanceListViewItemComponent extends AbstractDbxValueListViewItemComponent<DbxFirebaseModelTypesServiceInstancePair> {
19
+ readonly title: string;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypeInstanceListViewItemComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelTypeInstanceListViewItemComponent, "ng-component", never, {}, {}, never, never, true, never>;
22
22
  }
@@ -1,10 +1,16 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./model.types.view.directive";
3
3
  import * as i2 from "./model.types.list.component";
4
- import * as i3 from "@angular/common";
5
- import * as i4 from "@dereekb/dbx-web";
4
+ /**
5
+ * @deprecated import independent components instead
6
+ *
7
+ * @see DbxfirebaseModelViewedEventDirective
8
+ * @see DbxFirebaseModelTypeInstanceListComponent
9
+ * @see DbxFirebaseModelTypeInstanceListViewComponent
10
+ * @see DbxFirebaseModelTypeInstanceListViewItemComponent
11
+ */
6
12
  export declare class DbxFirebaseModelTypesModule {
7
13
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypesModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModelTypesModule, [typeof i1.DbxfirebaseModelViewedEventDirective, typeof i2.DbxFirebaseModelTypeInstanceComponent, typeof i2.DbxFirebaseModelTypeInstanceViewComponent, typeof i2.DbxFirebaseModelTypeInstanceViewItemComponent], [typeof i3.CommonModule, typeof i4.DbxModelInfoModule, typeof i4.DbxListLayoutModule], [typeof i1.DbxfirebaseModelViewedEventDirective, typeof i2.DbxFirebaseModelTypeInstanceComponent, typeof i2.DbxFirebaseModelTypeInstanceViewComponent, typeof i2.DbxFirebaseModelTypeInstanceViewItemComponent]>;
14
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModelTypesModule, never, [typeof i1.DbxfirebaseModelViewedEventDirective, typeof i2.DbxFirebaseModelTypeInstanceListComponent, typeof i2.DbxFirebaseModelTypeInstanceListViewComponent, typeof i2.DbxFirebaseModelTypeInstanceListViewItemComponent], [typeof i1.DbxfirebaseModelViewedEventDirective, typeof i2.DbxFirebaseModelTypeInstanceListComponent, typeof i2.DbxFirebaseModelTypeInstanceListViewComponent, typeof i2.DbxFirebaseModelTypeInstanceListViewItemComponent]>;
9
15
  static ɵinj: i0.ɵɵInjectorDeclaration<DbxFirebaseModelTypesModule>;
10
16
  }
@@ -0,0 +1,22 @@
1
+ import { EnvironmentProviders, Injector } from '@angular/core';
2
+ import { DbxFirebaseModelTypesServiceConfig } from './model.types.service';
3
+ /**
4
+ * Factory for DbxFirebaseModelTypesServiceConfig.
5
+ */
6
+ export type DbxFirebaseModelTypesServiceConfigFactory = (injector: Injector) => DbxFirebaseModelTypesServiceConfig;
7
+ /**
8
+ * Configuration for provideDbxFirebaseModelTypesService().
9
+ */
10
+ export interface ProvideDbxFirebaseModelTypesServiceConfig {
11
+ /**
12
+ * Factory for DbxFirebaseModelTypesServiceConfig.
13
+ */
14
+ readonly dbxFirebaseModelTypesServiceConfigFactory: DbxFirebaseModelTypesServiceConfigFactory;
15
+ }
16
+ /**
17
+ * Creates EnvironmentProviders for DbxFirebaseModelTypesService.
18
+ *
19
+ * @param config Configuration
20
+ * @returns EnvironmentProviders
21
+ */
22
+ export declare function provideDbxFirebaseModelTypesService(config: ProvideDbxFirebaseModelTypesServiceConfig): EnvironmentProviders;
@@ -12,6 +12,9 @@ import * as i0 from "@angular/core";
12
12
  * Configuration provided in the root module for configuring entries.
13
13
  */
14
14
  export declare abstract class DbxFirebaseModelTypesServiceConfig {
15
+ /**
16
+ * Entries to register.
17
+ */
15
18
  abstract entries: DbxFirebaseModelTypesServiceEntry[];
16
19
  }
17
20
  export interface DbxFirebaseModelTypesServiceEntry<T = unknown> extends Omit<DbxModelTypeInfo, 'canSegueToView' | 'modelType'> {
@@ -41,8 +44,8 @@ export type DbxFirebaseModelTypesMap = DbxModelTypesMap<DbxFirebaseModelTypeInfo
41
44
  export declare class DbxFirebaseModelTypesService {
42
45
  readonly dbxFirebaseModelContextService: DbxFirebaseModelContextService;
43
46
  readonly dbxModelTypesService: DbxModelTypesService<any>;
44
- constructor(initialConfig?: DbxFirebaseModelTypesServiceConfig);
45
- getDisplayInfo<T>(typeInfo: DbxFirebaseModelTypeInfo<T>, data: T): IconAndTitle;
47
+ constructor(initialConfig: DbxFirebaseModelTypesServiceConfig);
48
+ getDisplayInfo<T>(typeInfo: DbxFirebaseModelTypeInfo<T>, data: T): DbxFirebaseModelDisplayInfo;
46
49
  getDefaultDisplayInfo<T = unknown>(typeInfo: DbxFirebaseModelTypeInfo<T>): {
47
50
  title: string;
48
51
  icon: string;
@@ -52,7 +55,7 @@ export declare class DbxFirebaseModelTypesService {
52
55
  infoForType(type: ModelTypeString | FirestoreCollectionType): Observable<DbxFirebaseModelTypeInfo>;
53
56
  instanceForKey<D extends FirestoreDocument<any> = any, R extends GrantedRole = GrantedRole>(key$: ObservableOrValue<FirestoreModelKey>): DbxFirebaseModelTypesServiceInstance<D, R>;
54
57
  instancePairsForKeys(keys: ArrayOrValue<ObservableOrValue<FirestoreModelKey>>): Observable<DbxFirebaseModelTypesServiceInstancePair<any, string>[]>;
55
- static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypesService, [{ optional: true; }]>;
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypesService, never>;
56
59
  static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseModelTypesService>;
57
60
  }
58
61
  /**
@@ -1,8 +1,9 @@
1
- import { DbxModelObjectStateService, ModelViewContext } from '@dereekb/dbx-web';
2
- import { NgZone, OnInit } from '@angular/core';
1
+ import { DbxModelObjectStateService } from '@dereekb/dbx-web';
2
+ import { OnInit } from '@angular/core';
3
3
  import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
4
4
  import { DbxFirebaseDocumentStoreDirective } from '../store/store.document.directive';
5
5
  import { DbxFirebaseModelTypesService } from './model.types.service';
6
+ import { Maybe } from '@dereekb/util';
6
7
  import * as i0 from "@angular/core";
7
8
  /**
8
9
  * Used with a DbxFirebaseDocumentStoreDirective to emit model viewed events.
@@ -11,9 +12,8 @@ export declare class DbxfirebaseModelViewedEventDirective extends AbstractSubscr
11
12
  readonly dbxFirebaseDocumentStoreDirective: DbxFirebaseDocumentStoreDirective<unknown, import("dist/packages/firebase/src").FirestoreDocument<unknown, import("dist/packages/firebase/src").FirestoreModelIdentity>, import("@dereekb/dbx-firebase").DbxFirebaseDocumentStore<unknown, import("dist/packages/firebase/src").FirestoreDocument<unknown, import("dist/packages/firebase/src").FirestoreModelIdentity>>>;
12
13
  readonly dbxModelObjectStateService: DbxModelObjectStateService;
13
14
  readonly dbxFirebaseModelTypesService: DbxFirebaseModelTypesService;
14
- readonly ngZone: NgZone;
15
- context?: ModelViewContext | undefined;
15
+ readonly modelViewContext: import("@angular/core").InputSignal<Maybe<string>>;
16
16
  ngOnInit(): void;
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxfirebaseModelViewedEventDirective, never>;
18
- static ɵdir: i0.ɵɵDirectiveDeclaration<DbxfirebaseModelViewedEventDirective, "[dbxFirebaseModelViewedEvent]", never, { "context": { "alias": "dbxFirebaseModelViewedEvent"; "required": false; }; }, {}, never, never, false, never>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxfirebaseModelViewedEventDirective, "[dbxFirebaseModelViewedEvent]", never, { "modelViewContext": { "alias": "dbxFirebaseModelViewedEvent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
19
19
  }
@@ -1,14 +1,12 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./store.document.router.key.directive";
3
- import * as i2 from "./store.collection.list.directive";
4
- import * as i3 from "./store.collection.change.directive";
5
- import * as i4 from "./store.collection.change.if.directive";
6
- import * as i5 from "./store.document.router.directive";
7
- import * as i6 from "./store.document.auth.directive";
8
- import * as i7 from "./store.document.twoway.key.source.directive";
9
- import * as i8 from "./store.document.twoway.key.directive";
2
+ import * as i1 from "./store.collection.list.directive";
3
+ import * as i2 from "./store.collection.change.directive";
4
+ import * as i3 from "./store.collection.change.if.directive";
5
+ import * as i4 from "./store.document.auth.directive";
6
+ import * as i5 from "./store.document.twoway.key.source.directive";
7
+ import * as i6 from "./store.document.twoway.key.directive";
10
8
  export declare class DbxFirebaseModelStoreModule {
11
9
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelStoreModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModelStoreModule, [typeof i1.DbxFirebaseDocumentStoreRouteKeyDirective, typeof i2.DbxFirebaseCollectionListDirective, typeof i3.DbxFirebaseCollectionChangeDirective, typeof i4.DbxFirebaseCollectionHasChangeDirective, typeof i5.DbxFirebaseDocumentStoreRouteIdDirective, typeof i6.DbxFirebaseDocumentAuthIdDirective, typeof i7.DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, typeof i8.DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective], never, [typeof i1.DbxFirebaseDocumentStoreRouteKeyDirective, typeof i2.DbxFirebaseCollectionListDirective, typeof i3.DbxFirebaseCollectionChangeDirective, typeof i4.DbxFirebaseCollectionHasChangeDirective, typeof i5.DbxFirebaseDocumentStoreRouteIdDirective, typeof i6.DbxFirebaseDocumentAuthIdDirective, typeof i7.DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, typeof i8.DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective]>;
10
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModelStoreModule, [typeof i1.DbxFirebaseCollectionListDirective, typeof i2.DbxFirebaseCollectionChangeDirective, typeof i3.DbxFirebaseCollectionHasChangeDirective, typeof i4.DbxFirebaseDocumentAuthIdDirective, typeof i5.DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, typeof i6.DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective], never, [typeof i1.DbxFirebaseCollectionListDirective, typeof i2.DbxFirebaseCollectionChangeDirective, typeof i3.DbxFirebaseCollectionHasChangeDirective, typeof i4.DbxFirebaseDocumentAuthIdDirective, typeof i5.DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, typeof i6.DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective]>;
13
11
  static ɵinj: i0.ɵɵInjectorDeclaration<DbxFirebaseModelStoreModule>;
14
12
  }
@@ -1,3 +1,4 @@
1
+ import { OnInit } from '@angular/core';
1
2
  import { DbxRouteModelKeyDirective } from '@dereekb/dbx-core';
2
3
  import { DbxFirebaseDocumentStoreDirective } from './store.document.directive';
3
4
  import { Maybe, ModelKey } from '@dereekb/util';
@@ -8,7 +9,7 @@ import * as i0 from "@angular/core";
8
9
  *
9
10
  * @deprecated use DbxRouteModelKeyDirective ([dbxRouteModelKey]) instead.
10
11
  */
11
- export declare class DbxFirebaseDocumentStoreRouteKeyDirective<T = unknown> extends DbxRouteModelKeyDirective {
12
+ export declare class DbxFirebaseDocumentStoreRouteKeyDirective<T = unknown> extends DbxRouteModelKeyDirective implements OnInit {
12
13
  readonly dbxFirebaseDocumentStoreDirective: DbxFirebaseDocumentStoreDirective<T, import("dist/packages/firebase/src").FirestoreDocument<T, import("dist/packages/firebase/src").FirestoreModelIdentity>, import("@dereekb/dbx-firebase").DbxFirebaseDocumentStore<T, import("dist/packages/firebase/src").FirestoreDocument<T, import("dist/packages/firebase/src").FirestoreModelIdentity>>>;
13
14
  ngOnInit(): void;
14
15
  get dbxFirebaseDocumentStoreRouteKey(): string;
@@ -1,3 +1,4 @@
1
1
  export * from './model.context.instance';
2
+ export * from './model.context.providers';
2
3
  export * from './model.context.service';
3
4
  export * from './model.context';
@@ -0,0 +1,18 @@
1
+ import { EnvironmentProviders, Injector } from '@angular/core';
2
+ import { DbxFirebaseModelContextService } from './model.context.service';
3
+ import { ClassType } from '@dereekb/util';
4
+ /**
5
+ * Factory function for creating a DbxFirebaseModelContextService instance.
6
+ */
7
+ export type DbxFirebaseModelContextServiceFactory<T extends DbxFirebaseModelContextService> = (injector: Injector) => T;
8
+ export interface ProvideDbxFirebaseModelContextServiceConfig<T extends DbxFirebaseModelContextService> {
9
+ readonly dbxFirebaseModelContextServiceClass: ClassType<T>;
10
+ readonly dbxFirebaseModelContextServiceFactory?: DbxFirebaseModelContextServiceFactory<T>;
11
+ }
12
+ /**
13
+ * Creates EnvironmentProviders that provides a DbxFirebaseModelContextService and the configured class instance.
14
+ *
15
+ * @param config Configuration
16
+ * @returns EnvironmentProviders
17
+ */
18
+ export declare function provideDbxFirebaseModelContextService<T extends DbxFirebaseModelContextService>(config: ProvideDbxFirebaseModelContextServiceConfig<T>): EnvironmentProviders;
@@ -1,4 +1,5 @@
1
1
  export * from './notificationitem.list.component';
2
+ export * from './notificationitem.content.component';
2
3
  export * from './notificationitem.view.component';
3
4
  export * from './notificationitem.view.default.component';
4
5
  export * from './notificationitem.view.directive';
@@ -1,9 +1,9 @@
1
1
  import { Maybe } from '@dereekb/util';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class DbxFirebaseNotificationItemContentComponent {
4
- subject?: Maybe<string>;
5
- message?: Maybe<string>;
6
- date?: Maybe<Date>;
4
+ readonly subject: import("@angular/core").InputSignal<Maybe<string>>;
5
+ readonly message: import("@angular/core").InputSignal<Maybe<string>>;
6
+ readonly date: import("@angular/core").InputSignal<Maybe<Date>>;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemContentComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemContentComponent, "dbx-firebase-notificationitem-content", never, { "subject": { "alias": "subject"; "required": false; }; "message": { "alias": "message"; "required": false; }; "date": { "alias": "date"; "required": false; }; }, {}, never, ["[header]", "[premessage]", "*"], false, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemContentComponent, "dbx-firebase-notificationitem-content", never, { "subject": { "alias": "subject"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; }, {}, never, ["[header]", "[premessage]", "*"], true, never>;
9
9
  }
@@ -6,12 +6,12 @@ export type NotificationItemWithSelection = DbxValueAsListItem<NotificationItem>
6
6
  export declare class DbxFirebaseNotificationItemListComponent extends AbstractDbxSelectionListWrapperDirective<NotificationItem> {
7
7
  constructor();
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListComponent, "dbx-firebase-notificationitem-list", never, {}, {}, never, ["[top]", "[bottom]", "[empty]", "[emptyLoading]"], false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListComponent, "dbx-firebase-notificationitem-list", never, {}, {}, never, ["[top]", "[bottom]", "[empty]", "[emptyLoading]"], true, never>;
10
10
  }
11
11
  export declare class DbxFirebaseNotificationItemListViewComponent extends AbstractDbxSelectionListViewDirective<NotificationItem> {
12
12
  readonly config: DbxSelectionValueListViewConfig<NotificationItemWithSelection>;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListViewComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListViewComponent, "dbx-firebase-notificationitem-list-view", never, {}, {}, never, never, false, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListViewComponent, "dbx-firebase-notificationitem-list-view", never, {}, {}, never, never, true, never>;
15
15
  }
16
16
  export declare class DbxFirebaseNotificationItemListViewItemComponent extends AbstractDbxValueListViewItemComponent<NotificationItem> {
17
17
  readonly dbxFirebaseNotificationTemplateService: DbxFirebaseNotificationTemplateService;
@@ -20,5 +20,5 @@ export declare class DbxFirebaseNotificationItemListViewItemComponent extends Ab
20
20
  get message(): string;
21
21
  get date(): Date;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListViewItemComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListViewItemComponent, "ng-component", never, {}, {}, never, never, false, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListViewItemComponent, "ng-component", never, {}, {}, never, never, true, never>;
24
24
  }
@@ -1,15 +1,10 @@
1
- import { OnDestroy } from '@angular/core';
2
1
  import { DbxWidgetViewComponentConfig } from '@dereekb/dbx-web';
3
2
  import { NotificationItem, NotificationItemMetadata } from '@dereekb/firebase';
4
3
  import { Maybe } from '@dereekb/util';
5
- import { Observable } from 'rxjs';
6
4
  import * as i0 from "@angular/core";
7
- export declare class DbxFirebaseNotificationItemViewComponent<D extends NotificationItemMetadata = {}> implements OnDestroy {
8
- private readonly _item;
9
- readonly config$: Observable<DbxWidgetViewComponentConfig>;
10
- ngOnDestroy(): void;
11
- get item(): Maybe<NotificationItem<D>>;
12
- set item(value: Maybe<NotificationItem<D>>);
5
+ export declare class DbxFirebaseNotificationItemViewComponent<D extends NotificationItemMetadata = {}> {
6
+ readonly item: import("@angular/core").InputSignal<Maybe<NotificationItem<D>>>;
7
+ readonly configSignal: import("@angular/core").Signal<DbxWidgetViewComponentConfig<unknown> | undefined>;
13
8
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemViewComponent<any>, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemViewComponent<any>, "dbx-firebase-notificationitem-view", never, { "item": { "alias": "item"; "required": false; }; }, {}, never, never, false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemViewComponent<any>, "dbx-firebase-notificationitem-view", never, { "item": { "alias": "item"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15
10
  }
@@ -5,5 +5,5 @@ export declare class DbxFirebaseNotificationItemDefaultViewComponent extends Abs
5
5
  get message(): import("dist/packages/util/src").Maybe<string>;
6
6
  get date(): Date;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemDefaultViewComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemDefaultViewComponent, "dbx-firebase-notificationitem-view-default", never, {}, {}, never, never, false, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemDefaultViewComponent, "dbx-firebase-notificationitem-view-default", never, {}, {}, never, never, true, never>;
9
9
  }