svelte-firekit 0.1.9 → 0.2.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 (440) hide show
  1. package/README.md +550 -354
  2. package/dist/components/AuthGuard.svelte +64 -0
  3. package/dist/components/AuthGuard.svelte.d.ts +15 -0
  4. package/dist/components/Collection.svelte +62 -0
  5. package/dist/components/Collection.svelte.d.ts +39 -0
  6. package/dist/components/CustomGuard.svelte +87 -0
  7. package/dist/components/CustomGuard.svelte.d.ts +13 -0
  8. package/dist/components/Doc.svelte +56 -0
  9. package/dist/components/Doc.svelte.d.ts +36 -0
  10. package/dist/components/DownloadURL.svelte +48 -0
  11. package/dist/components/DownloadURL.svelte.d.ts +14 -0
  12. package/dist/components/FirebaseApp.svelte +81 -0
  13. package/dist/components/FirebaseApp.svelte.d.ts +12 -0
  14. package/dist/components/Node.svelte +54 -0
  15. package/dist/components/Node.svelte.d.ts +36 -0
  16. package/dist/components/SignedIn.svelte +22 -0
  17. package/dist/components/{firekit/signed-in.svelte.d.ts → SignedIn.svelte.d.ts} +1 -4
  18. package/dist/components/SignedOut.svelte +32 -0
  19. package/dist/components/{firekit/signed-out.svelte.d.ts → SignedOut.svelte.d.ts} +3 -5
  20. package/dist/components/UploadTask.svelte +75 -0
  21. package/dist/components/UploadTask.svelte.d.ts +33 -0
  22. package/dist/config.d.ts +29 -6
  23. package/dist/config.js +37 -74
  24. package/dist/context.d.ts +46 -0
  25. package/dist/context.js +56 -0
  26. package/dist/firebase.d.ts +25 -84
  27. package/dist/firebase.js +75 -125
  28. package/dist/index.d.ts +32 -20
  29. package/dist/index.js +49 -30
  30. package/dist/services/ai.svelte.d.ts +152 -0
  31. package/dist/services/ai.svelte.js +302 -0
  32. package/dist/services/analytics.d.ts +39 -231
  33. package/dist/services/analytics.js +89 -421
  34. package/dist/services/app-check.svelte.d.ts +82 -0
  35. package/dist/services/app-check.svelte.js +159 -0
  36. package/dist/services/auth.d.ts +63 -352
  37. package/dist/services/auth.js +353 -718
  38. package/dist/services/bundles.d.ts +42 -0
  39. package/dist/services/bundles.js +57 -0
  40. package/dist/services/callable.d.ts +57 -0
  41. package/dist/services/callable.js +115 -0
  42. package/dist/services/collection.svelte.d.ts +154 -221
  43. package/dist/services/collection.svelte.js +357 -663
  44. package/dist/services/document.svelte.d.ts +73 -254
  45. package/dist/services/document.svelte.js +196 -497
  46. package/dist/services/in-app-messaging.d.ts +46 -0
  47. package/dist/services/in-app-messaging.js +88 -0
  48. package/dist/services/messaging.svelte.d.ts +75 -0
  49. package/dist/services/messaging.svelte.js +190 -0
  50. package/dist/services/mutations.d.ts +59 -282
  51. package/dist/services/mutations.js +202 -951
  52. package/dist/services/performance.d.ts +60 -0
  53. package/dist/services/performance.js +118 -0
  54. package/dist/services/presence.svelte.d.ts +21 -89
  55. package/dist/services/presence.svelte.js +232 -469
  56. package/dist/services/realtime.svelte.d.ts +54 -125
  57. package/dist/services/realtime.svelte.js +111 -175
  58. package/dist/services/remote-config.svelte.d.ts +73 -0
  59. package/dist/services/remote-config.svelte.js +204 -0
  60. package/dist/services/storage.svelte.d.ts +81 -208
  61. package/dist/services/storage.svelte.js +190 -305
  62. package/dist/services/user.svelte.d.ts +23 -244
  63. package/dist/services/user.svelte.js +129 -439
  64. package/dist/types/analytics.d.ts +2 -36
  65. package/dist/types/analytics.js +0 -5
  66. package/dist/types/auth.d.ts +15 -85
  67. package/dist/types/auth.js +0 -17
  68. package/dist/types/collection.d.ts +31 -225
  69. package/dist/types/collection.js +5 -51
  70. package/dist/types/document.d.ts +11 -236
  71. package/dist/types/document.js +2 -47
  72. package/dist/types/firebase.d.ts +10 -13
  73. package/dist/types/firebase.js +3 -9
  74. package/dist/types/index.d.ts +5 -5
  75. package/dist/types/index.js +5 -4
  76. package/dist/types/mutations.d.ts +11 -225
  77. package/dist/types/mutations.js +6 -51
  78. package/dist/types/presence.d.ts +5 -158
  79. package/dist/types/presence.js +0 -20
  80. package/dist/utils/errors.d.ts +10 -14
  81. package/dist/utils/errors.js +11 -16
  82. package/dist/utils/firestore.d.ts +3 -4
  83. package/dist/utils/firestore.js +7 -10
  84. package/dist/utils/index.d.ts +4 -4
  85. package/dist/utils/index.js +4 -8
  86. package/dist/utils/providers.d.ts +4 -13
  87. package/dist/utils/providers.js +14 -13
  88. package/dist/utils/user.d.ts +1 -3
  89. package/dist/utils/user.js +1 -3
  90. package/package.json +41 -55
  91. package/dist/components/docs/doc-content.svelte +0 -19
  92. package/dist/components/docs/doc-content.svelte.d.ts +0 -6
  93. package/dist/components/docs/doc-header.svelte +0 -24
  94. package/dist/components/docs/doc-header.svelte.d.ts +0 -13
  95. package/dist/components/docs/doc-renderer.svelte +0 -27
  96. package/dist/components/docs/doc-renderer.svelte.d.ts +0 -8
  97. package/dist/components/docs/mobile-table-of-contents.svelte +0 -42
  98. package/dist/components/docs/mobile-table-of-contents.svelte.d.ts +0 -3
  99. package/dist/components/docs/table-of-contents.svelte +0 -33
  100. package/dist/components/docs/table-of-contents.svelte.d.ts +0 -4
  101. package/dist/components/docs/toc.svelte.d.ts +0 -16
  102. package/dist/components/docs/toc.svelte.js +0 -59
  103. package/dist/components/firekit/Collection.svelte +0 -122
  104. package/dist/components/firekit/Collection.svelte.d.ts +0 -27
  105. package/dist/components/firekit/Doc.svelte +0 -140
  106. package/dist/components/firekit/Doc.svelte.d.ts +0 -28
  107. package/dist/components/firekit/Node.svelte +0 -97
  108. package/dist/components/firekit/Node.svelte.d.ts +0 -23
  109. package/dist/components/firekit/auth-guard.svelte +0 -120
  110. package/dist/components/firekit/auth-guard.svelte.d.ts +0 -26
  111. package/dist/components/firekit/custom-guard.svelte +0 -163
  112. package/dist/components/firekit/custom-guard.svelte.d.ts +0 -31
  113. package/dist/components/firekit/download-url.svelte +0 -92
  114. package/dist/components/firekit/download-url.svelte.d.ts +0 -19
  115. package/dist/components/firekit/firebase-app.svelte +0 -33
  116. package/dist/components/firekit/firebase-app.svelte.d.ts +0 -7
  117. package/dist/components/firekit/node-list.svelte +0 -102
  118. package/dist/components/firekit/node-list.svelte.d.ts +0 -27
  119. package/dist/components/firekit/signed-in.svelte +0 -42
  120. package/dist/components/firekit/signed-out.svelte +0 -42
  121. package/dist/components/firekit/storage-list.svelte +0 -97
  122. package/dist/components/firekit/storage-list.svelte.d.ts +0 -26
  123. package/dist/components/firekit/upload-task.svelte +0 -108
  124. package/dist/components/firekit/upload-task.svelte.d.ts +0 -24
  125. package/dist/components/nav/app-sidebar.svelte +0 -175
  126. package/dist/components/nav/app-sidebar.svelte.d.ts +0 -9
  127. package/dist/components/nav/auto-breadcrumb.svelte +0 -41
  128. package/dist/components/nav/auto-breadcrumb.svelte.d.ts +0 -3
  129. package/dist/components/nav/dark-mode-toggle.svelte +0 -17
  130. package/dist/components/nav/dark-mode-toggle.svelte.d.ts +0 -18
  131. package/dist/components/nav/nav-components.svelte +0 -24
  132. package/dist/components/nav/nav-components.svelte.d.ts +0 -11
  133. package/dist/components/nav/nav-main.svelte +0 -45
  134. package/dist/components/nav/nav-main.svelte.d.ts +0 -11
  135. package/dist/components/nav/nav-secondary.svelte +0 -32
  136. package/dist/components/nav/nav-secondary.svelte.d.ts +0 -14
  137. package/dist/components/nav/site-header.svelte +0 -32
  138. package/dist/components/nav/site-header.svelte.d.ts +0 -18
  139. package/dist/components/ui/avatar/avatar-fallback.svelte +0 -17
  140. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +0 -4
  141. package/dist/components/ui/avatar/avatar-image.svelte +0 -17
  142. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +0 -4
  143. package/dist/components/ui/avatar/avatar.svelte +0 -19
  144. package/dist/components/ui/avatar/avatar.svelte.d.ts +0 -4
  145. package/dist/components/ui/avatar/index.d.ts +0 -4
  146. package/dist/components/ui/avatar/index.js +0 -6
  147. package/dist/components/ui/badge/badge.svelte +0 -50
  148. package/dist/components/ui/badge/badge.svelte.d.ts +0 -32
  149. package/dist/components/ui/badge/index.d.ts +0 -2
  150. package/dist/components/ui/badge/index.js +0 -2
  151. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +0 -23
  152. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +0 -5
  153. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +0 -20
  154. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +0 -5
  155. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +0 -31
  156. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +0 -11
  157. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +0 -23
  158. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +0 -5
  159. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +0 -23
  160. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +0 -5
  161. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +0 -27
  162. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +0 -5
  163. package/dist/components/ui/breadcrumb/breadcrumb.svelte +0 -21
  164. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +0 -5
  165. package/dist/components/ui/breadcrumb/index.d.ts +0 -8
  166. package/dist/components/ui/breadcrumb/index.js +0 -10
  167. package/dist/components/ui/button/button.svelte +0 -80
  168. package/dist/components/ui/button/button.svelte.d.ts +0 -58
  169. package/dist/components/ui/button/index.d.ts +0 -2
  170. package/dist/components/ui/button/index.js +0 -4
  171. package/dist/components/ui/card/card-action.svelte +0 -20
  172. package/dist/components/ui/card/card-action.svelte.d.ts +0 -5
  173. package/dist/components/ui/card/card-content.svelte +0 -15
  174. package/dist/components/ui/card/card-content.svelte.d.ts +0 -5
  175. package/dist/components/ui/card/card-description.svelte +0 -20
  176. package/dist/components/ui/card/card-description.svelte.d.ts +0 -5
  177. package/dist/components/ui/card/card-footer.svelte +0 -20
  178. package/dist/components/ui/card/card-footer.svelte.d.ts +0 -5
  179. package/dist/components/ui/card/card-header.svelte +0 -23
  180. package/dist/components/ui/card/card-header.svelte.d.ts +0 -5
  181. package/dist/components/ui/card/card-title.svelte +0 -20
  182. package/dist/components/ui/card/card-title.svelte.d.ts +0 -5
  183. package/dist/components/ui/card/card.svelte +0 -23
  184. package/dist/components/ui/card/card.svelte.d.ts +0 -5
  185. package/dist/components/ui/card/index.d.ts +0 -8
  186. package/dist/components/ui/card/index.js +0 -10
  187. package/dist/components/ui/chart/chart-container.svelte +0 -80
  188. package/dist/components/ui/chart/chart-container.svelte.d.ts +0 -9
  189. package/dist/components/ui/chart/chart-style.svelte +0 -36
  190. package/dist/components/ui/chart/chart-style.svelte.d.ts +0 -8
  191. package/dist/components/ui/chart/chart-tooltip.svelte +0 -159
  192. package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +0 -27
  193. package/dist/components/ui/chart/chart-utils.d.ts +0 -36
  194. package/dist/components/ui/chart/chart-utils.js +0 -33
  195. package/dist/components/ui/chart/index.d.ts +0 -4
  196. package/dist/components/ui/chart/index.js +0 -4
  197. package/dist/components/ui/checkbox/checkbox.svelte +0 -36
  198. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +0 -4
  199. package/dist/components/ui/checkbox/index.d.ts +0 -2
  200. package/dist/components/ui/checkbox/index.js +0 -4
  201. package/dist/components/ui/data-table/data-table.svelte.d.ts +0 -40
  202. package/dist/components/ui/data-table/data-table.svelte.js +0 -110
  203. package/dist/components/ui/data-table/flex-render.svelte +0 -36
  204. package/dist/components/ui/data-table/flex-render.svelte.d.ts +0 -30
  205. package/dist/components/ui/data-table/index.d.ts +0 -3
  206. package/dist/components/ui/data-table/index.js +0 -3
  207. package/dist/components/ui/data-table/render-helpers.d.ts +0 -90
  208. package/dist/components/ui/data-table/render-helpers.js +0 -99
  209. package/dist/components/ui/dialog/dialog-close.svelte +0 -7
  210. package/dist/components/ui/dialog/dialog-close.svelte.d.ts +0 -4
  211. package/dist/components/ui/dialog/dialog-content.svelte +0 -43
  212. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -11
  213. package/dist/components/ui/dialog/dialog-description.svelte +0 -17
  214. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -4
  215. package/dist/components/ui/dialog/dialog-footer.svelte +0 -20
  216. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -5
  217. package/dist/components/ui/dialog/dialog-header.svelte +0 -20
  218. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -5
  219. package/dist/components/ui/dialog/dialog-overlay.svelte +0 -20
  220. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -4
  221. package/dist/components/ui/dialog/dialog-title.svelte +0 -17
  222. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -4
  223. package/dist/components/ui/dialog/dialog-trigger.svelte +0 -7
  224. package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +0 -4
  225. package/dist/components/ui/dialog/index.d.ts +0 -11
  226. package/dist/components/ui/dialog/index.js +0 -14
  227. package/dist/components/ui/drawer/drawer-close.svelte +0 -7
  228. package/dist/components/ui/drawer/drawer-close.svelte.d.ts +0 -4
  229. package/dist/components/ui/drawer/drawer-content.svelte +0 -37
  230. package/dist/components/ui/drawer/drawer-content.svelte.d.ts +0 -7
  231. package/dist/components/ui/drawer/drawer-description.svelte +0 -17
  232. package/dist/components/ui/drawer/drawer-description.svelte.d.ts +0 -4
  233. package/dist/components/ui/drawer/drawer-footer.svelte +0 -20
  234. package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +0 -5
  235. package/dist/components/ui/drawer/drawer-header.svelte +0 -20
  236. package/dist/components/ui/drawer/drawer-header.svelte.d.ts +0 -5
  237. package/dist/components/ui/drawer/drawer-nested.svelte +0 -12
  238. package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +0 -3
  239. package/dist/components/ui/drawer/drawer-overlay.svelte +0 -20
  240. package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +0 -4
  241. package/dist/components/ui/drawer/drawer-title.svelte +0 -17
  242. package/dist/components/ui/drawer/drawer-title.svelte.d.ts +0 -4
  243. package/dist/components/ui/drawer/drawer-trigger.svelte +0 -7
  244. package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +0 -4
  245. package/dist/components/ui/drawer/drawer.svelte +0 -12
  246. package/dist/components/ui/drawer/drawer.svelte.d.ts +0 -3
  247. package/dist/components/ui/drawer/index.d.ts +0 -13
  248. package/dist/components/ui/drawer/index.js +0 -15
  249. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +0 -41
  250. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +0 -9
  251. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +0 -27
  252. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +0 -7
  253. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +0 -22
  254. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +0 -8
  255. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +0 -7
  256. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +0 -4
  257. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +0 -27
  258. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +0 -8
  259. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +0 -24
  260. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +0 -8
  261. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +0 -16
  262. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +0 -4
  263. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +0 -31
  264. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +0 -4
  265. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +0 -17
  266. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +0 -4
  267. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +0 -20
  268. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +0 -5
  269. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +0 -20
  270. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +0 -4
  271. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +0 -29
  272. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +0 -7
  273. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +0 -7
  274. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +0 -4
  275. package/dist/components/ui/dropdown-menu/index.d.ts +0 -25
  276. package/dist/components/ui/dropdown-menu/index.js +0 -17
  277. package/dist/components/ui/input/index.d.ts +0 -2
  278. package/dist/components/ui/input/index.js +0 -4
  279. package/dist/components/ui/input/input.svelte +0 -51
  280. package/dist/components/ui/input/input.svelte.d.ts +0 -13
  281. package/dist/components/ui/label/index.d.ts +0 -2
  282. package/dist/components/ui/label/index.js +0 -4
  283. package/dist/components/ui/label/label.svelte +0 -20
  284. package/dist/components/ui/label/label.svelte.d.ts +0 -4
  285. package/dist/components/ui/scroll-area/index.d.ts +0 -3
  286. package/dist/components/ui/scroll-area/index.js +0 -5
  287. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +0 -31
  288. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +0 -4
  289. package/dist/components/ui/scroll-area/scroll-area.svelte +0 -40
  290. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +0 -10
  291. package/dist/components/ui/select/index.d.ts +0 -11
  292. package/dist/components/ui/select/index.js +0 -14
  293. package/dist/components/ui/select/select-content.svelte +0 -40
  294. package/dist/components/ui/select/select-content.svelte.d.ts +0 -8
  295. package/dist/components/ui/select/select-group-heading.svelte +0 -21
  296. package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -10
  297. package/dist/components/ui/select/select-group.svelte +0 -7
  298. package/dist/components/ui/select/select-group.svelte.d.ts +0 -4
  299. package/dist/components/ui/select/select-item.svelte +0 -38
  300. package/dist/components/ui/select/select-item.svelte.d.ts +0 -4
  301. package/dist/components/ui/select/select-label.svelte +0 -20
  302. package/dist/components/ui/select/select-label.svelte.d.ts +0 -6
  303. package/dist/components/ui/select/select-scroll-down-button.svelte +0 -20
  304. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -4
  305. package/dist/components/ui/select/select-scroll-up-button.svelte +0 -20
  306. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -4
  307. package/dist/components/ui/select/select-separator.svelte +0 -18
  308. package/dist/components/ui/select/select-separator.svelte.d.ts +0 -4
  309. package/dist/components/ui/select/select-trigger.svelte +0 -29
  310. package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -8
  311. package/dist/components/ui/separator/index.d.ts +0 -2
  312. package/dist/components/ui/separator/index.js +0 -4
  313. package/dist/components/ui/separator/separator.svelte +0 -20
  314. package/dist/components/ui/separator/separator.svelte.d.ts +0 -4
  315. package/dist/components/ui/sheet/index.d.ts +0 -11
  316. package/dist/components/ui/sheet/index.js +0 -14
  317. package/dist/components/ui/sheet/sheet-close.svelte +0 -7
  318. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +0 -4
  319. package/dist/components/ui/sheet/sheet-content.svelte +0 -58
  320. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -35
  321. package/dist/components/ui/sheet/sheet-description.svelte +0 -17
  322. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -4
  323. package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
  324. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -5
  325. package/dist/components/ui/sheet/sheet-header.svelte +0 -20
  326. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -5
  327. package/dist/components/ui/sheet/sheet-overlay.svelte +0 -20
  328. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -4
  329. package/dist/components/ui/sheet/sheet-title.svelte +0 -17
  330. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -4
  331. package/dist/components/ui/sheet/sheet-trigger.svelte +0 -7
  332. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +0 -4
  333. package/dist/components/ui/sidebar/constants.d.ts +0 -6
  334. package/dist/components/ui/sidebar/constants.js +0 -6
  335. package/dist/components/ui/sidebar/context.svelte.d.ts +0 -42
  336. package/dist/components/ui/sidebar/context.svelte.js +0 -54
  337. package/dist/components/ui/sidebar/index.d.ts +0 -25
  338. package/dist/components/ui/sidebar/index.js +0 -27
  339. package/dist/components/ui/sidebar/sidebar-content.svelte +0 -24
  340. package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +0 -5
  341. package/dist/components/ui/sidebar/sidebar-footer.svelte +0 -21
  342. package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +0 -5
  343. package/dist/components/ui/sidebar/sidebar-group-action.svelte +0 -36
  344. package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +0 -11
  345. package/dist/components/ui/sidebar/sidebar-group-content.svelte +0 -21
  346. package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +0 -5
  347. package/dist/components/ui/sidebar/sidebar-group-label.svelte +0 -34
  348. package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +0 -11
  349. package/dist/components/ui/sidebar/sidebar-group.svelte +0 -21
  350. package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +0 -5
  351. package/dist/components/ui/sidebar/sidebar-header.svelte +0 -21
  352. package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +0 -5
  353. package/dist/components/ui/sidebar/sidebar-input.svelte +0 -21
  354. package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +0 -11
  355. package/dist/components/ui/sidebar/sidebar-inset.svelte +0 -24
  356. package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +0 -5
  357. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +0 -43
  358. package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +0 -12
  359. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +0 -29
  360. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +0 -5
  361. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +0 -103
  362. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +0 -51
  363. package/dist/components/ui/sidebar/sidebar-menu-item.svelte +0 -21
  364. package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +0 -5
  365. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +0 -36
  366. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +0 -8
  367. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +0 -43
  368. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +0 -13
  369. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +0 -21
  370. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +0 -5
  371. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +0 -25
  372. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +0 -5
  373. package/dist/components/ui/sidebar/sidebar-menu.svelte +0 -21
  374. package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +0 -5
  375. package/dist/components/ui/sidebar/sidebar-provider.svelte +0 -53
  376. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +0 -9
  377. package/dist/components/ui/sidebar/sidebar-rail.svelte +0 -36
  378. package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +0 -5
  379. package/dist/components/ui/sidebar/sidebar-separator.svelte +0 -19
  380. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +0 -13
  381. package/dist/components/ui/sidebar/sidebar-trigger.svelte +0 -35
  382. package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +0 -8
  383. package/dist/components/ui/sidebar/sidebar.svelte +0 -104
  384. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +0 -10
  385. package/dist/components/ui/skeleton/index.d.ts +0 -2
  386. package/dist/components/ui/skeleton/index.js +0 -4
  387. package/dist/components/ui/skeleton/skeleton.svelte +0 -17
  388. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +0 -5
  389. package/dist/components/ui/table/index.d.ts +0 -9
  390. package/dist/components/ui/table/index.js +0 -11
  391. package/dist/components/ui/table/table-body.svelte +0 -20
  392. package/dist/components/ui/table/table-body.svelte.d.ts +0 -5
  393. package/dist/components/ui/table/table-caption.svelte +0 -20
  394. package/dist/components/ui/table/table-caption.svelte.d.ts +0 -5
  395. package/dist/components/ui/table/table-cell.svelte +0 -20
  396. package/dist/components/ui/table/table-cell.svelte.d.ts +0 -5
  397. package/dist/components/ui/table/table-footer.svelte +0 -20
  398. package/dist/components/ui/table/table-footer.svelte.d.ts +0 -5
  399. package/dist/components/ui/table/table-head.svelte +0 -23
  400. package/dist/components/ui/table/table-head.svelte.d.ts +0 -5
  401. package/dist/components/ui/table/table-header.svelte +0 -20
  402. package/dist/components/ui/table/table-header.svelte.d.ts +0 -5
  403. package/dist/components/ui/table/table-row.svelte +0 -23
  404. package/dist/components/ui/table/table-row.svelte.d.ts +0 -5
  405. package/dist/components/ui/table/table.svelte +0 -22
  406. package/dist/components/ui/table/table.svelte.d.ts +0 -5
  407. package/dist/components/ui/tabs/index.d.ts +0 -5
  408. package/dist/components/ui/tabs/index.js +0 -7
  409. package/dist/components/ui/tabs/tabs-content.svelte +0 -17
  410. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +0 -4
  411. package/dist/components/ui/tabs/tabs-list.svelte +0 -20
  412. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +0 -4
  413. package/dist/components/ui/tabs/tabs-trigger.svelte +0 -20
  414. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +0 -4
  415. package/dist/components/ui/tabs/tabs.svelte +0 -19
  416. package/dist/components/ui/tabs/tabs.svelte.d.ts +0 -4
  417. package/dist/components/ui/toggle/index.d.ts +0 -3
  418. package/dist/components/ui/toggle/index.js +0 -5
  419. package/dist/components/ui/toggle/toggle.svelte +0 -52
  420. package/dist/components/ui/toggle/toggle.svelte.d.ts +0 -43
  421. package/dist/components/ui/toggle-group/index.d.ts +0 -3
  422. package/dist/components/ui/toggle-group/index.js +0 -5
  423. package/dist/components/ui/toggle-group/toggle-group-item.svelte +0 -34
  424. package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +0 -6
  425. package/dist/components/ui/toggle-group/toggle-group.svelte +0 -47
  426. package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +0 -8
  427. package/dist/components/ui/tooltip/index.d.ts +0 -7
  428. package/dist/components/ui/tooltip/index.js +0 -9
  429. package/dist/components/ui/tooltip/tooltip-content.svelte +0 -47
  430. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -7
  431. package/dist/components/ui/tooltip/tooltip-trigger.svelte +0 -7
  432. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +0 -4
  433. package/dist/hooks/is-mobile.svelte.d.ts +0 -4
  434. package/dist/hooks/is-mobile.svelte.js +0 -7
  435. package/dist/services/index.d.ts +0 -9
  436. package/dist/services/index.js +0 -10
  437. package/dist/types/docs.d.ts +0 -67
  438. package/dist/types/docs.js +0 -1
  439. package/dist/utils.d.ts +0 -15
  440. package/dist/utils.js +0 -44
package/dist/firebase.js CHANGED
@@ -4,19 +4,18 @@ import { getAuth } from 'firebase/auth';
4
4
  import { getFunctions } from 'firebase/functions';
5
5
  import { getDatabase } from 'firebase/database';
6
6
  import { getStorage } from 'firebase/storage';
7
- import { getAnalytics } from 'firebase/analytics';
8
- import { firebaseConfig } from './config.js';
7
+ import { getAnalytics, isSupported as isAnalyticsSupported } from 'firebase/analytics';
8
+ import { getPerformance } from 'firebase/performance';
9
+ import { getMessaging, isSupported as isMessagingSupported } from 'firebase/messaging';
10
+ import { getFirekitConfig } from './config.js';
9
11
  import { FirebaseServiceStatus, FirebaseServiceError } from './types/firebase.js';
10
12
  /**
11
- * Singleton service class that manages Firebase service instances.
12
- * Handles initialization and access to Firebase app and its various services.
13
+ * Singleton service that manages all Firebase service instances.
14
+ * Services are initialized lazily they spin up only when first accessed.
13
15
  *
14
- * @example
15
- * // Get Firestore instance
16
- * const db = firebaseService.getDbInstance();
17
- *
18
- * // Get Auth instance
19
- * const auth = firebaseService.getAuthInstance();
16
+ * Core services (Firestore, Auth, Functions, RTDB, Storage) are always available.
17
+ * Browser-only services (Analytics, Performance, Messaging) check the environment.
18
+ * Security services (AppCheck, RemoteConfig) are initialized by their dedicated service files.
20
19
  */
21
20
  class FirebaseService {
22
21
  static instance;
@@ -27,46 +26,26 @@ class FirebaseService {
27
26
  database = null;
28
27
  storage = null;
29
28
  analytics = null;
29
+ appCheck = null;
30
+ remoteConfig = null;
31
+ performance = null;
32
+ messaging = null;
30
33
  status = FirebaseServiceStatus.UNINITIALIZED;
31
34
  initializationError = null;
32
35
  isBrowser = typeof window !== 'undefined';
33
- /** @private */
34
36
  constructor() { }
35
- /**
36
- * Gets the singleton instance of FirebaseService.
37
- * Creates a new instance if one doesn't exist.
38
- *
39
- * @returns {FirebaseService} The singleton FirebaseService instance
40
- */
41
37
  static getInstance() {
42
38
  if (!FirebaseService.instance) {
43
39
  FirebaseService.instance = new FirebaseService();
44
40
  }
45
41
  return FirebaseService.instance;
46
42
  }
47
- /**
48
- * Gets the current status of the Firebase service
49
- *
50
- * @returns {FirebaseServiceStatus} The current service status
51
- */
52
43
  getStatus() {
53
44
  return this.status;
54
45
  }
55
- /**
56
- * Gets the initialization error if any occurred
57
- *
58
- * @returns {Error | null} The initialization error or null if none occurred
59
- */
60
46
  getInitializationError() {
61
47
  return this.initializationError;
62
48
  }
63
- /**
64
- * Initializes or retrieves the Firebase app instance.
65
- * Also initializes Firestore if running in browser environment.
66
- *
67
- * @returns {FirebaseApp} The Firebase app instance
68
- * @throws {FirebaseServiceError} If initialization fails
69
- */
70
49
  getFirebaseApp() {
71
50
  if (this.status === FirebaseServiceStatus.ERROR) {
72
51
  throw new FirebaseServiceError('Firebase service is in error state', 'app');
@@ -76,13 +55,9 @@ class FirebaseService {
76
55
  try {
77
56
  this.status = FirebaseServiceStatus.INITIALIZING;
78
57
  const existingApps = getApps();
79
- if (existingApps.length) {
80
- this.firebaseApp = existingApps[0];
81
- }
82
- else {
83
- this.firebaseApp = initializeApp(firebaseConfig);
84
- console.log(`${firebaseConfig.projectId} initialized on ${this.isBrowser ? 'client' : 'server'}`);
85
- }
58
+ this.firebaseApp = existingApps.length
59
+ ? existingApps[0]
60
+ : initializeApp(getFirekitConfig());
86
61
  this.initializeFirestoreInstance();
87
62
  this.status = FirebaseServiceStatus.INITIALIZED;
88
63
  return this.firebaseApp;
@@ -93,13 +68,6 @@ class FirebaseService {
93
68
  throw new FirebaseServiceError('Failed to initialize Firebase app', 'app');
94
69
  }
95
70
  }
96
- /**
97
- * Initializes Firestore with persistent cache and multi-tab support.
98
- * Only runs in browser environment.
99
- *
100
- * @private
101
- * @throws {FirebaseServiceError} If Firestore initialization fails
102
- */
103
71
  initializeFirestoreInstance() {
104
72
  if (this.db || !this.isBrowser)
105
73
  return;
@@ -113,49 +81,23 @@ class FirebaseService {
113
81
  const indexManager = getPersistentCacheIndexManager(this.db);
114
82
  if (indexManager) {
115
83
  enablePersistentCacheIndexAutoCreation(indexManager);
116
- console.log('Firestore persistent cache indexing is enabled');
117
- }
118
- else {
119
- console.warn('Failed to initialize the Firestore cache index manager');
120
84
  }
121
85
  }
122
86
  catch (error) {
123
87
  throw new FirebaseServiceError('Failed to initialize Firestore', 'firestore');
124
88
  }
125
89
  }
126
- /**
127
- * Gets the Firestore instance, initializing it if necessary.
128
- *
129
- * @returns {Firestore} The Firestore instance
130
- * @throws {FirebaseServiceError} If Firestore is not available
131
- */
132
90
  getDbInstance() {
133
91
  if (!this.db) {
134
- try {
135
- this.getFirebaseApp();
136
- if (!this.db) {
137
- // If we're not in a browser environment, Firestore won't be available
138
- if (!this.isBrowser) {
139
- throw new FirebaseServiceError('Firestore is not available in server environment', 'firestore');
140
- }
141
- throw new FirebaseServiceError('Firestore instance not available', 'firestore');
142
- }
143
- }
144
- catch (error) {
145
- if (error instanceof FirebaseServiceError) {
146
- throw error;
147
- }
148
- throw new FirebaseServiceError('Failed to initialize Firestore', 'firestore');
92
+ this.getFirebaseApp();
93
+ if (!this.db) {
94
+ throw new FirebaseServiceError(this.isBrowser
95
+ ? 'Firestore instance not available'
96
+ : 'Firestore is not available in server environment', 'firestore');
149
97
  }
150
98
  }
151
99
  return this.db;
152
100
  }
153
- /**
154
- * Gets the Authentication instance, initializing it if necessary.
155
- *
156
- * @returns {Auth} The Authentication instance
157
- * @throws {FirebaseServiceError} If Auth initialization fails
158
- */
159
101
  getAuthInstance() {
160
102
  try {
161
103
  if (!this.auth) {
@@ -163,16 +105,10 @@ class FirebaseService {
163
105
  }
164
106
  return this.auth;
165
107
  }
166
- catch (error) {
108
+ catch {
167
109
  throw new FirebaseServiceError('Failed to initialize Auth', 'auth');
168
110
  }
169
111
  }
170
- /**
171
- * Gets the Cloud Functions instance, initializing it if necessary.
172
- *
173
- * @returns {Functions} The Cloud Functions instance
174
- * @throws {FirebaseServiceError} If Functions initialization fails
175
- */
176
112
  getFunctionsInstance() {
177
113
  try {
178
114
  if (!this.functions) {
@@ -180,16 +116,10 @@ class FirebaseService {
180
116
  }
181
117
  return this.functions;
182
118
  }
183
- catch (error) {
119
+ catch {
184
120
  throw new FirebaseServiceError('Failed to initialize Functions', 'functions');
185
121
  }
186
122
  }
187
- /**
188
- * Gets the Realtime Database instance, initializing it if necessary.
189
- *
190
- * @returns {Database} The Realtime Database instance
191
- * @throws {FirebaseServiceError} If Database initialization fails
192
- */
193
123
  getDatabaseInstance() {
194
124
  try {
195
125
  if (!this.database) {
@@ -197,16 +127,10 @@ class FirebaseService {
197
127
  }
198
128
  return this.database;
199
129
  }
200
- catch (error) {
201
- throw new FirebaseServiceError('Failed to initialize Database', 'database');
130
+ catch {
131
+ throw new FirebaseServiceError('Failed to initialize Realtime Database', 'database');
202
132
  }
203
133
  }
204
- /**
205
- * Gets the Storage instance, initializing it if necessary.
206
- *
207
- * @returns {FirebaseStorage} The Storage instance
208
- * @throws {FirebaseServiceError} If Storage initialization fails
209
- */
210
134
  getStorageInstance() {
211
135
  try {
212
136
  if (!this.storage) {
@@ -214,36 +138,62 @@ class FirebaseService {
214
138
  }
215
139
  return this.storage;
216
140
  }
217
- catch (error) {
141
+ catch {
218
142
  throw new FirebaseServiceError('Failed to initialize Storage', 'storage');
219
143
  }
220
144
  }
221
145
  /**
222
- * Gets the Analytics instance, initializing it if necessary.
223
- * Only available in browser environment.
224
- *
225
- * @returns {Analytics} The Analytics instance
226
- * @throws {FirebaseServiceError} If Analytics initialization fails
146
+ * Gets the Analytics instance. Returns null if analytics is not supported
147
+ * (e.g. no measurementId in config, ad-blockers, SSR).
227
148
  */
228
- getAnalyticsInstance() {
229
- if (!this.isBrowser) {
230
- throw new FirebaseServiceError('Analytics is not available in server environment', 'analytics');
231
- }
149
+ async getAnalyticsInstance() {
150
+ if (!this.isBrowser)
151
+ return null;
232
152
  try {
233
- if (!this.analytics) {
153
+ if (!this.analytics && (await isAnalyticsSupported())) {
234
154
  this.analytics = getAnalytics(this.getFirebaseApp());
235
155
  }
236
156
  return this.analytics;
237
157
  }
238
- catch (error) {
239
- throw new FirebaseServiceError('Failed to initialize Analytics', 'analytics');
158
+ catch {
159
+ return null;
240
160
  }
241
161
  }
242
162
  /**
243
- * Resets the Firebase service to its initial state.
244
- * Useful for testing or when you need to reinitialize the services.
245
- *
246
- * @returns {Promise<void>}
163
+ * Gets the Performance Monitoring instance. Browser-only.
164
+ */
165
+ getPerformanceInstance() {
166
+ if (!this.isBrowser)
167
+ return null;
168
+ try {
169
+ if (!this.performance) {
170
+ this.performance = getPerformance(this.getFirebaseApp());
171
+ }
172
+ return this.performance;
173
+ }
174
+ catch {
175
+ throw new FirebaseServiceError('Failed to initialize Performance Monitoring', 'performance');
176
+ }
177
+ }
178
+ /**
179
+ * Gets the Cloud Messaging instance. Returns null if not supported
180
+ * (requires HTTPS, service workers, and browser support).
181
+ */
182
+ async getMessagingInstance() {
183
+ if (!this.isBrowser)
184
+ return null;
185
+ try {
186
+ if (!this.messaging && (await isMessagingSupported())) {
187
+ this.messaging = getMessaging(this.getFirebaseApp());
188
+ }
189
+ return this.messaging;
190
+ }
191
+ catch {
192
+ return null;
193
+ }
194
+ }
195
+ /**
196
+ * Resets all service instances. Primarily useful for testing.
247
197
  */
248
198
  async reset() {
249
199
  this.firebaseApp = null;
@@ -253,21 +203,21 @@ class FirebaseService {
253
203
  this.database = null;
254
204
  this.storage = null;
255
205
  this.analytics = null;
206
+ this.appCheck = null;
207
+ this.remoteConfig = null;
208
+ this.performance = null;
209
+ this.messaging = null;
256
210
  this.status = FirebaseServiceStatus.UNINITIALIZED;
257
211
  this.initializationError = null;
258
212
  }
259
213
  }
260
214
  /**
261
- * Pre-initialized Firebase service instance.
262
- * Use this to access Firebase services directly.
215
+ * The global Firebase service singleton.
216
+ * Access Firebase service instances through this object.
263
217
  *
264
218
  * @example
265
- * import { firebaseService } from './firebase-service';
266
- *
267
- * // Get Firestore
219
+ * import { firebaseService } from 'svelte-firekit';
268
220
  * const db = firebaseService.getDbInstance();
269
- *
270
- * // Get Auth
271
221
  * const auth = firebaseService.getAuthInstance();
272
222
  */
273
223
  export const firebaseService = FirebaseService.getInstance();
package/dist/index.d.ts CHANGED
@@ -1,24 +1,36 @@
1
- export * from './types/index.js';
2
- export { firebaseConfig } from './config.js';
1
+ export { initFirekit, getFirekitConfig, isFirekitConfigured } from './config.js';
2
+ export { getFirebaseAppContext, getAuthContext, getFirestoreContext, getStorageContext, getRTDBContext, getFunctionsContext, getAppCheckContext, getAnalyticsContext, getMessagingContext } from './context.js';
3
3
  export { firebaseService } from './firebase.js';
4
- export { firekitUser } from './services/user.svelte.js';
5
4
  export { firekitAuth } from './services/auth.js';
5
+ export { firekitUser } from './services/user.svelte.js';
6
+ export type { ExtendedUserData } from './services/user.svelte.js';
7
+ export type { MFAEnrollmentResult, MFAChallengeResult } from './types/auth.js';
8
+ export { firekitAppCheck } from './services/app-check.svelte.js';
9
+ export { ReCaptchaV3Provider, ReCaptchaEnterpriseProvider, CustomProvider } from './services/app-check.svelte.js';
10
+ export type { AppCheckOptions, AppCheckTokenResult } from './services/app-check.svelte.js';
11
+ export { FirekitDoc, firekitDoc, firekitDocOnce, firekitDocWithMetadata, type FirekitDocOptions } from './services/document.svelte.js';
12
+ export { FirekitCollection, FirekitCollectionGroup, FirekitQueryBuilder, firekitCollection, firekitCollectionOnce, firekitCollectionGroup, type FirekitCollectionOptions } from './services/collection.svelte.js';
13
+ export { firekitMutations, type FirekitBatchOp, type FirekitBatchResult } from './services/mutations.js';
14
+ export { FirekitGenerate, FirekitStream, FirekitChat, firekitGenerate, firekitStream, firekitChat, textPart, imagePart, imageUrlPart, GoogleAIBackend, VertexAIBackend, type FirekitAIOptions, type ChatMessage, type AIBackendType, type Part, type Content, type GenerationConfig, type SafetySetting } from './services/ai.svelte.js';
15
+ export { FirekitNode, FirekitNodeList, firekitNode, firekitNodeList, rtdbServerTimestamp, rtdbIncrement } from './services/realtime.svelte.js';
16
+ export { FirekitDownloadUrl, FirekitStorageList, FirekitUploadTask, firekitDownloadUrl, firekitStorageList, firekitUploadTask, deleteFile, getFileMetadata, updateFileMetadata, type UploadState, type SettableMetadata } from './services/storage.svelte.js';
17
+ export { FirekitCallable, FirekitCallableFromURL, firekitCallable, firekitCallableFromURL } from './services/callable.js';
6
18
  export { firekitPresence } from './services/presence.svelte.js';
19
+ export { FirekitRemoteConfig, firekitRemoteConfig, type FirekitRemoteConfigOptions } from './services/remote-config.svelte.js';
20
+ export { firekitPerformance, type PerformanceTrace } from './services/performance.js';
21
+ export { firekitMessaging, type MessagePayload } from './services/messaging.svelte.js';
7
22
  export { firekitAnalytics } from './services/analytics.js';
8
- export { firekitDoc, firekitDocOnce, firekitDocWithMetadata } from './services/document.svelte.js';
9
- export { firekitDocMutations } from './services/mutations.js';
10
- export { firekitCollection, firekitCollectionGroup, firekitCollectionOnce } from './services/collection.svelte.js';
11
- export { firekitRealtimeDB, firekitRealtimeList } from './services/realtime.svelte.js';
12
- export { firekitStorageList, firekitUploadTask, firekitDownloadUrl } from './services/storage.svelte.js';
13
- export { default as FirebaseApp } from './components/firekit/firebase-app.svelte';
14
- export { default as AuthGuard } from './components/firekit/auth-guard.svelte';
15
- export { default as CustomGuard } from './components/firekit/custom-guard.svelte';
16
- export { default as SignedIn } from './components/firekit/signed-in.svelte';
17
- export { default as SignedOut } from './components/firekit/signed-out.svelte';
18
- export { default as Doc } from './components/firekit/Doc.svelte';
19
- export { default as Collection } from './components/firekit/Collection.svelte';
20
- export { default as Node } from './components/firekit/Node.svelte';
21
- export { default as NodeList } from './components/firekit/node-list.svelte';
22
- export { default as StorageList } from './components/firekit/storage-list.svelte';
23
- export { default as DownloadURL } from './components/firekit/download-url.svelte';
24
- export { default as UploadTask } from './components/firekit/upload-task.svelte';
23
+ export { firekitInAppMessaging } from './services/in-app-messaging.js';
24
+ export { loadFirestoreBundle, getNamedQuery } from './services/bundles.js';
25
+ export { default as FirebaseApp } from './components/FirebaseApp.svelte';
26
+ export { default as SignedIn } from './components/SignedIn.svelte';
27
+ export { default as SignedOut } from './components/SignedOut.svelte';
28
+ export { default as AuthGuard } from './components/AuthGuard.svelte';
29
+ export { default as CustomGuard } from './components/CustomGuard.svelte';
30
+ export { default as Doc } from './components/Doc.svelte';
31
+ export { default as Collection } from './components/Collection.svelte';
32
+ export { default as Node } from './components/Node.svelte';
33
+ export { default as DownloadURL } from './components/DownloadURL.svelte';
34
+ export { default as UploadTask } from './components/UploadTask.svelte';
35
+ export * from './types/index.js';
36
+ export * from './utils/index.js';
package/dist/index.js CHANGED
@@ -1,34 +1,53 @@
1
- // types
2
- export * from './types/index.js';
3
- // Firebase config
4
- export { firebaseConfig } from './config.js';
1
+ // ─── Configuration ───────────────────────────────────────────────────────────
2
+ export { initFirekit, getFirekitConfig, isFirekitConfigured } from './config.js';
3
+ // ─── Context helpers ──────────────────────────────────────────────────────────
4
+ export { getFirebaseAppContext, getAuthContext, getFirestoreContext, getStorageContext, getRTDBContext, getFunctionsContext, getAppCheckContext, getAnalyticsContext, getMessagingContext } from './context.js';
5
+ // ─── Firebase service singleton ──────────────────────────────────────────────
5
6
  export { firebaseService } from './firebase.js';
6
- // auth services
7
- export { firekitUser } from './services/user.svelte.js';
7
+ // ─── Auth & User services ────────────────────────────────────────────────────
8
8
  export { firekitAuth } from './services/auth.js';
9
+ export { firekitUser } from './services/user.svelte.js';
10
+ // ─── App Check ───────────────────────────────────────────────────────────────
11
+ export { firekitAppCheck } from './services/app-check.svelte.js';
12
+ export { ReCaptchaV3Provider, ReCaptchaEnterpriseProvider, CustomProvider } from './services/app-check.svelte.js';
13
+ // ─── Firestore ────────────────────────────────────────────────────────────────
14
+ export { FirekitDoc, firekitDoc, firekitDocOnce, firekitDocWithMetadata } from './services/document.svelte.js';
15
+ export { FirekitCollection, FirekitCollectionGroup, FirekitQueryBuilder, firekitCollection, firekitCollectionOnce, firekitCollectionGroup } from './services/collection.svelte.js';
16
+ export { firekitMutations } from './services/mutations.js';
17
+ // ─── Firebase AI ──────────────────────────────────────────────────────────────
18
+ export { FirekitGenerate, FirekitStream, FirekitChat, firekitGenerate, firekitStream, firekitChat, textPart, imagePart, imageUrlPart, GoogleAIBackend, VertexAIBackend } from './services/ai.svelte.js';
19
+ // ─── Realtime Database ────────────────────────────────────────────────────────
20
+ export { FirekitNode, FirekitNodeList, firekitNode, firekitNodeList, rtdbServerTimestamp, rtdbIncrement } from './services/realtime.svelte.js';
21
+ // ─── Storage ──────────────────────────────────────────────────────────────────
22
+ export { FirekitDownloadUrl, FirekitStorageList, FirekitUploadTask, firekitDownloadUrl, firekitStorageList, firekitUploadTask, deleteFile, getFileMetadata, updateFileMetadata } from './services/storage.svelte.js';
23
+ // ─── Cloud Functions ──────────────────────────────────────────────────────────
24
+ export { FirekitCallable, FirekitCallableFromURL, firekitCallable, firekitCallableFromURL } from './services/callable.js';
25
+ // ─── Presence ─────────────────────────────────────────────────────────────────
9
26
  export { firekitPresence } from './services/presence.svelte.js';
10
- // analytics services
27
+ // ─── Remote Config ────────────────────────────────────────────────────────────
28
+ export { FirekitRemoteConfig, firekitRemoteConfig } from './services/remote-config.svelte.js';
29
+ // ─── Performance ──────────────────────────────────────────────────────────────
30
+ export { firekitPerformance } from './services/performance.js';
31
+ // ─── Messaging ────────────────────────────────────────────────────────────────
32
+ export { firekitMessaging } from './services/messaging.svelte.js';
33
+ // ─── Analytics ────────────────────────────────────────────────────────────────
11
34
  export { firekitAnalytics } from './services/analytics.js';
12
- // document services
13
- export { firekitDoc, firekitDocOnce, firekitDocWithMetadata } from './services/document.svelte.js';
14
- // mutations services
15
- export { firekitDocMutations } from './services/mutations.js';
16
- // collection services
17
- export { firekitCollection, firekitCollectionGroup, firekitCollectionOnce } from './services/collection.svelte.js';
18
- // realtime services
19
- export { firekitRealtimeDB, firekitRealtimeList } from './services/realtime.svelte.js';
20
- // storage services
21
- export { firekitStorageList, firekitUploadTask, firekitDownloadUrl } from './services/storage.svelte.js';
22
- // Components
23
- export { default as FirebaseApp } from './components/firekit/firebase-app.svelte';
24
- export { default as AuthGuard } from './components/firekit/auth-guard.svelte';
25
- export { default as CustomGuard } from './components/firekit/custom-guard.svelte';
26
- export { default as SignedIn } from './components/firekit/signed-in.svelte';
27
- export { default as SignedOut } from './components/firekit/signed-out.svelte';
28
- export { default as Doc } from './components/firekit/Doc.svelte';
29
- export { default as Collection } from './components/firekit/Collection.svelte';
30
- export { default as Node } from './components/firekit/Node.svelte';
31
- export { default as NodeList } from './components/firekit/node-list.svelte';
32
- export { default as StorageList } from './components/firekit/storage-list.svelte';
33
- export { default as DownloadURL } from './components/firekit/download-url.svelte';
34
- export { default as UploadTask } from './components/firekit/upload-task.svelte';
35
+ // ─── In-App Messaging ─────────────────────────────────────────────────────────
36
+ export { firekitInAppMessaging } from './services/in-app-messaging.js';
37
+ // ─── Firestore bundles ────────────────────────────────────────────────────────
38
+ export { loadFirestoreBundle, getNamedQuery } from './services/bundles.js';
39
+ // ─── Components ──────────────────────────────────────────────────────────────
40
+ export { default as FirebaseApp } from './components/FirebaseApp.svelte';
41
+ export { default as SignedIn } from './components/SignedIn.svelte';
42
+ export { default as SignedOut } from './components/SignedOut.svelte';
43
+ export { default as AuthGuard } from './components/AuthGuard.svelte';
44
+ export { default as CustomGuard } from './components/CustomGuard.svelte';
45
+ export { default as Doc } from './components/Doc.svelte';
46
+ export { default as Collection } from './components/Collection.svelte';
47
+ export { default as Node } from './components/Node.svelte';
48
+ export { default as DownloadURL } from './components/DownloadURL.svelte';
49
+ export { default as UploadTask } from './components/UploadTask.svelte';
50
+ // ─── Types ───────────────────────────────────────────────────────────────────
51
+ export * from './types/index.js';
52
+ // ─── Utilities ───────────────────────────────────────────────────────────────
53
+ export * from './utils/index.js';
@@ -0,0 +1,152 @@
1
+ import { GoogleAIBackend, VertexAIBackend, type Part, type Content, type GenerateContentRequest, type GenerationConfig, type SafetySetting } from 'firebase/ai';
2
+ /** Available backend types for Firebase AI. */
3
+ export type AIBackendType = 'googleai' | 'vertexai';
4
+ /** Builds a text Part. */
5
+ export declare function textPart(text: string): Part;
6
+ /** Builds an inline image Part from a base64 data URL or raw base64 string. */
7
+ export declare function imagePart(base64: string, mimeType?: string): Part;
8
+ /** Builds an image Part from a publicly accessible URL. */
9
+ export declare function imageUrlPart(url: string, mimeType?: string): Part;
10
+ export interface FirekitAIOptions {
11
+ /** Firebase AI backend. Default: 'googleai' */
12
+ backend?: AIBackendType;
13
+ /** Gemini model name. Default: 'gemini-2.0-flash' */
14
+ model?: string;
15
+ generationConfig?: GenerationConfig;
16
+ safetySettings?: SafetySetting[];
17
+ systemInstruction?: string | Part | Content;
18
+ }
19
+ export interface ChatMessage {
20
+ role: 'user' | 'model';
21
+ parts: Part[];
22
+ text: string;
23
+ }
24
+ /**
25
+ * Reactive one-shot AI generation.
26
+ *
27
+ * Calls `generateContent` and exposes reactive state. Re-call `generate()`
28
+ * to produce new results.
29
+ *
30
+ * @example
31
+ * ```svelte
32
+ * <script lang="ts">
33
+ * import { firekitGenerate } from 'svelte-firekit';
34
+ * const gen = firekitGenerate({ model: 'gemini-2.0-flash' });
35
+ * gen.generate('Summarize the following: ...');
36
+ * </script>
37
+ * {#if gen.loading}<p>Thinking…</p>{/if}
38
+ * {#if gen.text}<p>{gen.text}</p>{/if}
39
+ * ```
40
+ */
41
+ export declare class FirekitGenerate {
42
+ private _text;
43
+ private _loading;
44
+ private _error;
45
+ readonly hasResult: boolean;
46
+ private _model;
47
+ constructor(options?: FirekitAIOptions);
48
+ get text(): string | null;
49
+ get loading(): boolean;
50
+ get error(): Error | null;
51
+ /**
52
+ * Generates a response for the given prompt (text or multi-part content).
53
+ * Returns the generated text, or null on error.
54
+ */
55
+ generate(prompt: string | Part | Part[] | GenerateContentRequest): Promise<string | null>;
56
+ /** Resets result and error state. */
57
+ reset(): void;
58
+ }
59
+ /**
60
+ * Reactive streaming AI generation.
61
+ *
62
+ * Streams tokens into `text` as they arrive from the model.
63
+ *
64
+ * @example
65
+ * ```svelte
66
+ * <script lang="ts">
67
+ * import { firekitStream } from 'svelte-firekit';
68
+ * const gen = firekitStream({ model: 'gemini-2.0-flash' });
69
+ * gen.generate('Write a poem about Svelte.');
70
+ * </script>
71
+ * {#if gen.streaming}<span class="cursor">▍</span>{/if}
72
+ * <p>{gen.text}</p>
73
+ * ```
74
+ */
75
+ export declare class FirekitStream {
76
+ private _text;
77
+ private _streaming;
78
+ private _loading;
79
+ private _error;
80
+ readonly done: boolean;
81
+ private _model;
82
+ constructor(options?: FirekitAIOptions);
83
+ get text(): string;
84
+ get streaming(): boolean;
85
+ get loading(): boolean;
86
+ get error(): Error | null;
87
+ /**
88
+ * Streams a response for the given prompt.
89
+ * Resolves with the full text once streaming completes.
90
+ */
91
+ generate(prompt: string | Part | Part[] | GenerateContentRequest): Promise<string>;
92
+ /** Resets accumulated text and error. */
93
+ reset(): void;
94
+ }
95
+ /**
96
+ * Reactive multi-turn chat session.
97
+ *
98
+ * Maintains conversation history and exposes reactive state for each
99
+ * assistant turn (supports both streaming and non-streaming).
100
+ *
101
+ * @example
102
+ * ```svelte
103
+ * <script lang="ts">
104
+ * import { firekitChat } from 'svelte-firekit';
105
+ * const chat = firekitChat({ model: 'gemini-2.0-flash' });
106
+ * await chat.send('Hello!');
107
+ * </script>
108
+ * {#each chat.history as msg}
109
+ * <div class={msg.role}>{msg.text}</div>
110
+ * {/each}
111
+ * {#if chat.streaming}<span>▍</span>{/if}
112
+ * ```
113
+ */
114
+ export declare class FirekitChat {
115
+ private _history;
116
+ private _pendingText;
117
+ private _loading;
118
+ private _streaming;
119
+ private _error;
120
+ readonly lastMessage: ChatMessage | null;
121
+ readonly isEmpty: boolean;
122
+ private _session;
123
+ constructor(options?: FirekitAIOptions, initialHistory?: Content[]);
124
+ get history(): ChatMessage[];
125
+ get pendingText(): string;
126
+ get loading(): boolean;
127
+ get streaming(): boolean;
128
+ get error(): Error | null;
129
+ /**
130
+ * Sends a message and returns the model's response text.
131
+ * Uses streaming by default for a responsive UI.
132
+ */
133
+ send(message: string | Part[], { stream }?: {
134
+ stream?: boolean;
135
+ }): Promise<string>;
136
+ /** Clears the conversation history and starts a fresh session. */
137
+ clear(): void;
138
+ }
139
+ /**
140
+ * Creates a reactive one-shot AI text generator.
141
+ */
142
+ export declare function firekitGenerate(options?: FirekitAIOptions): FirekitGenerate;
143
+ /**
144
+ * Creates a reactive streaming AI text generator.
145
+ */
146
+ export declare function firekitStream(options?: FirekitAIOptions): FirekitStream;
147
+ /**
148
+ * Creates a reactive multi-turn AI chat session.
149
+ */
150
+ export declare function firekitChat(options?: FirekitAIOptions, initialHistory?: Content[]): FirekitChat;
151
+ export { GoogleAIBackend, VertexAIBackend };
152
+ export type { Part, Content, GenerationConfig, SafetySetting };