svelte-firekit 0.1.9 → 0.2.1

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 (439) 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 +31 -20
  29. package/dist/index.js +47 -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.js +4 -0
  47. package/dist/services/messaging.svelte.d.ts +75 -0
  48. package/dist/services/messaging.svelte.js +190 -0
  49. package/dist/services/mutations.d.ts +59 -282
  50. package/dist/services/mutations.js +202 -951
  51. package/dist/services/performance.d.ts +60 -0
  52. package/dist/services/performance.js +118 -0
  53. package/dist/services/presence.svelte.d.ts +21 -89
  54. package/dist/services/presence.svelte.js +232 -469
  55. package/dist/services/realtime.svelte.d.ts +54 -125
  56. package/dist/services/realtime.svelte.js +111 -175
  57. package/dist/services/remote-config.svelte.d.ts +73 -0
  58. package/dist/services/remote-config.svelte.js +204 -0
  59. package/dist/services/storage.svelte.d.ts +81 -208
  60. package/dist/services/storage.svelte.js +190 -305
  61. package/dist/services/user.svelte.d.ts +23 -244
  62. package/dist/services/user.svelte.js +129 -439
  63. package/dist/types/analytics.d.ts +2 -36
  64. package/dist/types/analytics.js +0 -5
  65. package/dist/types/auth.d.ts +15 -85
  66. package/dist/types/auth.js +0 -17
  67. package/dist/types/collection.d.ts +31 -225
  68. package/dist/types/collection.js +5 -51
  69. package/dist/types/document.d.ts +11 -236
  70. package/dist/types/document.js +2 -47
  71. package/dist/types/firebase.d.ts +10 -13
  72. package/dist/types/firebase.js +3 -9
  73. package/dist/types/index.d.ts +5 -5
  74. package/dist/types/index.js +5 -4
  75. package/dist/types/mutations.d.ts +11 -225
  76. package/dist/types/mutations.js +6 -51
  77. package/dist/types/presence.d.ts +5 -158
  78. package/dist/types/presence.js +0 -20
  79. package/dist/utils/errors.d.ts +10 -14
  80. package/dist/utils/errors.js +11 -16
  81. package/dist/utils/firestore.d.ts +3 -4
  82. package/dist/utils/firestore.js +7 -10
  83. package/dist/utils/index.d.ts +4 -4
  84. package/dist/utils/index.js +4 -8
  85. package/dist/utils/providers.d.ts +4 -13
  86. package/dist/utils/providers.js +14 -13
  87. package/dist/utils/user.d.ts +1 -3
  88. package/dist/utils/user.js +1 -3
  89. package/package.json +41 -55
  90. package/dist/components/docs/doc-content.svelte +0 -19
  91. package/dist/components/docs/doc-content.svelte.d.ts +0 -6
  92. package/dist/components/docs/doc-header.svelte +0 -24
  93. package/dist/components/docs/doc-header.svelte.d.ts +0 -13
  94. package/dist/components/docs/doc-renderer.svelte +0 -27
  95. package/dist/components/docs/doc-renderer.svelte.d.ts +0 -8
  96. package/dist/components/docs/mobile-table-of-contents.svelte +0 -42
  97. package/dist/components/docs/mobile-table-of-contents.svelte.d.ts +0 -3
  98. package/dist/components/docs/table-of-contents.svelte +0 -33
  99. package/dist/components/docs/table-of-contents.svelte.d.ts +0 -4
  100. package/dist/components/docs/toc.svelte.d.ts +0 -16
  101. package/dist/components/docs/toc.svelte.js +0 -59
  102. package/dist/components/firekit/Collection.svelte +0 -122
  103. package/dist/components/firekit/Collection.svelte.d.ts +0 -27
  104. package/dist/components/firekit/Doc.svelte +0 -140
  105. package/dist/components/firekit/Doc.svelte.d.ts +0 -28
  106. package/dist/components/firekit/Node.svelte +0 -97
  107. package/dist/components/firekit/Node.svelte.d.ts +0 -23
  108. package/dist/components/firekit/auth-guard.svelte +0 -120
  109. package/dist/components/firekit/auth-guard.svelte.d.ts +0 -26
  110. package/dist/components/firekit/custom-guard.svelte +0 -163
  111. package/dist/components/firekit/custom-guard.svelte.d.ts +0 -31
  112. package/dist/components/firekit/download-url.svelte +0 -92
  113. package/dist/components/firekit/download-url.svelte.d.ts +0 -19
  114. package/dist/components/firekit/firebase-app.svelte +0 -33
  115. package/dist/components/firekit/firebase-app.svelte.d.ts +0 -7
  116. package/dist/components/firekit/node-list.svelte +0 -102
  117. package/dist/components/firekit/node-list.svelte.d.ts +0 -27
  118. package/dist/components/firekit/signed-in.svelte +0 -42
  119. package/dist/components/firekit/signed-out.svelte +0 -42
  120. package/dist/components/firekit/storage-list.svelte +0 -97
  121. package/dist/components/firekit/storage-list.svelte.d.ts +0 -26
  122. package/dist/components/firekit/upload-task.svelte +0 -108
  123. package/dist/components/firekit/upload-task.svelte.d.ts +0 -24
  124. package/dist/components/nav/app-sidebar.svelte +0 -175
  125. package/dist/components/nav/app-sidebar.svelte.d.ts +0 -9
  126. package/dist/components/nav/auto-breadcrumb.svelte +0 -41
  127. package/dist/components/nav/auto-breadcrumb.svelte.d.ts +0 -3
  128. package/dist/components/nav/dark-mode-toggle.svelte +0 -17
  129. package/dist/components/nav/dark-mode-toggle.svelte.d.ts +0 -18
  130. package/dist/components/nav/nav-components.svelte +0 -24
  131. package/dist/components/nav/nav-components.svelte.d.ts +0 -11
  132. package/dist/components/nav/nav-main.svelte +0 -45
  133. package/dist/components/nav/nav-main.svelte.d.ts +0 -11
  134. package/dist/components/nav/nav-secondary.svelte +0 -32
  135. package/dist/components/nav/nav-secondary.svelte.d.ts +0 -14
  136. package/dist/components/nav/site-header.svelte +0 -32
  137. package/dist/components/nav/site-header.svelte.d.ts +0 -18
  138. package/dist/components/ui/avatar/avatar-fallback.svelte +0 -17
  139. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +0 -4
  140. package/dist/components/ui/avatar/avatar-image.svelte +0 -17
  141. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +0 -4
  142. package/dist/components/ui/avatar/avatar.svelte +0 -19
  143. package/dist/components/ui/avatar/avatar.svelte.d.ts +0 -4
  144. package/dist/components/ui/avatar/index.d.ts +0 -4
  145. package/dist/components/ui/avatar/index.js +0 -6
  146. package/dist/components/ui/badge/badge.svelte +0 -50
  147. package/dist/components/ui/badge/badge.svelte.d.ts +0 -32
  148. package/dist/components/ui/badge/index.d.ts +0 -2
  149. package/dist/components/ui/badge/index.js +0 -2
  150. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +0 -23
  151. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +0 -5
  152. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +0 -20
  153. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +0 -5
  154. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +0 -31
  155. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +0 -11
  156. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +0 -23
  157. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +0 -5
  158. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +0 -23
  159. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +0 -5
  160. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +0 -27
  161. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +0 -5
  162. package/dist/components/ui/breadcrumb/breadcrumb.svelte +0 -21
  163. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +0 -5
  164. package/dist/components/ui/breadcrumb/index.d.ts +0 -8
  165. package/dist/components/ui/breadcrumb/index.js +0 -10
  166. package/dist/components/ui/button/button.svelte +0 -80
  167. package/dist/components/ui/button/button.svelte.d.ts +0 -58
  168. package/dist/components/ui/button/index.d.ts +0 -2
  169. package/dist/components/ui/button/index.js +0 -4
  170. package/dist/components/ui/card/card-action.svelte +0 -20
  171. package/dist/components/ui/card/card-action.svelte.d.ts +0 -5
  172. package/dist/components/ui/card/card-content.svelte +0 -15
  173. package/dist/components/ui/card/card-content.svelte.d.ts +0 -5
  174. package/dist/components/ui/card/card-description.svelte +0 -20
  175. package/dist/components/ui/card/card-description.svelte.d.ts +0 -5
  176. package/dist/components/ui/card/card-footer.svelte +0 -20
  177. package/dist/components/ui/card/card-footer.svelte.d.ts +0 -5
  178. package/dist/components/ui/card/card-header.svelte +0 -23
  179. package/dist/components/ui/card/card-header.svelte.d.ts +0 -5
  180. package/dist/components/ui/card/card-title.svelte +0 -20
  181. package/dist/components/ui/card/card-title.svelte.d.ts +0 -5
  182. package/dist/components/ui/card/card.svelte +0 -23
  183. package/dist/components/ui/card/card.svelte.d.ts +0 -5
  184. package/dist/components/ui/card/index.d.ts +0 -8
  185. package/dist/components/ui/card/index.js +0 -10
  186. package/dist/components/ui/chart/chart-container.svelte +0 -80
  187. package/dist/components/ui/chart/chart-container.svelte.d.ts +0 -9
  188. package/dist/components/ui/chart/chart-style.svelte +0 -36
  189. package/dist/components/ui/chart/chart-style.svelte.d.ts +0 -8
  190. package/dist/components/ui/chart/chart-tooltip.svelte +0 -159
  191. package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +0 -27
  192. package/dist/components/ui/chart/chart-utils.d.ts +0 -36
  193. package/dist/components/ui/chart/chart-utils.js +0 -33
  194. package/dist/components/ui/chart/index.d.ts +0 -4
  195. package/dist/components/ui/chart/index.js +0 -4
  196. package/dist/components/ui/checkbox/checkbox.svelte +0 -36
  197. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +0 -4
  198. package/dist/components/ui/checkbox/index.d.ts +0 -2
  199. package/dist/components/ui/checkbox/index.js +0 -4
  200. package/dist/components/ui/data-table/data-table.svelte.d.ts +0 -40
  201. package/dist/components/ui/data-table/data-table.svelte.js +0 -110
  202. package/dist/components/ui/data-table/flex-render.svelte +0 -36
  203. package/dist/components/ui/data-table/flex-render.svelte.d.ts +0 -30
  204. package/dist/components/ui/data-table/index.d.ts +0 -3
  205. package/dist/components/ui/data-table/index.js +0 -3
  206. package/dist/components/ui/data-table/render-helpers.d.ts +0 -90
  207. package/dist/components/ui/data-table/render-helpers.js +0 -99
  208. package/dist/components/ui/dialog/dialog-close.svelte +0 -7
  209. package/dist/components/ui/dialog/dialog-close.svelte.d.ts +0 -4
  210. package/dist/components/ui/dialog/dialog-content.svelte +0 -43
  211. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -11
  212. package/dist/components/ui/dialog/dialog-description.svelte +0 -17
  213. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -4
  214. package/dist/components/ui/dialog/dialog-footer.svelte +0 -20
  215. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -5
  216. package/dist/components/ui/dialog/dialog-header.svelte +0 -20
  217. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -5
  218. package/dist/components/ui/dialog/dialog-overlay.svelte +0 -20
  219. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -4
  220. package/dist/components/ui/dialog/dialog-title.svelte +0 -17
  221. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -4
  222. package/dist/components/ui/dialog/dialog-trigger.svelte +0 -7
  223. package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +0 -4
  224. package/dist/components/ui/dialog/index.d.ts +0 -11
  225. package/dist/components/ui/dialog/index.js +0 -14
  226. package/dist/components/ui/drawer/drawer-close.svelte +0 -7
  227. package/dist/components/ui/drawer/drawer-close.svelte.d.ts +0 -4
  228. package/dist/components/ui/drawer/drawer-content.svelte +0 -37
  229. package/dist/components/ui/drawer/drawer-content.svelte.d.ts +0 -7
  230. package/dist/components/ui/drawer/drawer-description.svelte +0 -17
  231. package/dist/components/ui/drawer/drawer-description.svelte.d.ts +0 -4
  232. package/dist/components/ui/drawer/drawer-footer.svelte +0 -20
  233. package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +0 -5
  234. package/dist/components/ui/drawer/drawer-header.svelte +0 -20
  235. package/dist/components/ui/drawer/drawer-header.svelte.d.ts +0 -5
  236. package/dist/components/ui/drawer/drawer-nested.svelte +0 -12
  237. package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +0 -3
  238. package/dist/components/ui/drawer/drawer-overlay.svelte +0 -20
  239. package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +0 -4
  240. package/dist/components/ui/drawer/drawer-title.svelte +0 -17
  241. package/dist/components/ui/drawer/drawer-title.svelte.d.ts +0 -4
  242. package/dist/components/ui/drawer/drawer-trigger.svelte +0 -7
  243. package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +0 -4
  244. package/dist/components/ui/drawer/drawer.svelte +0 -12
  245. package/dist/components/ui/drawer/drawer.svelte.d.ts +0 -3
  246. package/dist/components/ui/drawer/index.d.ts +0 -13
  247. package/dist/components/ui/drawer/index.js +0 -15
  248. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +0 -41
  249. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +0 -9
  250. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +0 -27
  251. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +0 -7
  252. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +0 -22
  253. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +0 -8
  254. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +0 -7
  255. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +0 -4
  256. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +0 -27
  257. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +0 -8
  258. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +0 -24
  259. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +0 -8
  260. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +0 -16
  261. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +0 -4
  262. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +0 -31
  263. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +0 -4
  264. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +0 -17
  265. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +0 -4
  266. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +0 -20
  267. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +0 -5
  268. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +0 -20
  269. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +0 -4
  270. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +0 -29
  271. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +0 -7
  272. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +0 -7
  273. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +0 -4
  274. package/dist/components/ui/dropdown-menu/index.d.ts +0 -25
  275. package/dist/components/ui/dropdown-menu/index.js +0 -17
  276. package/dist/components/ui/input/index.d.ts +0 -2
  277. package/dist/components/ui/input/index.js +0 -4
  278. package/dist/components/ui/input/input.svelte +0 -51
  279. package/dist/components/ui/input/input.svelte.d.ts +0 -13
  280. package/dist/components/ui/label/index.d.ts +0 -2
  281. package/dist/components/ui/label/index.js +0 -4
  282. package/dist/components/ui/label/label.svelte +0 -20
  283. package/dist/components/ui/label/label.svelte.d.ts +0 -4
  284. package/dist/components/ui/scroll-area/index.d.ts +0 -3
  285. package/dist/components/ui/scroll-area/index.js +0 -5
  286. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +0 -31
  287. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +0 -4
  288. package/dist/components/ui/scroll-area/scroll-area.svelte +0 -40
  289. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +0 -10
  290. package/dist/components/ui/select/index.d.ts +0 -11
  291. package/dist/components/ui/select/index.js +0 -14
  292. package/dist/components/ui/select/select-content.svelte +0 -40
  293. package/dist/components/ui/select/select-content.svelte.d.ts +0 -8
  294. package/dist/components/ui/select/select-group-heading.svelte +0 -21
  295. package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -10
  296. package/dist/components/ui/select/select-group.svelte +0 -7
  297. package/dist/components/ui/select/select-group.svelte.d.ts +0 -4
  298. package/dist/components/ui/select/select-item.svelte +0 -38
  299. package/dist/components/ui/select/select-item.svelte.d.ts +0 -4
  300. package/dist/components/ui/select/select-label.svelte +0 -20
  301. package/dist/components/ui/select/select-label.svelte.d.ts +0 -6
  302. package/dist/components/ui/select/select-scroll-down-button.svelte +0 -20
  303. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -4
  304. package/dist/components/ui/select/select-scroll-up-button.svelte +0 -20
  305. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -4
  306. package/dist/components/ui/select/select-separator.svelte +0 -18
  307. package/dist/components/ui/select/select-separator.svelte.d.ts +0 -4
  308. package/dist/components/ui/select/select-trigger.svelte +0 -29
  309. package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -8
  310. package/dist/components/ui/separator/index.d.ts +0 -2
  311. package/dist/components/ui/separator/index.js +0 -4
  312. package/dist/components/ui/separator/separator.svelte +0 -20
  313. package/dist/components/ui/separator/separator.svelte.d.ts +0 -4
  314. package/dist/components/ui/sheet/index.d.ts +0 -11
  315. package/dist/components/ui/sheet/index.js +0 -14
  316. package/dist/components/ui/sheet/sheet-close.svelte +0 -7
  317. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +0 -4
  318. package/dist/components/ui/sheet/sheet-content.svelte +0 -58
  319. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -35
  320. package/dist/components/ui/sheet/sheet-description.svelte +0 -17
  321. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -4
  322. package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
  323. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -5
  324. package/dist/components/ui/sheet/sheet-header.svelte +0 -20
  325. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -5
  326. package/dist/components/ui/sheet/sheet-overlay.svelte +0 -20
  327. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -4
  328. package/dist/components/ui/sheet/sheet-title.svelte +0 -17
  329. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -4
  330. package/dist/components/ui/sheet/sheet-trigger.svelte +0 -7
  331. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +0 -4
  332. package/dist/components/ui/sidebar/constants.d.ts +0 -6
  333. package/dist/components/ui/sidebar/constants.js +0 -6
  334. package/dist/components/ui/sidebar/context.svelte.d.ts +0 -42
  335. package/dist/components/ui/sidebar/context.svelte.js +0 -54
  336. package/dist/components/ui/sidebar/index.d.ts +0 -25
  337. package/dist/components/ui/sidebar/index.js +0 -27
  338. package/dist/components/ui/sidebar/sidebar-content.svelte +0 -24
  339. package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +0 -5
  340. package/dist/components/ui/sidebar/sidebar-footer.svelte +0 -21
  341. package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +0 -5
  342. package/dist/components/ui/sidebar/sidebar-group-action.svelte +0 -36
  343. package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +0 -11
  344. package/dist/components/ui/sidebar/sidebar-group-content.svelte +0 -21
  345. package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +0 -5
  346. package/dist/components/ui/sidebar/sidebar-group-label.svelte +0 -34
  347. package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +0 -11
  348. package/dist/components/ui/sidebar/sidebar-group.svelte +0 -21
  349. package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +0 -5
  350. package/dist/components/ui/sidebar/sidebar-header.svelte +0 -21
  351. package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +0 -5
  352. package/dist/components/ui/sidebar/sidebar-input.svelte +0 -21
  353. package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +0 -11
  354. package/dist/components/ui/sidebar/sidebar-inset.svelte +0 -24
  355. package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +0 -5
  356. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +0 -43
  357. package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +0 -12
  358. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +0 -29
  359. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +0 -5
  360. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +0 -103
  361. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +0 -51
  362. package/dist/components/ui/sidebar/sidebar-menu-item.svelte +0 -21
  363. package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +0 -5
  364. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +0 -36
  365. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +0 -8
  366. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +0 -43
  367. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +0 -13
  368. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +0 -21
  369. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +0 -5
  370. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +0 -25
  371. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +0 -5
  372. package/dist/components/ui/sidebar/sidebar-menu.svelte +0 -21
  373. package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +0 -5
  374. package/dist/components/ui/sidebar/sidebar-provider.svelte +0 -53
  375. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +0 -9
  376. package/dist/components/ui/sidebar/sidebar-rail.svelte +0 -36
  377. package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +0 -5
  378. package/dist/components/ui/sidebar/sidebar-separator.svelte +0 -19
  379. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +0 -13
  380. package/dist/components/ui/sidebar/sidebar-trigger.svelte +0 -35
  381. package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +0 -8
  382. package/dist/components/ui/sidebar/sidebar.svelte +0 -104
  383. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +0 -10
  384. package/dist/components/ui/skeleton/index.d.ts +0 -2
  385. package/dist/components/ui/skeleton/index.js +0 -4
  386. package/dist/components/ui/skeleton/skeleton.svelte +0 -17
  387. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +0 -5
  388. package/dist/components/ui/table/index.d.ts +0 -9
  389. package/dist/components/ui/table/index.js +0 -11
  390. package/dist/components/ui/table/table-body.svelte +0 -20
  391. package/dist/components/ui/table/table-body.svelte.d.ts +0 -5
  392. package/dist/components/ui/table/table-caption.svelte +0 -20
  393. package/dist/components/ui/table/table-caption.svelte.d.ts +0 -5
  394. package/dist/components/ui/table/table-cell.svelte +0 -20
  395. package/dist/components/ui/table/table-cell.svelte.d.ts +0 -5
  396. package/dist/components/ui/table/table-footer.svelte +0 -20
  397. package/dist/components/ui/table/table-footer.svelte.d.ts +0 -5
  398. package/dist/components/ui/table/table-head.svelte +0 -23
  399. package/dist/components/ui/table/table-head.svelte.d.ts +0 -5
  400. package/dist/components/ui/table/table-header.svelte +0 -20
  401. package/dist/components/ui/table/table-header.svelte.d.ts +0 -5
  402. package/dist/components/ui/table/table-row.svelte +0 -23
  403. package/dist/components/ui/table/table-row.svelte.d.ts +0 -5
  404. package/dist/components/ui/table/table.svelte +0 -22
  405. package/dist/components/ui/table/table.svelte.d.ts +0 -5
  406. package/dist/components/ui/tabs/index.d.ts +0 -5
  407. package/dist/components/ui/tabs/index.js +0 -7
  408. package/dist/components/ui/tabs/tabs-content.svelte +0 -17
  409. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +0 -4
  410. package/dist/components/ui/tabs/tabs-list.svelte +0 -20
  411. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +0 -4
  412. package/dist/components/ui/tabs/tabs-trigger.svelte +0 -20
  413. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +0 -4
  414. package/dist/components/ui/tabs/tabs.svelte +0 -19
  415. package/dist/components/ui/tabs/tabs.svelte.d.ts +0 -4
  416. package/dist/components/ui/toggle/index.d.ts +0 -3
  417. package/dist/components/ui/toggle/index.js +0 -5
  418. package/dist/components/ui/toggle/toggle.svelte +0 -52
  419. package/dist/components/ui/toggle/toggle.svelte.d.ts +0 -43
  420. package/dist/components/ui/toggle-group/index.d.ts +0 -3
  421. package/dist/components/ui/toggle-group/index.js +0 -5
  422. package/dist/components/ui/toggle-group/toggle-group-item.svelte +0 -34
  423. package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +0 -6
  424. package/dist/components/ui/toggle-group/toggle-group.svelte +0 -47
  425. package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +0 -8
  426. package/dist/components/ui/tooltip/index.d.ts +0 -7
  427. package/dist/components/ui/tooltip/index.js +0 -9
  428. package/dist/components/ui/tooltip/tooltip-content.svelte +0 -47
  429. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -7
  430. package/dist/components/ui/tooltip/tooltip-trigger.svelte +0 -7
  431. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +0 -4
  432. package/dist/hooks/is-mobile.svelte.d.ts +0 -4
  433. package/dist/hooks/is-mobile.svelte.js +0 -7
  434. package/dist/services/index.d.ts +0 -9
  435. package/dist/services/index.js +0 -10
  436. package/dist/types/docs.d.ts +0 -67
  437. package/dist/utils.d.ts +0 -15
  438. package/dist/utils.js +0 -44
  439. /package/dist/{types/docs.js → services/in-app-messaging.d.ts} +0 -0
@@ -0,0 +1,64 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { UserProfile } from '../types/auth.js';
4
+ import { firekitUser } from '../services/user.svelte.js';
5
+ import { firekitAuth } from '../services/auth.js';
6
+
7
+ /**
8
+ * Route guard that renders `children` only when the auth requirement is met.
9
+ * Framework-agnostic — pass `onUnauthorized` to handle navigation yourself.
10
+ *
11
+ * @example SvelteKit
12
+ * <script>
13
+ * import { goto } from '$app/navigation';
14
+ * <\/script>
15
+ * <AuthGuard onUnauthorized={() => goto('/login')}>
16
+ * {#snippet children(user, signOut)}
17
+ * <Dashboard {user} {signOut} />
18
+ * {/snippet}
19
+ * </AuthGuard>
20
+ *
21
+ * @example Require guest (redirect authenticated users away)
22
+ * <AuthGuard requireAuth={false} onUnauthorized={() => goto('/dashboard')}>
23
+ * {#snippet children()}
24
+ * <LoginPage />
25
+ * {/snippet}
26
+ * </AuthGuard>
27
+ */
28
+ let {
29
+ children,
30
+ requireAuth = true,
31
+ onUnauthorized,
32
+ fallback
33
+ }: {
34
+ /** Content shown when the auth requirement is satisfied. */
35
+ children: Snippet<[UserProfile, () => Promise<void>]>;
36
+ /** When true (default), requires a signed-in user. When false, requires no user. */
37
+ requireAuth?: boolean;
38
+ /** Called when the auth state does not meet the requirement. Use for navigation. */
39
+ onUnauthorized?: () => void;
40
+ /** Shown while auth state is being determined. */
41
+ fallback?: Snippet;
42
+ } = $props();
43
+
44
+ function signOut() {
45
+ return firekitAuth.signOut();
46
+ }
47
+
48
+ // React to auth state changes — runs whenever isAuthenticated or loading changes.
49
+ $effect(() => {
50
+ if (firekitUser.loading) return;
51
+
52
+ const isAuth = firekitUser.isAuthenticated;
53
+ const shouldBlock = requireAuth ? !isAuth : isAuth;
54
+ if (shouldBlock) onUnauthorized?.();
55
+ });
56
+ </script>
57
+
58
+ {#if firekitUser.loading}
59
+ {#if fallback}
60
+ {@render fallback()}
61
+ {/if}
62
+ {:else if firekitUser.isAuthenticated === requireAuth && firekitUser.user}
63
+ {@render children(firekitUser.user, signOut)}
64
+ {/if}
@@ -0,0 +1,15 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { UserProfile } from '../types/auth.js';
3
+ type $$ComponentProps = {
4
+ /** Content shown when the auth requirement is satisfied. */
5
+ children: Snippet<[UserProfile, () => Promise<void>]>;
6
+ /** When true (default), requires a signed-in user. When false, requires no user. */
7
+ requireAuth?: boolean;
8
+ /** Called when the auth state does not meet the requirement. Use for navigation. */
9
+ onUnauthorized?: () => void;
10
+ /** Shown while auth state is being determined. */
11
+ fallback?: Snippet;
12
+ };
13
+ declare const AuthGuard: import("svelte").Component<$$ComponentProps, {}, "">;
14
+ type AuthGuard = ReturnType<typeof AuthGuard>;
15
+ export default AuthGuard;
@@ -0,0 +1,62 @@
1
+ <script lang="ts" generics="T extends Record<string, unknown> = Record<string, unknown>">
2
+ import type { Snippet } from 'svelte';
3
+ import type { QueryConstraint } from 'firebase/firestore';
4
+ import { FirekitCollection } from '../services/collection.svelte.js';
5
+
6
+ /**
7
+ * Renders a Firestore collection reactively.
8
+ *
9
+ * Provides three snippet slots: `data` (array of documents), `loading`, and `error`.
10
+ *
11
+ * @example
12
+ * ```svelte
13
+ * <Collection path="posts" {constraints}>
14
+ * {#snippet data(posts)}
15
+ * {#each posts as post}
16
+ * <p>{post.title}</p>
17
+ * {/each}
18
+ * {/snippet}
19
+ * {#snippet loading()}
20
+ * <p>Loading…</p>
21
+ * {/snippet}
22
+ * </Collection>
23
+ * ```
24
+ */
25
+ let {
26
+ path,
27
+ constraints = [],
28
+ realtime = true,
29
+ data: dataSnippet,
30
+ loading: loadingSnippet,
31
+ error: errorSnippet
32
+ }: {
33
+ /** Firestore collection path (e.g. "posts"). */
34
+ path: string;
35
+ /** Optional Firestore query constraints. */
36
+ constraints?: QueryConstraint[];
37
+ /** Subscribe to real-time updates. Default: true */
38
+ realtime?: boolean;
39
+ /** Rendered with the array of documents once loaded. */
40
+ data?: Snippet<[T[]]>;
41
+ /** Rendered while loading. */
42
+ loading?: Snippet;
43
+ /** Rendered when an error occurs. */
44
+ error?: Snippet<[import('../types/collection.js').CollectionError]>;
45
+ } = $props();
46
+
47
+ const col = new FirekitCollection<T>(path, constraints, { realtime });
48
+ </script>
49
+
50
+ {#if col.loading}
51
+ {#if loadingSnippet}
52
+ {@render loadingSnippet()}
53
+ {/if}
54
+ {:else if col.error}
55
+ {#if errorSnippet}
56
+ {@render errorSnippet(col.error)}
57
+ {/if}
58
+ {:else}
59
+ {#if dataSnippet}
60
+ {@render dataSnippet(col.data)}
61
+ {/if}
62
+ {/if}
@@ -0,0 +1,39 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { QueryConstraint } from 'firebase/firestore';
3
+ declare function $$render<T extends Record<string, unknown> = Record<string, unknown>>(): {
4
+ props: {
5
+ /** Firestore collection path (e.g. "posts"). */
6
+ path: string;
7
+ /** Optional Firestore query constraints. */
8
+ constraints?: QueryConstraint[];
9
+ /** Subscribe to real-time updates. Default: true */
10
+ realtime?: boolean;
11
+ /** Rendered with the array of documents once loaded. */
12
+ data?: Snippet<[T[]]>;
13
+ /** Rendered while loading. */
14
+ loading?: Snippet;
15
+ /** Rendered when an error occurs. */
16
+ error?: Snippet<[import("../types/collection.js").CollectionError]>;
17
+ };
18
+ exports: {};
19
+ bindings: "";
20
+ slots: {};
21
+ events: {};
22
+ };
23
+ declare class __sveltets_Render<T extends Record<string, unknown> = Record<string, unknown>> {
24
+ props(): ReturnType<typeof $$render<T>>['props'];
25
+ events(): ReturnType<typeof $$render<T>>['events'];
26
+ slots(): ReturnType<typeof $$render<T>>['slots'];
27
+ bindings(): "";
28
+ exports(): {};
29
+ }
30
+ interface $$IsomorphicComponent {
31
+ new <T extends Record<string, unknown> = Record<string, unknown>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
32
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
33
+ } & ReturnType<__sveltets_Render<T>['exports']>;
34
+ <T extends Record<string, unknown> = Record<string, unknown>>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
35
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
36
+ }
37
+ declare const Collection: $$IsomorphicComponent;
38
+ type Collection<T extends Record<string, unknown> = Record<string, unknown>> = InstanceType<typeof Collection<T>>;
39
+ export default Collection;
@@ -0,0 +1,87 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { UserProfile } from '../types/auth.js';
4
+ import { firekitUser } from '../services/user.svelte.js';
5
+ import { firekitAuth } from '../services/auth.js';
6
+
7
+ /**
8
+ * Extended route guard that runs async verification checks on top of auth.
9
+ * All checks must return `true` for `children` to render.
10
+ *
11
+ * @example
12
+ * <CustomGuard
13
+ * verificationChecks={[
14
+ * async (user) => user.emailVerified,
15
+ * async (user) => await hasRequiredRole(user.uid, 'admin')
16
+ * ]}
17
+ * onUnauthorized={() => goto('/403')}
18
+ * >
19
+ * {#snippet children(user, signOut)}
20
+ * <AdminPanel {user} {signOut} />
21
+ * {/snippet}
22
+ * </CustomGuard>
23
+ */
24
+ let {
25
+ children,
26
+ requireAuth = true,
27
+ onUnauthorized,
28
+ fallback,
29
+ verificationChecks = []
30
+ }: {
31
+ children: Snippet<[UserProfile, () => Promise<void>]>;
32
+ requireAuth?: boolean;
33
+ onUnauthorized?: () => void;
34
+ fallback?: Snippet;
35
+ /** Array of async checks — all must resolve to true for access to be granted. */
36
+ verificationChecks?: ((user: UserProfile) => boolean | Promise<boolean>)[];
37
+ } = $props();
38
+
39
+ let verificationPassed = $state(true);
40
+ let isVerifying = $state(false);
41
+
42
+ function signOut() {
43
+ return firekitAuth.signOut();
44
+ }
45
+
46
+ async function runChecks(user: UserProfile): Promise<boolean> {
47
+ if (verificationChecks.length === 0) return true;
48
+ try {
49
+ const results = await Promise.all(verificationChecks.map((fn) => fn(user)));
50
+ return results.every(Boolean);
51
+ } catch {
52
+ return false;
53
+ }
54
+ }
55
+
56
+ $effect(() => {
57
+ if (firekitUser.loading) return;
58
+
59
+ const isAuth = firekitUser.isAuthenticated;
60
+ const shouldBlock = requireAuth ? !isAuth : isAuth;
61
+
62
+ if (shouldBlock) {
63
+ onUnauthorized?.();
64
+ return;
65
+ }
66
+
67
+ if (isAuth && firekitUser.user && verificationChecks.length > 0) {
68
+ const user = firekitUser.user;
69
+ isVerifying = true;
70
+ runChecks(user).then((passed) => {
71
+ verificationPassed = passed;
72
+ isVerifying = false;
73
+ if (!passed) onUnauthorized?.();
74
+ });
75
+ } else {
76
+ verificationPassed = true;
77
+ }
78
+ });
79
+ </script>
80
+
81
+ {#if firekitUser.loading || isVerifying}
82
+ {#if fallback}
83
+ {@render fallback()}
84
+ {/if}
85
+ {:else if firekitUser.isAuthenticated === requireAuth && verificationPassed && firekitUser.user}
86
+ {@render children(firekitUser.user, signOut)}
87
+ {/if}
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { UserProfile } from '../types/auth.js';
3
+ type $$ComponentProps = {
4
+ children: Snippet<[UserProfile, () => Promise<void>]>;
5
+ requireAuth?: boolean;
6
+ onUnauthorized?: () => void;
7
+ fallback?: Snippet;
8
+ /** Array of async checks — all must resolve to true for access to be granted. */
9
+ verificationChecks?: ((user: UserProfile) => boolean | Promise<boolean>)[];
10
+ };
11
+ declare const CustomGuard: import("svelte").Component<$$ComponentProps, {}, "">;
12
+ type CustomGuard = ReturnType<typeof CustomGuard>;
13
+ export default CustomGuard;
@@ -0,0 +1,56 @@
1
+ <script lang="ts" generics="T extends Record<string, unknown> = Record<string, unknown>">
2
+ import type { Snippet } from 'svelte';
3
+ import { FirekitDoc } from '../services/document.svelte.js';
4
+
5
+ /**
6
+ * Renders a Firestore document reactively.
7
+ *
8
+ * Provides three snippet slots: `data` (document exists), `loading`, and `error`.
9
+ *
10
+ * @example
11
+ * ```svelte
12
+ * <Doc path="users/uid123" let:data={user}>
13
+ * {#snippet data(user)}
14
+ * <p>{user.name}</p>
15
+ * {/snippet}
16
+ * {#snippet loading()}
17
+ * <p>Loading…</p>
18
+ * {/snippet}
19
+ * </Doc>
20
+ * ```
21
+ */
22
+ let {
23
+ path,
24
+ realtime = true,
25
+ data: dataSnippet,
26
+ loading: loadingSnippet,
27
+ error: errorSnippet
28
+ }: {
29
+ /** Firestore document path (e.g. "users/uid123"). */
30
+ path: string;
31
+ /** Subscribe to real-time updates. Default: true */
32
+ realtime?: boolean;
33
+ /** Rendered when the document exists and is loaded. */
34
+ data?: Snippet<[T]>;
35
+ /** Rendered while loading. */
36
+ loading?: Snippet;
37
+ /** Rendered when an error occurs. */
38
+ error?: Snippet<[import('../types/document.js').DocumentError]>;
39
+ } = $props();
40
+
41
+ const doc = new FirekitDoc<T>(path, { realtime });
42
+ </script>
43
+
44
+ {#if doc.loading}
45
+ {#if loadingSnippet}
46
+ {@render loadingSnippet()}
47
+ {/if}
48
+ {:else if doc.error}
49
+ {#if errorSnippet}
50
+ {@render errorSnippet(doc.error)}
51
+ {/if}
52
+ {:else if doc.exists && doc.data}
53
+ {#if dataSnippet}
54
+ {@render dataSnippet(doc.data)}
55
+ {/if}
56
+ {/if}
@@ -0,0 +1,36 @@
1
+ import type { Snippet } from 'svelte';
2
+ declare function $$render<T extends Record<string, unknown> = Record<string, unknown>>(): {
3
+ props: {
4
+ /** Firestore document path (e.g. "users/uid123"). */
5
+ path: string;
6
+ /** Subscribe to real-time updates. Default: true */
7
+ realtime?: boolean;
8
+ /** Rendered when the document exists and is loaded. */
9
+ data?: Snippet<[T]>;
10
+ /** Rendered while loading. */
11
+ loading?: Snippet;
12
+ /** Rendered when an error occurs. */
13
+ error?: Snippet<[import("../types/document.js").DocumentError]>;
14
+ };
15
+ exports: {};
16
+ bindings: "";
17
+ slots: {};
18
+ events: {};
19
+ };
20
+ declare class __sveltets_Render<T extends Record<string, unknown> = Record<string, unknown>> {
21
+ props(): ReturnType<typeof $$render<T>>['props'];
22
+ events(): ReturnType<typeof $$render<T>>['events'];
23
+ slots(): ReturnType<typeof $$render<T>>['slots'];
24
+ bindings(): "";
25
+ exports(): {};
26
+ }
27
+ interface $$IsomorphicComponent {
28
+ new <T extends Record<string, unknown> = Record<string, unknown>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
29
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
30
+ } & ReturnType<__sveltets_Render<T>['exports']>;
31
+ <T extends Record<string, unknown> = Record<string, unknown>>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
32
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
33
+ }
34
+ declare const Doc: $$IsomorphicComponent;
35
+ type Doc<T extends Record<string, unknown> = Record<string, unknown>> = InstanceType<typeof Doc<T>>;
36
+ export default Doc;
@@ -0,0 +1,48 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import { FirekitDownloadUrl } from '../services/storage.svelte.js';
4
+
5
+ /**
6
+ * Fetches and renders a Firebase Storage download URL.
7
+ *
8
+ * @example
9
+ * ```svelte
10
+ * <DownloadURL path="images/avatar.jpg">
11
+ * {#snippet data(url)}
12
+ * <img src={url} alt="avatar" />
13
+ * {/snippet}
14
+ * </DownloadURL>
15
+ * ```
16
+ */
17
+ let {
18
+ path,
19
+ data: dataSnippet,
20
+ loading: loadingSnippet,
21
+ error: errorSnippet
22
+ }: {
23
+ /** Firebase Storage path (e.g. "images/avatar.jpg"). */
24
+ path: string;
25
+ /** Rendered with the resolved download URL. */
26
+ data?: Snippet<[string]>;
27
+ /** Rendered while fetching. */
28
+ loading?: Snippet;
29
+ /** Rendered on error. */
30
+ error?: Snippet<[Error]>;
31
+ } = $props();
32
+
33
+ const dl = new FirekitDownloadUrl(path);
34
+ </script>
35
+
36
+ {#if dl.loading}
37
+ {#if loadingSnippet}
38
+ {@render loadingSnippet()}
39
+ {/if}
40
+ {:else if dl.error}
41
+ {#if errorSnippet}
42
+ {@render errorSnippet(dl.error)}
43
+ {/if}
44
+ {:else if dl.url}
45
+ {#if dataSnippet}
46
+ {@render dataSnippet(dl.url)}
47
+ {/if}
48
+ {/if}
@@ -0,0 +1,14 @@
1
+ import type { Snippet } from 'svelte';
2
+ type $$ComponentProps = {
3
+ /** Firebase Storage path (e.g. "images/avatar.jpg"). */
4
+ path: string;
5
+ /** Rendered with the resolved download URL. */
6
+ data?: Snippet<[string]>;
7
+ /** Rendered while fetching. */
8
+ loading?: Snippet;
9
+ /** Rendered on error. */
10
+ error?: Snippet<[Error]>;
11
+ };
12
+ declare const DownloadURL: import("svelte").Component<$$ComponentProps, {}, "">;
13
+ type DownloadURL = ReturnType<typeof DownloadURL>;
14
+ export default DownloadURL;
@@ -0,0 +1,81 @@
1
+ <script lang="ts">
2
+ import { setContext } from 'svelte';
3
+ import type { Snippet } from 'svelte';
4
+ import type { FirebaseOptions } from 'firebase/app';
5
+ import type { AppCheckOptions } from 'firebase/app-check';
6
+ import { initFirekit, isFirekitConfigured } from '../config.js';
7
+ import { firebaseService } from '../firebase.js';
8
+ import { firekitAppCheck } from '../services/app-check.svelte.js';
9
+ import { firekitAnalytics } from '../services/analytics.js';
10
+ import { firekitMessaging } from '../services/messaging.svelte.js';
11
+
12
+ /**
13
+ * Root provider component. Initializes Firebase (and optionally App Check) and
14
+ * makes all service instances available via Svelte context.
15
+ *
16
+ * `config` is optional if you called `initFirekit()` programmatically first.
17
+ * `appCheckOptions` should be provided if you want App Check to secure all requests.
18
+ * App Check is initialized **before** any other Firebase service call to ensure
19
+ * all subsequent requests are attested.
20
+ *
21
+ * @example
22
+ * <FirebaseApp config={{ apiKey: '...', ... }}>
23
+ * <App />
24
+ * </FirebaseApp>
25
+ *
26
+ * @example With App Check (reCAPTCHA Enterprise)
27
+ * ```svelte
28
+ * <script>
29
+ * import { ReCaptchaEnterpriseProvider } from 'svelte-firekit';
30
+ * <\/script>
31
+ * <FirebaseApp
32
+ * {config}
33
+ * appCheckOptions={{ provider: new ReCaptchaEnterpriseProvider('SITE_KEY'), isTokenAutoRefreshEnabled: true }}
34
+ * >
35
+ * {@render children()}
36
+ * </FirebaseApp>
37
+ * ```
38
+ */
39
+ let {
40
+ children,
41
+ config,
42
+ appCheckOptions
43
+ }: {
44
+ children: Snippet;
45
+ config?: FirebaseOptions;
46
+ /** Pass to enable App Check. Initialize before any other Firebase service. */
47
+ appCheckOptions?: AppCheckOptions;
48
+ } = $props();
49
+
50
+ const isBrowser = typeof window !== 'undefined';
51
+
52
+ if (config && !isFirekitConfigured()) {
53
+ initFirekit(config);
54
+ }
55
+
56
+ if (isBrowser) {
57
+ // App Check must be initialized BEFORE other services make network calls
58
+ if (appCheckOptions && !firekitAppCheck.initialized) {
59
+ firekitAppCheck.initialize(appCheckOptions);
60
+ }
61
+
62
+ const app = firebaseService.getFirebaseApp();
63
+ const auth = firebaseService.getAuthInstance();
64
+ const firestore = firebaseService.getDbInstance();
65
+ const storage = firebaseService.getStorageInstance();
66
+ const rtdb = firebaseService.getDatabaseInstance();
67
+ const functions = firebaseService.getFunctionsInstance();
68
+
69
+ setContext('firebase/app', app);
70
+ setContext('firebase/auth', auth);
71
+ setContext('firebase/firestore', firestore);
72
+ setContext('firebase/storage', storage);
73
+ setContext('firebase/rtdb', rtdb);
74
+ setContext('firebase/functions', functions);
75
+ setContext('firebase/app-check', firekitAppCheck.initialized ? firebaseService.appCheck : null);
76
+ setContext('firebase/analytics', firekitAnalytics);
77
+ setContext('firebase/messaging', firekitMessaging);
78
+ }
79
+ </script>
80
+
81
+ {@render children()}
@@ -0,0 +1,12 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { FirebaseOptions } from 'firebase/app';
3
+ import type { AppCheckOptions } from 'firebase/app-check';
4
+ type $$ComponentProps = {
5
+ children: Snippet;
6
+ config?: FirebaseOptions;
7
+ /** Pass to enable App Check. Initialize before any other Firebase service. */
8
+ appCheckOptions?: AppCheckOptions;
9
+ };
10
+ declare const FirebaseApp: import("svelte").Component<$$ComponentProps, {}, "">;
11
+ type FirebaseApp = ReturnType<typeof FirebaseApp>;
12
+ export default FirebaseApp;
@@ -0,0 +1,54 @@
1
+ <script lang="ts" generics="T = unknown">
2
+ import type { Snippet } from 'svelte';
3
+ import { FirekitNode } from '../services/realtime.svelte.js';
4
+
5
+ /**
6
+ * Renders a Firebase Realtime Database node reactively.
7
+ *
8
+ * @example
9
+ * ```svelte
10
+ * <Node path="rooms/123">
11
+ * {#snippet data(room)}
12
+ * <p>{room.name}</p>
13
+ * {/snippet}
14
+ * {#snippet loading()}
15
+ * <p>Loading…</p>
16
+ * {/snippet}
17
+ * </Node>
18
+ * ```
19
+ */
20
+ let {
21
+ path,
22
+ startWith,
23
+ data: dataSnippet,
24
+ loading: loadingSnippet,
25
+ error: errorSnippet
26
+ }: {
27
+ /** RTDB path (e.g. "rooms/123"). */
28
+ path: string;
29
+ /** Optional initial value shown before the subscription fires. */
30
+ startWith?: T;
31
+ /** Rendered once data is available. */
32
+ data?: Snippet<[T]>;
33
+ /** Rendered while loading. */
34
+ loading?: Snippet;
35
+ /** Rendered on error. */
36
+ error?: Snippet<[Error]>;
37
+ } = $props();
38
+
39
+ const node = new FirekitNode<T>(path, startWith);
40
+ </script>
41
+
42
+ {#if node.loading}
43
+ {#if loadingSnippet}
44
+ {@render loadingSnippet()}
45
+ {/if}
46
+ {:else if node.error}
47
+ {#if errorSnippet}
48
+ {@render errorSnippet(node.error)}
49
+ {/if}
50
+ {:else if node.data !== null}
51
+ {#if dataSnippet}
52
+ {@render dataSnippet(node.data)}
53
+ {/if}
54
+ {/if}
@@ -0,0 +1,36 @@
1
+ import type { Snippet } from 'svelte';
2
+ declare function $$render<T = unknown>(): {
3
+ props: {
4
+ /** RTDB path (e.g. "rooms/123"). */
5
+ path: string;
6
+ /** Optional initial value shown before the subscription fires. */
7
+ startWith?: T;
8
+ /** Rendered once data is available. */
9
+ data?: Snippet<[T]>;
10
+ /** Rendered while loading. */
11
+ loading?: Snippet;
12
+ /** Rendered on error. */
13
+ error?: Snippet<[Error]>;
14
+ };
15
+ exports: {};
16
+ bindings: "";
17
+ slots: {};
18
+ events: {};
19
+ };
20
+ declare class __sveltets_Render<T = unknown> {
21
+ props(): ReturnType<typeof $$render<T>>['props'];
22
+ events(): ReturnType<typeof $$render<T>>['events'];
23
+ slots(): ReturnType<typeof $$render<T>>['slots'];
24
+ bindings(): "";
25
+ exports(): {};
26
+ }
27
+ interface $$IsomorphicComponent {
28
+ new <T = unknown>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
29
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
30
+ } & ReturnType<__sveltets_Render<T>['exports']>;
31
+ <T = unknown>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
32
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
33
+ }
34
+ declare const Node: $$IsomorphicComponent;
35
+ type Node<T = unknown> = InstanceType<typeof Node<T>>;
36
+ export default Node;
@@ -0,0 +1,22 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { UserProfile } from '../types/auth.js';
4
+ import { firekitUser } from '../services/user.svelte.js';
5
+
6
+ /**
7
+ * Renders `children` only when a non-anonymous user is signed in.
8
+ * Uses runes — no subscription needed.
9
+ *
10
+ * @example
11
+ * <SignedIn>
12
+ * {#snippet children(user)}
13
+ * <p>Hello {user.displayName}</p>
14
+ * {/snippet}
15
+ * </SignedIn>
16
+ */
17
+ let { children }: { children: Snippet<[UserProfile]> } = $props();
18
+ </script>
19
+
20
+ {#if firekitUser.isAuthenticated && firekitUser.user}
21
+ {@render children(firekitUser.user)}
22
+ {/if}
@@ -1,9 +1,6 @@
1
- import type { UserProfile } from '../../types/auth.js';
2
1
  import type { Snippet } from 'svelte';
2
+ import type { UserProfile } from '../types/auth.js';
3
3
  type $$ComponentProps = {
4
- /**
5
- * Children content to render when user is signed in
6
- */
7
4
  children: Snippet<[UserProfile]>;
8
5
  };
9
6
  declare const SignedIn: import("svelte").Component<$$ComponentProps, {}, "">;