svelte-firekit 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/README.md +550 -354
  2. package/dist/components/AuthGuard.svelte +64 -0
  3. package/dist/components/AuthGuard.svelte.d.ts +15 -0
  4. package/dist/components/Collection.svelte +62 -0
  5. package/dist/components/Collection.svelte.d.ts +39 -0
  6. package/dist/components/CustomGuard.svelte +87 -0
  7. package/dist/components/CustomGuard.svelte.d.ts +13 -0
  8. package/dist/components/Doc.svelte +56 -0
  9. package/dist/components/Doc.svelte.d.ts +36 -0
  10. package/dist/components/DownloadURL.svelte +48 -0
  11. package/dist/components/DownloadURL.svelte.d.ts +14 -0
  12. package/dist/components/FirebaseApp.svelte +81 -0
  13. package/dist/components/FirebaseApp.svelte.d.ts +12 -0
  14. package/dist/components/Node.svelte +54 -0
  15. package/dist/components/Node.svelte.d.ts +36 -0
  16. package/dist/components/SignedIn.svelte +22 -0
  17. package/dist/components/{firekit/signed-in.svelte.d.ts → SignedIn.svelte.d.ts} +1 -4
  18. package/dist/components/SignedOut.svelte +32 -0
  19. package/dist/components/{firekit/signed-out.svelte.d.ts → SignedOut.svelte.d.ts} +3 -5
  20. package/dist/components/UploadTask.svelte +75 -0
  21. package/dist/components/UploadTask.svelte.d.ts +33 -0
  22. package/dist/config.d.ts +29 -6
  23. package/dist/config.js +37 -74
  24. package/dist/context.d.ts +46 -0
  25. package/dist/context.js +56 -0
  26. package/dist/firebase.d.ts +25 -84
  27. package/dist/firebase.js +75 -125
  28. package/dist/index.d.ts +32 -20
  29. package/dist/index.js +49 -30
  30. package/dist/services/ai.svelte.d.ts +152 -0
  31. package/dist/services/ai.svelte.js +302 -0
  32. package/dist/services/analytics.d.ts +39 -231
  33. package/dist/services/analytics.js +89 -421
  34. package/dist/services/app-check.svelte.d.ts +82 -0
  35. package/dist/services/app-check.svelte.js +159 -0
  36. package/dist/services/auth.d.ts +63 -352
  37. package/dist/services/auth.js +353 -718
  38. package/dist/services/bundles.d.ts +42 -0
  39. package/dist/services/bundles.js +57 -0
  40. package/dist/services/callable.d.ts +57 -0
  41. package/dist/services/callable.js +115 -0
  42. package/dist/services/collection.svelte.d.ts +154 -221
  43. package/dist/services/collection.svelte.js +357 -663
  44. package/dist/services/document.svelte.d.ts +73 -254
  45. package/dist/services/document.svelte.js +196 -497
  46. package/dist/services/in-app-messaging.d.ts +46 -0
  47. package/dist/services/in-app-messaging.js +88 -0
  48. package/dist/services/messaging.svelte.d.ts +75 -0
  49. package/dist/services/messaging.svelte.js +190 -0
  50. package/dist/services/mutations.d.ts +59 -282
  51. package/dist/services/mutations.js +202 -951
  52. package/dist/services/performance.d.ts +60 -0
  53. package/dist/services/performance.js +118 -0
  54. package/dist/services/presence.svelte.d.ts +21 -89
  55. package/dist/services/presence.svelte.js +232 -469
  56. package/dist/services/realtime.svelte.d.ts +54 -125
  57. package/dist/services/realtime.svelte.js +111 -175
  58. package/dist/services/remote-config.svelte.d.ts +73 -0
  59. package/dist/services/remote-config.svelte.js +204 -0
  60. package/dist/services/storage.svelte.d.ts +81 -208
  61. package/dist/services/storage.svelte.js +190 -305
  62. package/dist/services/user.svelte.d.ts +23 -244
  63. package/dist/services/user.svelte.js +129 -439
  64. package/dist/types/analytics.d.ts +2 -36
  65. package/dist/types/analytics.js +0 -5
  66. package/dist/types/auth.d.ts +15 -85
  67. package/dist/types/auth.js +0 -17
  68. package/dist/types/collection.d.ts +31 -225
  69. package/dist/types/collection.js +5 -51
  70. package/dist/types/document.d.ts +11 -236
  71. package/dist/types/document.js +2 -47
  72. package/dist/types/firebase.d.ts +10 -13
  73. package/dist/types/firebase.js +3 -9
  74. package/dist/types/index.d.ts +5 -5
  75. package/dist/types/index.js +5 -4
  76. package/dist/types/mutations.d.ts +11 -225
  77. package/dist/types/mutations.js +6 -51
  78. package/dist/types/presence.d.ts +5 -158
  79. package/dist/types/presence.js +0 -20
  80. package/dist/utils/errors.d.ts +10 -14
  81. package/dist/utils/errors.js +11 -16
  82. package/dist/utils/firestore.d.ts +3 -4
  83. package/dist/utils/firestore.js +7 -10
  84. package/dist/utils/index.d.ts +4 -4
  85. package/dist/utils/index.js +4 -8
  86. package/dist/utils/providers.d.ts +4 -13
  87. package/dist/utils/providers.js +14 -13
  88. package/dist/utils/user.d.ts +1 -3
  89. package/dist/utils/user.js +1 -3
  90. package/package.json +41 -55
  91. package/dist/components/docs/doc-content.svelte +0 -19
  92. package/dist/components/docs/doc-content.svelte.d.ts +0 -6
  93. package/dist/components/docs/doc-header.svelte +0 -24
  94. package/dist/components/docs/doc-header.svelte.d.ts +0 -13
  95. package/dist/components/docs/doc-renderer.svelte +0 -27
  96. package/dist/components/docs/doc-renderer.svelte.d.ts +0 -8
  97. package/dist/components/docs/mobile-table-of-contents.svelte +0 -42
  98. package/dist/components/docs/mobile-table-of-contents.svelte.d.ts +0 -3
  99. package/dist/components/docs/table-of-contents.svelte +0 -33
  100. package/dist/components/docs/table-of-contents.svelte.d.ts +0 -4
  101. package/dist/components/docs/toc.svelte.d.ts +0 -16
  102. package/dist/components/docs/toc.svelte.js +0 -59
  103. package/dist/components/firekit/Collection.svelte +0 -122
  104. package/dist/components/firekit/Collection.svelte.d.ts +0 -27
  105. package/dist/components/firekit/Doc.svelte +0 -140
  106. package/dist/components/firekit/Doc.svelte.d.ts +0 -28
  107. package/dist/components/firekit/Node.svelte +0 -97
  108. package/dist/components/firekit/Node.svelte.d.ts +0 -23
  109. package/dist/components/firekit/auth-guard.svelte +0 -120
  110. package/dist/components/firekit/auth-guard.svelte.d.ts +0 -26
  111. package/dist/components/firekit/custom-guard.svelte +0 -163
  112. package/dist/components/firekit/custom-guard.svelte.d.ts +0 -31
  113. package/dist/components/firekit/download-url.svelte +0 -92
  114. package/dist/components/firekit/download-url.svelte.d.ts +0 -19
  115. package/dist/components/firekit/firebase-app.svelte +0 -33
  116. package/dist/components/firekit/firebase-app.svelte.d.ts +0 -7
  117. package/dist/components/firekit/node-list.svelte +0 -102
  118. package/dist/components/firekit/node-list.svelte.d.ts +0 -27
  119. package/dist/components/firekit/signed-in.svelte +0 -42
  120. package/dist/components/firekit/signed-out.svelte +0 -42
  121. package/dist/components/firekit/storage-list.svelte +0 -97
  122. package/dist/components/firekit/storage-list.svelte.d.ts +0 -26
  123. package/dist/components/firekit/upload-task.svelte +0 -108
  124. package/dist/components/firekit/upload-task.svelte.d.ts +0 -24
  125. package/dist/components/nav/app-sidebar.svelte +0 -175
  126. package/dist/components/nav/app-sidebar.svelte.d.ts +0 -9
  127. package/dist/components/nav/auto-breadcrumb.svelte +0 -41
  128. package/dist/components/nav/auto-breadcrumb.svelte.d.ts +0 -3
  129. package/dist/components/nav/dark-mode-toggle.svelte +0 -17
  130. package/dist/components/nav/dark-mode-toggle.svelte.d.ts +0 -18
  131. package/dist/components/nav/nav-components.svelte +0 -24
  132. package/dist/components/nav/nav-components.svelte.d.ts +0 -11
  133. package/dist/components/nav/nav-main.svelte +0 -45
  134. package/dist/components/nav/nav-main.svelte.d.ts +0 -11
  135. package/dist/components/nav/nav-secondary.svelte +0 -32
  136. package/dist/components/nav/nav-secondary.svelte.d.ts +0 -14
  137. package/dist/components/nav/site-header.svelte +0 -32
  138. package/dist/components/nav/site-header.svelte.d.ts +0 -18
  139. package/dist/components/ui/avatar/avatar-fallback.svelte +0 -17
  140. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +0 -4
  141. package/dist/components/ui/avatar/avatar-image.svelte +0 -17
  142. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +0 -4
  143. package/dist/components/ui/avatar/avatar.svelte +0 -19
  144. package/dist/components/ui/avatar/avatar.svelte.d.ts +0 -4
  145. package/dist/components/ui/avatar/index.d.ts +0 -4
  146. package/dist/components/ui/avatar/index.js +0 -6
  147. package/dist/components/ui/badge/badge.svelte +0 -50
  148. package/dist/components/ui/badge/badge.svelte.d.ts +0 -32
  149. package/dist/components/ui/badge/index.d.ts +0 -2
  150. package/dist/components/ui/badge/index.js +0 -2
  151. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +0 -23
  152. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +0 -5
  153. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +0 -20
  154. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +0 -5
  155. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +0 -31
  156. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +0 -11
  157. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +0 -23
  158. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +0 -5
  159. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +0 -23
  160. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +0 -5
  161. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +0 -27
  162. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +0 -5
  163. package/dist/components/ui/breadcrumb/breadcrumb.svelte +0 -21
  164. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +0 -5
  165. package/dist/components/ui/breadcrumb/index.d.ts +0 -8
  166. package/dist/components/ui/breadcrumb/index.js +0 -10
  167. package/dist/components/ui/button/button.svelte +0 -80
  168. package/dist/components/ui/button/button.svelte.d.ts +0 -58
  169. package/dist/components/ui/button/index.d.ts +0 -2
  170. package/dist/components/ui/button/index.js +0 -4
  171. package/dist/components/ui/card/card-action.svelte +0 -20
  172. package/dist/components/ui/card/card-action.svelte.d.ts +0 -5
  173. package/dist/components/ui/card/card-content.svelte +0 -15
  174. package/dist/components/ui/card/card-content.svelte.d.ts +0 -5
  175. package/dist/components/ui/card/card-description.svelte +0 -20
  176. package/dist/components/ui/card/card-description.svelte.d.ts +0 -5
  177. package/dist/components/ui/card/card-footer.svelte +0 -20
  178. package/dist/components/ui/card/card-footer.svelte.d.ts +0 -5
  179. package/dist/components/ui/card/card-header.svelte +0 -23
  180. package/dist/components/ui/card/card-header.svelte.d.ts +0 -5
  181. package/dist/components/ui/card/card-title.svelte +0 -20
  182. package/dist/components/ui/card/card-title.svelte.d.ts +0 -5
  183. package/dist/components/ui/card/card.svelte +0 -23
  184. package/dist/components/ui/card/card.svelte.d.ts +0 -5
  185. package/dist/components/ui/card/index.d.ts +0 -8
  186. package/dist/components/ui/card/index.js +0 -10
  187. package/dist/components/ui/chart/chart-container.svelte +0 -80
  188. package/dist/components/ui/chart/chart-container.svelte.d.ts +0 -9
  189. package/dist/components/ui/chart/chart-style.svelte +0 -36
  190. package/dist/components/ui/chart/chart-style.svelte.d.ts +0 -8
  191. package/dist/components/ui/chart/chart-tooltip.svelte +0 -159
  192. package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +0 -27
  193. package/dist/components/ui/chart/chart-utils.d.ts +0 -36
  194. package/dist/components/ui/chart/chart-utils.js +0 -33
  195. package/dist/components/ui/chart/index.d.ts +0 -4
  196. package/dist/components/ui/chart/index.js +0 -4
  197. package/dist/components/ui/checkbox/checkbox.svelte +0 -36
  198. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +0 -4
  199. package/dist/components/ui/checkbox/index.d.ts +0 -2
  200. package/dist/components/ui/checkbox/index.js +0 -4
  201. package/dist/components/ui/data-table/data-table.svelte.d.ts +0 -40
  202. package/dist/components/ui/data-table/data-table.svelte.js +0 -110
  203. package/dist/components/ui/data-table/flex-render.svelte +0 -36
  204. package/dist/components/ui/data-table/flex-render.svelte.d.ts +0 -30
  205. package/dist/components/ui/data-table/index.d.ts +0 -3
  206. package/dist/components/ui/data-table/index.js +0 -3
  207. package/dist/components/ui/data-table/render-helpers.d.ts +0 -90
  208. package/dist/components/ui/data-table/render-helpers.js +0 -99
  209. package/dist/components/ui/dialog/dialog-close.svelte +0 -7
  210. package/dist/components/ui/dialog/dialog-close.svelte.d.ts +0 -4
  211. package/dist/components/ui/dialog/dialog-content.svelte +0 -43
  212. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -11
  213. package/dist/components/ui/dialog/dialog-description.svelte +0 -17
  214. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -4
  215. package/dist/components/ui/dialog/dialog-footer.svelte +0 -20
  216. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -5
  217. package/dist/components/ui/dialog/dialog-header.svelte +0 -20
  218. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -5
  219. package/dist/components/ui/dialog/dialog-overlay.svelte +0 -20
  220. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -4
  221. package/dist/components/ui/dialog/dialog-title.svelte +0 -17
  222. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -4
  223. package/dist/components/ui/dialog/dialog-trigger.svelte +0 -7
  224. package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +0 -4
  225. package/dist/components/ui/dialog/index.d.ts +0 -11
  226. package/dist/components/ui/dialog/index.js +0 -14
  227. package/dist/components/ui/drawer/drawer-close.svelte +0 -7
  228. package/dist/components/ui/drawer/drawer-close.svelte.d.ts +0 -4
  229. package/dist/components/ui/drawer/drawer-content.svelte +0 -37
  230. package/dist/components/ui/drawer/drawer-content.svelte.d.ts +0 -7
  231. package/dist/components/ui/drawer/drawer-description.svelte +0 -17
  232. package/dist/components/ui/drawer/drawer-description.svelte.d.ts +0 -4
  233. package/dist/components/ui/drawer/drawer-footer.svelte +0 -20
  234. package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +0 -5
  235. package/dist/components/ui/drawer/drawer-header.svelte +0 -20
  236. package/dist/components/ui/drawer/drawer-header.svelte.d.ts +0 -5
  237. package/dist/components/ui/drawer/drawer-nested.svelte +0 -12
  238. package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +0 -3
  239. package/dist/components/ui/drawer/drawer-overlay.svelte +0 -20
  240. package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +0 -4
  241. package/dist/components/ui/drawer/drawer-title.svelte +0 -17
  242. package/dist/components/ui/drawer/drawer-title.svelte.d.ts +0 -4
  243. package/dist/components/ui/drawer/drawer-trigger.svelte +0 -7
  244. package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +0 -4
  245. package/dist/components/ui/drawer/drawer.svelte +0 -12
  246. package/dist/components/ui/drawer/drawer.svelte.d.ts +0 -3
  247. package/dist/components/ui/drawer/index.d.ts +0 -13
  248. package/dist/components/ui/drawer/index.js +0 -15
  249. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +0 -41
  250. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +0 -9
  251. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +0 -27
  252. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +0 -7
  253. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +0 -22
  254. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +0 -8
  255. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +0 -7
  256. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +0 -4
  257. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +0 -27
  258. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +0 -8
  259. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +0 -24
  260. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +0 -8
  261. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +0 -16
  262. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +0 -4
  263. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +0 -31
  264. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +0 -4
  265. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +0 -17
  266. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +0 -4
  267. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +0 -20
  268. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +0 -5
  269. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +0 -20
  270. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +0 -4
  271. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +0 -29
  272. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +0 -7
  273. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +0 -7
  274. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +0 -4
  275. package/dist/components/ui/dropdown-menu/index.d.ts +0 -25
  276. package/dist/components/ui/dropdown-menu/index.js +0 -17
  277. package/dist/components/ui/input/index.d.ts +0 -2
  278. package/dist/components/ui/input/index.js +0 -4
  279. package/dist/components/ui/input/input.svelte +0 -51
  280. package/dist/components/ui/input/input.svelte.d.ts +0 -13
  281. package/dist/components/ui/label/index.d.ts +0 -2
  282. package/dist/components/ui/label/index.js +0 -4
  283. package/dist/components/ui/label/label.svelte +0 -20
  284. package/dist/components/ui/label/label.svelte.d.ts +0 -4
  285. package/dist/components/ui/scroll-area/index.d.ts +0 -3
  286. package/dist/components/ui/scroll-area/index.js +0 -5
  287. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +0 -31
  288. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +0 -4
  289. package/dist/components/ui/scroll-area/scroll-area.svelte +0 -40
  290. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +0 -10
  291. package/dist/components/ui/select/index.d.ts +0 -11
  292. package/dist/components/ui/select/index.js +0 -14
  293. package/dist/components/ui/select/select-content.svelte +0 -40
  294. package/dist/components/ui/select/select-content.svelte.d.ts +0 -8
  295. package/dist/components/ui/select/select-group-heading.svelte +0 -21
  296. package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -10
  297. package/dist/components/ui/select/select-group.svelte +0 -7
  298. package/dist/components/ui/select/select-group.svelte.d.ts +0 -4
  299. package/dist/components/ui/select/select-item.svelte +0 -38
  300. package/dist/components/ui/select/select-item.svelte.d.ts +0 -4
  301. package/dist/components/ui/select/select-label.svelte +0 -20
  302. package/dist/components/ui/select/select-label.svelte.d.ts +0 -6
  303. package/dist/components/ui/select/select-scroll-down-button.svelte +0 -20
  304. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -4
  305. package/dist/components/ui/select/select-scroll-up-button.svelte +0 -20
  306. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -4
  307. package/dist/components/ui/select/select-separator.svelte +0 -18
  308. package/dist/components/ui/select/select-separator.svelte.d.ts +0 -4
  309. package/dist/components/ui/select/select-trigger.svelte +0 -29
  310. package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -8
  311. package/dist/components/ui/separator/index.d.ts +0 -2
  312. package/dist/components/ui/separator/index.js +0 -4
  313. package/dist/components/ui/separator/separator.svelte +0 -20
  314. package/dist/components/ui/separator/separator.svelte.d.ts +0 -4
  315. package/dist/components/ui/sheet/index.d.ts +0 -11
  316. package/dist/components/ui/sheet/index.js +0 -14
  317. package/dist/components/ui/sheet/sheet-close.svelte +0 -7
  318. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +0 -4
  319. package/dist/components/ui/sheet/sheet-content.svelte +0 -58
  320. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -35
  321. package/dist/components/ui/sheet/sheet-description.svelte +0 -17
  322. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -4
  323. package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
  324. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -5
  325. package/dist/components/ui/sheet/sheet-header.svelte +0 -20
  326. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -5
  327. package/dist/components/ui/sheet/sheet-overlay.svelte +0 -20
  328. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -4
  329. package/dist/components/ui/sheet/sheet-title.svelte +0 -17
  330. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -4
  331. package/dist/components/ui/sheet/sheet-trigger.svelte +0 -7
  332. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +0 -4
  333. package/dist/components/ui/sidebar/constants.d.ts +0 -6
  334. package/dist/components/ui/sidebar/constants.js +0 -6
  335. package/dist/components/ui/sidebar/context.svelte.d.ts +0 -42
  336. package/dist/components/ui/sidebar/context.svelte.js +0 -54
  337. package/dist/components/ui/sidebar/index.d.ts +0 -25
  338. package/dist/components/ui/sidebar/index.js +0 -27
  339. package/dist/components/ui/sidebar/sidebar-content.svelte +0 -24
  340. package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +0 -5
  341. package/dist/components/ui/sidebar/sidebar-footer.svelte +0 -21
  342. package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +0 -5
  343. package/dist/components/ui/sidebar/sidebar-group-action.svelte +0 -36
  344. package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +0 -11
  345. package/dist/components/ui/sidebar/sidebar-group-content.svelte +0 -21
  346. package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +0 -5
  347. package/dist/components/ui/sidebar/sidebar-group-label.svelte +0 -34
  348. package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +0 -11
  349. package/dist/components/ui/sidebar/sidebar-group.svelte +0 -21
  350. package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +0 -5
  351. package/dist/components/ui/sidebar/sidebar-header.svelte +0 -21
  352. package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +0 -5
  353. package/dist/components/ui/sidebar/sidebar-input.svelte +0 -21
  354. package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +0 -11
  355. package/dist/components/ui/sidebar/sidebar-inset.svelte +0 -24
  356. package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +0 -5
  357. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +0 -43
  358. package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +0 -12
  359. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +0 -29
  360. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +0 -5
  361. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +0 -103
  362. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +0 -51
  363. package/dist/components/ui/sidebar/sidebar-menu-item.svelte +0 -21
  364. package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +0 -5
  365. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +0 -36
  366. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +0 -8
  367. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +0 -43
  368. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +0 -13
  369. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +0 -21
  370. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +0 -5
  371. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +0 -25
  372. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +0 -5
  373. package/dist/components/ui/sidebar/sidebar-menu.svelte +0 -21
  374. package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +0 -5
  375. package/dist/components/ui/sidebar/sidebar-provider.svelte +0 -53
  376. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +0 -9
  377. package/dist/components/ui/sidebar/sidebar-rail.svelte +0 -36
  378. package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +0 -5
  379. package/dist/components/ui/sidebar/sidebar-separator.svelte +0 -19
  380. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +0 -13
  381. package/dist/components/ui/sidebar/sidebar-trigger.svelte +0 -35
  382. package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +0 -8
  383. package/dist/components/ui/sidebar/sidebar.svelte +0 -104
  384. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +0 -10
  385. package/dist/components/ui/skeleton/index.d.ts +0 -2
  386. package/dist/components/ui/skeleton/index.js +0 -4
  387. package/dist/components/ui/skeleton/skeleton.svelte +0 -17
  388. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +0 -5
  389. package/dist/components/ui/table/index.d.ts +0 -9
  390. package/dist/components/ui/table/index.js +0 -11
  391. package/dist/components/ui/table/table-body.svelte +0 -20
  392. package/dist/components/ui/table/table-body.svelte.d.ts +0 -5
  393. package/dist/components/ui/table/table-caption.svelte +0 -20
  394. package/dist/components/ui/table/table-caption.svelte.d.ts +0 -5
  395. package/dist/components/ui/table/table-cell.svelte +0 -20
  396. package/dist/components/ui/table/table-cell.svelte.d.ts +0 -5
  397. package/dist/components/ui/table/table-footer.svelte +0 -20
  398. package/dist/components/ui/table/table-footer.svelte.d.ts +0 -5
  399. package/dist/components/ui/table/table-head.svelte +0 -23
  400. package/dist/components/ui/table/table-head.svelte.d.ts +0 -5
  401. package/dist/components/ui/table/table-header.svelte +0 -20
  402. package/dist/components/ui/table/table-header.svelte.d.ts +0 -5
  403. package/dist/components/ui/table/table-row.svelte +0 -23
  404. package/dist/components/ui/table/table-row.svelte.d.ts +0 -5
  405. package/dist/components/ui/table/table.svelte +0 -22
  406. package/dist/components/ui/table/table.svelte.d.ts +0 -5
  407. package/dist/components/ui/tabs/index.d.ts +0 -5
  408. package/dist/components/ui/tabs/index.js +0 -7
  409. package/dist/components/ui/tabs/tabs-content.svelte +0 -17
  410. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +0 -4
  411. package/dist/components/ui/tabs/tabs-list.svelte +0 -20
  412. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +0 -4
  413. package/dist/components/ui/tabs/tabs-trigger.svelte +0 -20
  414. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +0 -4
  415. package/dist/components/ui/tabs/tabs.svelte +0 -19
  416. package/dist/components/ui/tabs/tabs.svelte.d.ts +0 -4
  417. package/dist/components/ui/toggle/index.d.ts +0 -3
  418. package/dist/components/ui/toggle/index.js +0 -5
  419. package/dist/components/ui/toggle/toggle.svelte +0 -52
  420. package/dist/components/ui/toggle/toggle.svelte.d.ts +0 -43
  421. package/dist/components/ui/toggle-group/index.d.ts +0 -3
  422. package/dist/components/ui/toggle-group/index.js +0 -5
  423. package/dist/components/ui/toggle-group/toggle-group-item.svelte +0 -34
  424. package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +0 -6
  425. package/dist/components/ui/toggle-group/toggle-group.svelte +0 -47
  426. package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +0 -8
  427. package/dist/components/ui/tooltip/index.d.ts +0 -7
  428. package/dist/components/ui/tooltip/index.js +0 -9
  429. package/dist/components/ui/tooltip/tooltip-content.svelte +0 -47
  430. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -7
  431. package/dist/components/ui/tooltip/tooltip-trigger.svelte +0 -7
  432. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +0 -4
  433. package/dist/hooks/is-mobile.svelte.d.ts +0 -4
  434. package/dist/hooks/is-mobile.svelte.js +0 -7
  435. package/dist/services/index.d.ts +0 -9
  436. package/dist/services/index.js +0 -10
  437. package/dist/types/docs.d.ts +0 -67
  438. package/dist/types/docs.js +0 -1
  439. package/dist/utils.d.ts +0 -15
  440. package/dist/utils.js +0 -44
@@ -1,19 +0,0 @@
1
- <script lang="ts">
2
- import { onMount } from 'svelte';
3
- import { TableOfContents } from './toc.svelte.js';
4
-
5
- let contentRef: HTMLElement | undefined = $state();
6
- let { data }: { data: any } = $props();
7
-
8
- let toc = $state(TableOfContents.getInstance());
9
-
10
- onMount(() => {
11
- if (contentRef) {
12
- toc.updateContentRef(contentRef);
13
- }
14
- });
15
- </script>
16
-
17
- <div class="prose prose-slate dark:prose-invert mx-auto max-w-4xl" bind:this={contentRef}>
18
- <data.doc />
19
- </div>
@@ -1,6 +0,0 @@
1
- type $$ComponentProps = {
2
- data: any;
3
- };
4
- declare const DocContent: import("svelte").Component<$$ComponentProps, {}, "">;
5
- type DocContent = ReturnType<typeof DocContent>;
6
- export default DocContent;
@@ -1,24 +0,0 @@
1
- <script>
2
- import { page } from '$app/state';
3
-
4
- let { title, description } = $props();
5
- </script>
6
-
7
- <header class="mb-4 border-b border-gray-200 pb-2 dark:border-neutral-700 sm:mb-4 sm:pb-6">
8
- {#if page.params.slug}
9
- <p class="mb-2 text-sm font-semibold capitalize text-primary">
10
- {page.params.slug
11
- .replace(/-/g, ' ')
12
- .replace(/\b\w/g, (char) => char.toUpperCase())
13
- .replace('/', ': ')}
14
- </p>
15
- {:else}
16
- <p class="mb-2 text-sm font-semibold capitalize text-primary">Docs</p>
17
- {/if}
18
- <h1 class="mb-2 block text-2xl font-bold sm:text-3xl">
19
- {title}
20
- </h1>
21
- <p class="mt-2 text-gray-800 dark:text-neutral-400 sm:text-lg">
22
- {description}
23
- </p>
24
- </header>
@@ -1,13 +0,0 @@
1
- export default DocHeader;
2
- type DocHeader = {
3
- $on?(type: string, callback: (e: any) => void): () => void;
4
- $set?(props: Partial<$$ComponentProps>): void;
5
- };
6
- declare const DocHeader: import("svelte").Component<{
7
- title: any;
8
- description: any;
9
- }, {}, "">;
10
- type $$ComponentProps = {
11
- title: any;
12
- description: any;
13
- };
@@ -1,27 +0,0 @@
1
- <script lang="ts">
2
- import Separator from '../ui/separator/separator.svelte';
3
- import DocContent from './doc-content.svelte';
4
- import DocHeader from './doc-header.svelte';
5
- import TableOfContents from './table-of-contents.svelte';
6
- import MobileTableOfContents from './mobile-table-of-contents.svelte';
7
-
8
- let { title, description, data }: { title: string; description: string; data: any } = $props();
9
- </script>
10
-
11
- <div class="flex flex-col gap-6 sm:flex-row sm:justify-between">
12
- <div>
13
- <DocHeader {title} {description} />
14
- <DocContent {data} />
15
- </div>
16
- <div>
17
- <div class="sticky top-4 flex w-72 flex-col gap-4">
18
- <div class="hidden sm:block">
19
- <TableOfContents />
20
- <Separator />
21
- </div>
22
- <div class="block sm:hidden">
23
- <MobileTableOfContents />
24
- </div>
25
- </div>
26
- </div>
27
- </div>
@@ -1,8 +0,0 @@
1
- type $$ComponentProps = {
2
- title: string;
3
- description: string;
4
- data: any;
5
- };
6
- declare const DocRenderer: import("svelte").Component<$$ComponentProps, {}, "">;
7
- type DocRenderer = ReturnType<typeof DocRenderer>;
8
- export default DocRenderer;
@@ -1,42 +0,0 @@
1
- <script lang="ts">
2
- import * as Dialog from '../ui/dialog/index.js';
3
- import { TableOfContents } from './toc.svelte.js';
4
- import Button, { buttonVariants } from '../ui/button/button.svelte';
5
- import { IconAlignLeft, IconChevronRight } from '@tabler/icons-svelte';
6
- import { ScrollArea } from '../ui/scroll-area/index.js';
7
-
8
- let toc = $state(TableOfContents.getInstance());
9
- let opened = $state(false);
10
- </script>
11
-
12
- <Dialog.Root bind:open={opened}>
13
- <Dialog.Trigger class="fixed right-2 bottom-2 {buttonVariants({ variant: 'default' })}">
14
- <IconAlignLeft />
15
- On This Page
16
- </Dialog.Trigger>
17
- <Dialog.Content>
18
- <Dialog.Header>
19
- <Dialog.Title>On this page</Dialog.Title>
20
- </Dialog.Header>
21
- <ScrollArea class="h-80">
22
- <ul>
23
- {#each toc.headings as heading}
24
- <li>
25
- <Button
26
- variant="link"
27
- href="#{heading.id}"
28
- style="margin-left: {(heading.level - 1) * 1}rem"
29
- class="font-base text-sm text-gray-800 dark:text-neutral-300"
30
- onclick={() => (opened = false)}
31
- >
32
- {#if heading.level > 1}
33
- <IconChevronRight class="mt-[5px] size-3.5 shrink-0" />
34
- {/if}
35
- {heading.text}
36
- </Button>
37
- </li>
38
- {/each}
39
- </ul>
40
- </ScrollArea>
41
- </Dialog.Content>
42
- </Dialog.Root>
@@ -1,3 +0,0 @@
1
- declare const MobileTableOfContents: import("svelte").Component<Record<string, never>, {}, "">;
2
- type MobileTableOfContents = ReturnType<typeof MobileTableOfContents>;
3
- export default MobileTableOfContents;
@@ -1,33 +0,0 @@
1
- <script lang="ts">
2
- import Button from '../ui/button/button.svelte';
3
- import { TableOfContents } from './toc.svelte.js';
4
-
5
- import { IconChevronRight } from '@tabler/icons-svelte';
6
- let toc = $state(TableOfContents.getInstance());
7
- </script>
8
-
9
- <div>
10
- <h5
11
- id="docs-on-this-page-sidebar-label"
12
- class="mb-3 text-sm font-semibold text-gray-800 dark:text-neutral-300"
13
- >
14
- On this page
15
- </h5>
16
- <ul>
17
- {#each toc.headings as heading}
18
- <li>
19
- <Button
20
- variant="link"
21
- href="#{heading.id}"
22
- style="margin-left: {(heading.level - 1) * 1}rem"
23
- class="font-base text-sm text-gray-800 dark:text-neutral-300"
24
- >
25
- {#if heading.level > 1}
26
- <IconChevronRight class="mt-[5px] size-3.5 shrink-0" />
27
- {/if}
28
- {heading.text}
29
- </Button>
30
- </li>
31
- {/each}
32
- </ul>
33
- </div>
@@ -1,4 +0,0 @@
1
- import { TableOfContents } from './toc.svelte.js';
2
- declare const TableOfContents: import("svelte").Component<Record<string, never>, {}, "">;
3
- type TableOfContents = ReturnType<typeof TableOfContents>;
4
- export default TableOfContents;
@@ -1,16 +0,0 @@
1
- export declare class TableOfContents {
2
- contentRef: HTMLElement | undefined;
3
- headings: Array<{
4
- id: string;
5
- text: string;
6
- level: number;
7
- }>;
8
- private observer;
9
- private static instance;
10
- private constructor();
11
- static getInstance(contentRef?: HTMLElement): TableOfContents;
12
- updateContentRef(newRef: HTMLElement | undefined): void;
13
- private extractHeadings;
14
- private initializeObserver;
15
- destroy(): void;
16
- }
@@ -1,59 +0,0 @@
1
- export class TableOfContents {
2
- contentRef;
3
- headings = $state([]);
4
- observer = null;
5
- static instance;
6
- constructor(contentRef) {
7
- this.contentRef = contentRef;
8
- if (contentRef) {
9
- this.initializeObserver();
10
- }
11
- }
12
- static getInstance(contentRef) {
13
- if (!TableOfContents.instance) {
14
- TableOfContents.instance = new TableOfContents(contentRef);
15
- }
16
- else if (contentRef) {
17
- TableOfContents.instance.updateContentRef(contentRef);
18
- }
19
- return TableOfContents.instance;
20
- }
21
- updateContentRef(newRef) {
22
- this.observer?.disconnect();
23
- this.contentRef = newRef;
24
- if (newRef) {
25
- this.initializeObserver();
26
- }
27
- else {
28
- this.headings = [];
29
- }
30
- }
31
- extractHeadings() {
32
- if (!this.contentRef)
33
- return;
34
- const headingElements = this.contentRef.querySelectorAll('h1, h2, h3, h4, h5, h6');
35
- this.headings = Array.from(headingElements)
36
- .map((heading) => {
37
- const level = parseInt(heading.tagName.charAt(1));
38
- const text = heading.textContent || '';
39
- const id = heading.id || text.toLowerCase().replace(/[^a-z0-9]+/g, '-');
40
- if (!heading.id)
41
- heading.id = id;
42
- return { id, text, level };
43
- })
44
- .filter((heading) => heading.text !== null && heading.text !== '');
45
- }
46
- initializeObserver() {
47
- this.extractHeadings();
48
- this.observer = new MutationObserver(() => this.extractHeadings());
49
- if (!this.contentRef)
50
- return;
51
- this.observer.observe(this.contentRef, {
52
- childList: true,
53
- subtree: true
54
- });
55
- }
56
- destroy() {
57
- this.observer?.disconnect();
58
- }
59
- }
@@ -1,122 +0,0 @@
1
- <script lang="ts">
2
- import { firekitCollection } from '../../services/collection.svelte.js';
3
- import { firebaseService } from '../../firebase.js';
4
- import { collection } from 'firebase/firestore';
5
- import { browser } from '$app/environment';
6
- import type {
7
- CollectionReference,
8
- Query,
9
- DocumentData,
10
- Firestore,
11
- QueryConstraint
12
- } from 'firebase/firestore';
13
- import type { Snippet } from 'svelte';
14
-
15
- /**
16
- * Props for Collection component
17
- */
18
- let {
19
- ref,
20
- startWith,
21
- children,
22
- loading,
23
- queryConstraints = []
24
- }: {
25
- /**
26
- * Firestore collection reference, query reference, or path string
27
- */
28
- ref: CollectionReference | Query | string;
29
- /**
30
- * Initial value to use before collection is fetched
31
- */
32
- startWith?: DocumentData[];
33
- /**
34
- * Content to render when collection is loaded
35
- */
36
- children: Snippet<[DocumentData[], CollectionReference | Query, Firestore, number]>;
37
- /**
38
- * Content to render while loading
39
- */
40
- loading?: Snippet<[]>;
41
- /**
42
- * Optional query constraints to apply to the collection
43
- */
44
- queryConstraints?: QueryConstraint[];
45
- } = $props();
46
-
47
- // Get Firestore instance only in browser environment
48
- let firestore = $derived(browser ? firebaseService.getDbInstance() : null);
49
-
50
- // Create collection reference if path string is provided
51
- let collectionRef = $derived(
52
- firestore && typeof ref === 'string'
53
- ? collection(firestore, ref)
54
- : (ref as CollectionReference | Query)
55
- );
56
-
57
- // Create collection service with derived path
58
- let collectionPath = $derived(typeof ref === 'string' ? ref : (ref as CollectionReference).path);
59
- let collectionService = $state<ReturnType<typeof firekitCollection> | null>(null);
60
-
61
- // Track collection state using derived computations
62
- let collectionState = $derived({
63
- loading: !browser
64
- ? false
65
- : !firestore
66
- ? false
67
- : !collectionService
68
- ? true
69
- : collectionService.loading,
70
- data: !browser
71
- ? (startWith ?? [])
72
- : !firestore
73
- ? []
74
- : !collectionService
75
- ? (startWith ?? [])
76
- : collectionService.data,
77
- error: !browser
78
- ? null
79
- : !firestore
80
- ? new Error('Firestore instance not available')
81
- : !collectionService
82
- ? null
83
- : collectionService.error,
84
- count: !browser
85
- ? (startWith?.length ?? 0)
86
- : !firestore
87
- ? 0
88
- : !collectionService
89
- ? (startWith?.length ?? 0)
90
- : collectionService.size
91
- });
92
-
93
- // Set up collection service
94
- $effect(() => {
95
- if (!browser || !collectionPath) {
96
- collectionService = null;
97
- return;
98
- }
99
-
100
- // Create new service when path or constraints change
101
- const newService = firekitCollection(collectionPath, queryConstraints);
102
- collectionService = newService;
103
-
104
- return () => {
105
- newService?.dispose();
106
- };
107
- });
108
- </script>
109
-
110
- {#if !browser}
111
- {@render children(startWith ?? [], null as any, null as any, startWith?.length ?? 0)}
112
- {:else if collectionState.loading}
113
- {#if loading}
114
- {@render loading()}
115
- {:else}
116
- <div>Loading...</div>
117
- {/if}
118
- {:else if collectionState.error}
119
- <div class="error">Error: {collectionState.error.message}</div>
120
- {:else}
121
- {@render children(collectionState.data, collectionRef!, firestore!, collectionState.count)}
122
- {/if}
@@ -1,27 +0,0 @@
1
- import type { CollectionReference, Query, DocumentData, Firestore, QueryConstraint } from 'firebase/firestore';
2
- import type { Snippet } from 'svelte';
3
- type $$ComponentProps = {
4
- /**
5
- * Firestore collection reference, query reference, or path string
6
- */
7
- ref: CollectionReference | Query | string;
8
- /**
9
- * Initial value to use before collection is fetched
10
- */
11
- startWith?: DocumentData[];
12
- /**
13
- * Content to render when collection is loaded
14
- */
15
- children: Snippet<[DocumentData[], CollectionReference | Query, Firestore, number]>;
16
- /**
17
- * Content to render while loading
18
- */
19
- loading?: Snippet<[]>;
20
- /**
21
- * Optional query constraints to apply to the collection
22
- */
23
- queryConstraints?: QueryConstraint[];
24
- };
25
- declare const Collection: import("svelte").Component<$$ComponentProps, {}, "">;
26
- type Collection = ReturnType<typeof Collection>;
27
- export default Collection;
@@ -1,140 +0,0 @@
1
- <script lang="ts">
2
- import { firekitDoc } from '../../services/document.svelte.js';
3
- import { firebaseService } from '../../firebase.js';
4
- import { doc } from 'firebase/firestore';
5
- import { browser } from '$app/environment';
6
- import type { DocumentReference, DocumentData, Firestore } from 'firebase/firestore';
7
- import type { Snippet } from 'svelte';
8
- import type { DocumentOptions } from '../../types/document.js';
9
-
10
- /**
11
- * Props for Doc component
12
- */
13
- let {
14
- ref,
15
- startWith,
16
- children,
17
- loading,
18
- options = {}
19
- }: {
20
- /**
21
- * Firestore document reference or path string
22
- */
23
- ref: DocumentReference | string;
24
- /**
25
- * Initial value to use before document is fetched
26
- */
27
- startWith?: DocumentData | null;
28
- /**
29
- * Content to render when document is loaded
30
- */
31
- children: Snippet<[DocumentData | null, DocumentReference, Firestore]>;
32
- /**
33
- * Content to render while loading
34
- */
35
- loading?: Snippet<[]>;
36
- /**
37
- * Document options for configuration
38
- */
39
- options?: DocumentOptions;
40
- } = $props();
41
-
42
- // Get Firestore instance only in browser environment
43
- let firestore = $derived(browser ? firebaseService.getDbInstance() : null);
44
-
45
- // Create document reference if path string is provided
46
- let docRef = $derived(
47
- firestore && typeof ref === 'string' ? doc(firestore, ref) : (ref as DocumentReference)
48
- );
49
-
50
- // Create document service with derived path
51
- let documentPath = $derived(typeof ref === 'string' ? ref : (ref as DocumentReference).path);
52
- let documentService = $state<ReturnType<typeof firekitDoc> | null>(null);
53
-
54
- // Track document state using derived computations
55
- let documentState = $derived({
56
- loading: !browser
57
- ? false
58
- : !firestore
59
- ? false
60
- : !documentService
61
- ? true
62
- : documentService.loading,
63
- data: !browser
64
- ? (startWith ?? null)
65
- : !firestore
66
- ? null
67
- : !documentService
68
- ? (startWith ?? null)
69
- : documentService.data,
70
- error: !browser
71
- ? null
72
- : !firestore
73
- ? new Error('Firestore instance not available')
74
- : !documentService
75
- ? null
76
- : documentService.error,
77
- canRefresh: !browser
78
- ? false
79
- : !firestore
80
- ? false
81
- : !documentService
82
- ? false
83
- : documentService.canRefresh
84
- });
85
-
86
- // Set up document service and event listener
87
- $effect(() => {
88
- if (!browser || !documentPath) {
89
- documentService = null;
90
- return;
91
- }
92
-
93
- // Create new service when path or options change
94
- const newService = firekitDoc(documentPath, startWith ?? undefined, options);
95
- documentService = newService;
96
-
97
- return () => {
98
- newService?.dispose();
99
- };
100
- });
101
- </script>
102
-
103
- {#if !browser}
104
- {@render children(startWith ?? null, null as any, null as any)}
105
- {:else if !firestore}
106
- <div class="flex min-h-screen items-center justify-center">
107
- <div class="text-center">
108
- <div class="mb-2 text-lg font-semibold text-red-500">Firestore Not Available</div>
109
- <p class="text-gray-600">Firestore instance is not available.</p>
110
- </div>
111
- </div>
112
- {:else if documentState.loading}
113
- {#if loading}
114
- {@render loading()}
115
- {:else}
116
- <div class="flex min-h-screen items-center justify-center">
117
- <div class="text-center">
118
- <div class="mx-auto h-8 w-8 animate-spin rounded-full border-b-2 border-gray-900"></div>
119
- <p class="mt-2 text-gray-600">Loading document...</p>
120
- </div>
121
- </div>
122
- {/if}
123
- {:else if documentState.error}
124
- <div class="flex min-h-screen items-center justify-center">
125
- <div class="text-center">
126
- <div class="mb-2 text-lg font-semibold text-red-500">Error Loading Document</div>
127
- <p class="mb-4 text-gray-600">{documentState.error.message}</p>
128
- {#if documentState.canRefresh}
129
- <button
130
- class="rounded bg-blue-500 px-4 py-2 text-white hover:bg-blue-600"
131
- onclick={() => documentService?.refresh()}
132
- >
133
- Retry
134
- </button>
135
- {/if}
136
- </div>
137
- </div>
138
- {:else}
139
- {@render children(documentState.data, docRef!, firestore!)}
140
- {/if}
@@ -1,28 +0,0 @@
1
- import type { DocumentReference, DocumentData, Firestore } from 'firebase/firestore';
2
- import type { Snippet } from 'svelte';
3
- import type { DocumentOptions } from '../../types/document.js';
4
- type $$ComponentProps = {
5
- /**
6
- * Firestore document reference or path string
7
- */
8
- ref: DocumentReference | string;
9
- /**
10
- * Initial value to use before document is fetched
11
- */
12
- startWith?: DocumentData | null;
13
- /**
14
- * Content to render when document is loaded
15
- */
16
- children: Snippet<[DocumentData | null, DocumentReference, Firestore]>;
17
- /**
18
- * Content to render while loading
19
- */
20
- loading?: Snippet<[]>;
21
- /**
22
- * Document options for configuration
23
- */
24
- options?: DocumentOptions;
25
- };
26
- declare const Doc: import("svelte").Component<$$ComponentProps, {}, "">;
27
- type Doc = ReturnType<typeof Doc>;
28
- export default Doc;
@@ -1,97 +0,0 @@
1
- <script lang="ts">
2
- import { ref, type DatabaseReference, type Database } from 'firebase/database';
3
- import { firebaseService } from '../../firebase.js';
4
- import { firekitRealtimeDB } from '../../services/realtime.svelte.js';
5
- import { browser } from '$app/environment';
6
- import type { Snippet } from 'svelte';
7
-
8
- /**
9
- * Props for Node component
10
- */
11
- let {
12
- path,
13
- startWith,
14
- children,
15
- loading
16
- }: {
17
- /**
18
- * Database reference path string (e.g. 'users/123')
19
- */
20
- path: string;
21
- /**
22
- * Initial value to use before node is fetched
23
- */
24
- startWith?: any;
25
- /**
26
- * Content to render when node is loaded
27
- */
28
- children: Snippet<[any, DatabaseReference, Database]>;
29
- /**
30
- * Content to render while loading
31
- */
32
- loading?: Snippet<[]>;
33
- } = $props();
34
-
35
- // Get Database instance and create references
36
- let database: Database | null = $state(null);
37
- let nodeRef: DatabaseReference | null = $state(null);
38
- let nodeService: ReturnType<typeof firekitRealtimeDB> | null = $state(null);
39
-
40
- // Track node state
41
- let nodeState = $state({
42
- loading: true,
43
- data: startWith ?? null,
44
- error: null as Error | null
45
- });
46
-
47
- // Subscribe to node changes
48
- $effect(() => {
49
- if (!browser) {
50
- nodeState = {
51
- loading: false,
52
- data: startWith ?? null,
53
- error: new Error('Realtime Database not available in SSR')
54
- };
55
- return;
56
- }
57
-
58
- // Initialize database and service
59
- database = firebaseService.getDatabaseInstance();
60
- if (!database) {
61
- nodeState = {
62
- loading: false,
63
- data: null,
64
- error: new Error('Realtime Database instance not available')
65
- };
66
- return;
67
- }
68
-
69
- // Create database reference
70
- nodeRef = ref(database, path);
71
-
72
- // Create node service
73
- nodeService = firekitRealtimeDB(path, startWith);
74
-
75
- // The service state is reactive, so we can directly access it
76
- // The effect will re-run when the service state changes
77
- nodeState = {
78
- loading: nodeService.loading,
79
- data: nodeService.data,
80
- error: nodeService.error
81
- };
82
- });
83
- </script>
84
-
85
- {#if !browser}
86
- {@render children(startWith ?? null, null as any, null as any)}
87
- {:else if nodeState.loading}
88
- {#if loading}
89
- {@render loading()}
90
- {:else}
91
- <div>Loading...</div>
92
- {/if}
93
- {:else if nodeState.error}
94
- <div class="error">Error: {nodeState.error.message}</div>
95
- {:else}
96
- {@render children(nodeState.data, nodeRef!, database!)}
97
- {/if}