svelte-firekit 0.1.8 → 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 -708
  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
@@ -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, {}, "">;