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,374 +1,259 @@
1
- /**
2
- * @fileoverview FirekitStorage - Optimized Firebase Storage management for Svelte applications
3
- * @module FirekitStorage
4
- * @version 1.0.0
5
- */
6
- import { ref, getDownloadURL, listAll, uploadBytesResumable } from 'firebase/storage';
7
- import { browser } from '$app/environment';
1
+ import { ref, getDownloadURL, listAll, uploadBytesResumable, deleteObject, getMetadata, updateMetadata } from 'firebase/storage';
8
2
  import { firebaseService } from '../firebase.js';
3
+ function getStorage() {
4
+ const storage = firebaseService.getStorageInstance();
5
+ if (!storage)
6
+ throw new Error('Firebase Storage is not initialized.');
7
+ return storage;
8
+ }
9
+ // ── Download URL ──────────────────────────────────────────────────────────────
9
10
  /**
10
- * Manages Firebase Storage download URL fetching with reactive state
11
- * @class
11
+ * Fetches and exposes a Firebase Storage download URL reactively.
12
12
  *
13
13
  * @example
14
- * ```typescript
15
- * // Get download URL for image
16
- * const imageUrl = firekitDownloadUrl('images/photo.jpg');
17
- *
18
- * // Access reactive state
19
- * if (imageUrl.loading) {
20
- * console.log('Loading URL...');
21
- * } else if (imageUrl.url) {
22
- * console.log('Download URL:', imageUrl.url);
23
- * }
14
+ * ```svelte
15
+ * <script lang="ts">
16
+ * import { firekitDownloadUrl } from 'svelte-firekit';
17
+ * const img = firekitDownloadUrl('images/avatar.jpg');
18
+ * </script>
19
+ * {#if img.url}<img src={img.url} alt="avatar" />{/if}
24
20
  * ```
25
21
  */
26
- class FirekitDownloadUrl {
27
- /** Current download URL */
22
+ export class FirekitDownloadUrl {
28
23
  _url = $state(null);
29
- /** Loading state */
30
24
  _loading = $state(true);
31
- /** Error state */
32
25
  _error = $state(null);
33
- /** Storage reference */
34
- storageRef = null;
35
- /**
36
- * Creates a download URL fetcher
37
- * @param {string} path Storage path to file
38
- *
39
- * @example
40
- * ```typescript
41
- * const url = new FirekitDownloadUrl('documents/file.pdf');
42
- * ```
43
- */
26
+ _storageRef = null;
27
+ _path;
44
28
  constructor(path) {
45
- if (browser) {
46
- this.initializeDownload(path);
47
- }
29
+ this._path = path;
30
+ this._init();
48
31
  }
49
- /**
50
- * Initializes download URL fetching
51
- * @private
52
- * @param {string} path Storage path
53
- */
54
- async initializeDownload(path) {
55
- try {
56
- const storage = firebaseService.getStorageInstance();
57
- if (!storage) {
58
- throw new Error('Storage instance not available');
59
- }
60
- this.storageRef = ref(storage, path);
61
- this._url = await getDownloadURL(this.storageRef);
32
+ get url() { return this._url; }
33
+ get loading() { return this._loading; }
34
+ get error() { return this._error; }
35
+ async _init() {
36
+ if (typeof window === 'undefined') {
62
37
  this._loading = false;
38
+ return;
39
+ }
40
+ try {
41
+ const storage = getStorage();
42
+ this._storageRef = ref(storage, this._path);
43
+ this._url = await getDownloadURL(this._storageRef);
44
+ this._error = null;
45
+ }
46
+ catch (err) {
47
+ this._error = err instanceof Error ? err : new Error(String(err));
63
48
  }
64
- catch (error) {
65
- this._error = error;
49
+ finally {
66
50
  this._loading = false;
67
51
  }
68
52
  }
69
- /** Gets current download URL */
70
- get url() {
71
- return this._url;
72
- }
73
- /** Gets loading state */
74
- get loading() {
75
- return this._loading;
76
- }
77
- /** Gets error state */
78
- get error() {
79
- return this._error;
80
- }
81
- /**
82
- * Refreshes download URL
83
- * Useful when file content has changed
84
- *
85
- * @example
86
- * ```typescript
87
- * // Refresh URL after file update
88
- * await uploadNewVersion();
89
- * imageUrl.refresh();
90
- * ```
91
- */
92
- refresh() {
93
- if (this.storageRef) {
94
- this._loading = true;
95
- this._error = null;
96
- this.initializeDownload(this.storageRef.fullPath);
53
+ /** Re-fetches the download URL (useful after replacing a file). */
54
+ async refresh() {
55
+ if (!this._storageRef)
56
+ return;
57
+ this._loading = true;
58
+ this._error = null;
59
+ try {
60
+ this._url = await getDownloadURL(this._storageRef);
61
+ }
62
+ catch (err) {
63
+ this._error = err instanceof Error ? err : new Error(String(err));
64
+ }
65
+ finally {
66
+ this._loading = false;
97
67
  }
98
68
  }
99
69
  }
70
+ // ── Storage list ──────────────────────────────────────────────────────────────
100
71
  /**
101
- * Manages Firebase Storage directory listing with reactive state
102
- * @class
72
+ * Lists files and sub-folders at a Storage path reactively.
103
73
  *
104
74
  * @example
105
- * ```typescript
106
- * // List contents of images directory
107
- * const imagesList = firekitStorageList('images');
108
- *
109
- * // Access items and folders
110
- * console.log('Files:', imagesList.items);
111
- * console.log('Folders:', imagesList.prefixes);
75
+ * ```svelte
76
+ * <script lang="ts">
77
+ * import { firekitStorageList } from 'svelte-firekit';
78
+ * const dir = firekitStorageList('uploads/2024');
79
+ * </script>
80
+ * {#each dir.items as item}<p>{item.name}</p>{/each}
112
81
  * ```
113
82
  */
114
- class FirekitStorageList {
115
- /** List of files in directory */
83
+ export class FirekitStorageList {
116
84
  _items = $state([]);
117
- /** List of subdirectories */
118
85
  _prefixes = $state([]);
119
- /** Loading state */
120
86
  _loading = $state(true);
121
- /** Error state */
122
87
  _error = $state(null);
123
- /** Storage reference */
124
- storageRef = null;
125
- /**
126
- * Creates a storage directory lister
127
- * @param {string} path Storage directory path
128
- *
129
- * @example
130
- * ```typescript
131
- * const list = new FirekitStorageList('uploads/2024');
132
- * ```
133
- */
88
+ _storageRef = null;
89
+ _path;
134
90
  constructor(path) {
135
- if (browser) {
136
- this.initializeList(path);
137
- }
91
+ this._path = path;
92
+ this._init();
138
93
  }
139
- /**
140
- * Initializes directory listing
141
- * @private
142
- * @param {string} path Storage directory path
143
- */
144
- async initializeList(path) {
94
+ get items() { return this._items; }
95
+ get prefixes() { return this._prefixes; }
96
+ get loading() { return this._loading; }
97
+ get error() { return this._error; }
98
+ async _init() {
99
+ if (typeof window === 'undefined') {
100
+ this._loading = false;
101
+ return;
102
+ }
145
103
  try {
146
- const storage = firebaseService.getStorageInstance();
147
- if (!storage) {
148
- throw new Error('Storage instance not available');
149
- }
150
- this.storageRef = ref(storage, path);
151
- const result = await listAll(this.storageRef);
104
+ const storage = getStorage();
105
+ this._storageRef = ref(storage, this._path);
106
+ const result = await listAll(this._storageRef);
152
107
  this._items = result.items;
153
108
  this._prefixes = result.prefixes;
154
- this._loading = false;
109
+ this._error = null;
155
110
  }
156
- catch (error) {
157
- this._error = error;
111
+ catch (err) {
112
+ this._error = err instanceof Error ? err : new Error(String(err));
113
+ }
114
+ finally {
158
115
  this._loading = false;
159
116
  }
160
117
  }
161
- /** Gets list of files */
162
- get items() {
163
- return this._items;
164
- }
165
- /** Gets list of subdirectories */
166
- get prefixes() {
167
- return this._prefixes;
168
- }
169
- /** Gets loading state */
170
- get loading() {
171
- return this._loading;
172
- }
173
- /** Gets error state */
174
- get error() {
175
- return this._error;
176
- }
177
- /**
178
- * Refreshes directory listing
179
- * Useful when directory contents have changed
180
- *
181
- * @example
182
- * ```typescript
183
- * // Refresh after upload
184
- * await uploadFile('images/new.jpg');
185
- * imagesList.refresh();
186
- * ```
187
- */
188
- refresh() {
189
- if (this.storageRef) {
190
- this._loading = true;
191
- this._error = null;
192
- this.initializeList(this.storageRef.fullPath);
118
+ /** Re-lists the directory (useful after uploads/deletes). */
119
+ async refresh() {
120
+ if (!this._storageRef)
121
+ return;
122
+ this._loading = true;
123
+ this._error = null;
124
+ try {
125
+ const result = await listAll(this._storageRef);
126
+ this._items = result.items;
127
+ this._prefixes = result.prefixes;
128
+ }
129
+ catch (err) {
130
+ this._error = err instanceof Error ? err : new Error(String(err));
131
+ }
132
+ finally {
133
+ this._loading = false;
193
134
  }
194
135
  }
195
136
  }
196
137
  /**
197
- * Manages Firebase Storage upload operations with reactive state and progress tracking
198
- * @class
138
+ * Manages a resumable Firebase Storage upload with reactive progress.
199
139
  *
200
140
  * @example
201
- * ```typescript
202
- * // Create upload task
203
- * const upload = firekitUploadTask('images/photo.jpg', file);
204
- *
205
- * // Monitor progress
206
- * console.log(`Upload progress: ${upload.progress}%`);
207
- *
208
- * // Control upload
209
- * upload.pause();
210
- * upload.resume();
211
- * upload.cancel();
141
+ * ```svelte
142
+ * <script lang="ts">
143
+ * import { firekitUploadTask } from 'svelte-firekit';
144
+ * let file: File;
145
+ * $: task = file ? firekitUploadTask('uploads/' + file.name, file) : null;
146
+ * </script>
147
+ * {#if task}
148
+ * <progress value={task.progress} max={100} />
149
+ * {#if task.downloadURL}<img src={task.downloadURL} />{/if}
150
+ * {/if}
212
151
  * ```
213
152
  */
214
- class FirekitUploadTask {
215
- /** Upload progress percentage */
153
+ export class FirekitUploadTask {
216
154
  _progress = $state(0);
217
- /** Error state */
155
+ _downloadURL = $state(null);
218
156
  _error = $state(null);
219
- /** Current upload snapshot */
157
+ _state = $state('idle');
158
+ _bytesTransferred = $state(0);
159
+ _totalBytes = $state(0);
220
160
  _snapshot = $state(null);
221
- /** Download URL of uploaded file */
222
- _downloadURL = $state(null);
223
- /** Upload completion state */
224
- _completed = $state(false);
225
- /** Upload task reference */
226
- uploadTask = null;
227
- /** Storage reference */
228
- storageRef = null;
229
- /**
230
- * Creates an upload task
231
- * @param {string} path Storage path for upload
232
- * @param {File} file File to upload
233
- *
234
- * @example
235
- * ```typescript
236
- * const task = new FirekitUploadTask('documents/report.pdf', file);
237
- * ```
238
- */
239
- constructor(path, file) {
240
- if (browser) {
241
- this.initializeUpload(path, file);
242
- }
161
+ completed = $derived(this._state === 'success');
162
+ canceled = $derived(this._state === 'canceled');
163
+ failed = $derived(this._state === 'error');
164
+ active = $derived(this._state === 'running' || this._state === 'paused');
165
+ _task = null;
166
+ _storageRef = null;
167
+ constructor(path, file, metadata) {
168
+ this._init(path, file, metadata);
243
169
  }
244
- /**
245
- * Initializes file upload
246
- * @private
247
- * @param {string} path Storage path
248
- * @param {File} file File to upload
249
- */
250
- initializeUpload(path, file) {
170
+ get progress() { return this._progress; }
171
+ get downloadURL() { return this._downloadURL; }
172
+ get error() { return this._error; }
173
+ get state() { return this._state; }
174
+ get bytesTransferred() { return this._bytesTransferred; }
175
+ get totalBytes() { return this._totalBytes; }
176
+ get snapshot() { return this._snapshot; }
177
+ _init(path, file, metadata) {
178
+ if (typeof window === 'undefined')
179
+ return;
251
180
  try {
252
- const storage = firebaseService.getStorageInstance();
253
- if (!storage) {
254
- throw new Error('Storage instance not available');
255
- }
256
- this.storageRef = ref(storage, path);
257
- this.uploadTask = uploadBytesResumable(this.storageRef, file);
258
- this.uploadTask.on('state_changed', (snapshot) => {
259
- this._snapshot = snapshot;
260
- this._progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
261
- }, (error) => {
262
- this._error = error;
181
+ const storage = getStorage();
182
+ this._storageRef = ref(storage, path);
183
+ this._task = uploadBytesResumable(this._storageRef, file, metadata);
184
+ this._state = 'running';
185
+ this._task.on('state_changed', (snap) => {
186
+ this._snapshot = snap;
187
+ this._bytesTransferred = snap.bytesTransferred;
188
+ this._totalBytes = snap.totalBytes;
189
+ this._progress = snap.totalBytes > 0
190
+ ? (snap.bytesTransferred / snap.totalBytes) * 100
191
+ : 0;
192
+ this._state = snap.state;
193
+ }, (err) => {
194
+ this._error = err;
195
+ this._state = 'error';
263
196
  }, async () => {
264
- if (this.storageRef) {
265
- this._downloadURL = await getDownloadURL(this.storageRef);
266
- this._completed = true;
197
+ if (this._storageRef) {
198
+ this._downloadURL = await getDownloadURL(this._storageRef);
267
199
  }
200
+ this._state = 'success';
201
+ this._progress = 100;
268
202
  });
269
203
  }
270
- catch (error) {
271
- this._error = error;
204
+ catch (err) {
205
+ this._error = err instanceof Error ? err : new Error(String(err));
206
+ this._state = 'error';
272
207
  }
273
208
  }
274
- /** Pauses upload */
275
- pause() {
276
- this.uploadTask?.pause();
277
- }
278
- /** Resumes upload */
279
- resume() {
280
- this.uploadTask?.resume();
281
- }
282
- /** Cancels upload */
283
- cancel() {
284
- this.uploadTask?.cancel();
285
- }
286
- /** Gets upload progress percentage */
287
- get progress() {
288
- return this._progress;
289
- }
290
- /** Gets error state */
291
- get error() {
292
- return this._error;
293
- }
294
- /** Gets current upload snapshot */
295
- get snapshot() {
296
- return this._snapshot;
297
- }
298
- /** Gets download URL */
299
- get downloadURL() {
300
- return this._downloadURL;
301
- }
302
- /** Gets completion state */
303
- get completed() {
304
- return this._completed;
305
- }
209
+ /** Pauses the upload. */
210
+ pause() { this._task?.pause(); }
211
+ /** Resumes a paused upload. */
212
+ resume() { this._task?.resume(); }
213
+ /** Cancels the upload. */
214
+ cancel() { this._task?.cancel(); }
306
215
  }
307
- // ========================================
308
- // FACTORY FUNCTIONS
309
- // ========================================
216
+ // ── One-shot helpers ──────────────────────────────────────────────────────────
310
217
  /**
311
- * Creates a download URL fetcher
312
- * @param {string} path Storage path to file
313
- * @returns {FirekitDownloadUrl} Download URL fetcher instance
314
- *
315
- * @example
316
- * ```typescript
317
- * const imageUrl = firekitDownloadUrl('images/profile.jpg');
318
- *
319
- * // Use in template
320
- * {#if imageUrl.loading}
321
- * <p>Loading...</p>
322
- * {:else if imageUrl.url}
323
- * <img src={imageUrl.url} alt="Profile" />
324
- * {/if}
325
- * ```
218
+ * Deletes a file from Firebase Storage.
326
219
  */
327
- export function firekitDownloadUrl(path) {
328
- return new FirekitDownloadUrl(path);
220
+ export async function deleteFile(path) {
221
+ const storage = getStorage();
222
+ await deleteObject(ref(storage, path));
329
223
  }
330
224
  /**
331
- * Creates a storage directory lister
332
- * @param {string} path Storage directory path
333
- * @returns {FirekitStorageList} Storage list instance
334
- *
335
- * @example
336
- * ```typescript
337
- * const documents = firekitStorageList('documents');
338
- *
339
- * // Use in template
340
- * {#if documents.loading}
341
- * <p>Loading...</p>
342
- * {:else}
343
- * <ul>
344
- * {#each documents.items as item}
345
- * <li>{item.name}</li>
346
- * {/each}
347
- * </ul>
348
- * {/if}
349
- * ```
225
+ * Fetches metadata for a file in Firebase Storage.
350
226
  */
351
- export function firekitStorageList(path) {
352
- return new FirekitStorageList(path);
227
+ export async function getFileMetadata(path) {
228
+ const storage = getStorage();
229
+ return getMetadata(ref(storage, path));
353
230
  }
354
231
  /**
355
- * Creates an upload task
356
- * @param {string} path Storage path for upload
357
- * @param {File} file File to upload
358
- * @returns {FirekitUploadTask} Upload task instance
232
+ * Updates metadata for a file in Firebase Storage.
233
+ * Only fields provided in `metadata` are changed; omitted fields are left as-is.
359
234
  *
360
235
  * @example
361
- * ```typescript
362
- * const uploadTask = firekitUploadTask('images/profile.jpg', imageFile);
363
- *
364
- * // Template usage
365
- * {#if !uploadTask.completed}
366
- * <progress value={uploadTask.progress} max="100" />
367
- * {:else}
368
- * <img src={uploadTask.downloadURL} alt="Uploaded file" />
369
- * {/if}
236
+ * ```ts
237
+ * await updateFileMetadata('images/avatar.jpg', {
238
+ * contentType: 'image/webp',
239
+ * customMetadata: { uploadedBy: 'uid123' }
240
+ * });
370
241
  * ```
371
242
  */
372
- export function firekitUploadTask(path, file) {
373
- return new FirekitUploadTask(path, file);
243
+ export async function updateFileMetadata(path, metadata) {
244
+ const storage = getStorage();
245
+ return updateMetadata(ref(storage, path), metadata);
246
+ }
247
+ // ── Factory functions ─────────────────────────────────────────────────────────
248
+ /** Creates a reactive download URL fetcher. */
249
+ export function firekitDownloadUrl(path) {
250
+ return new FirekitDownloadUrl(path);
251
+ }
252
+ /** Creates a reactive Storage directory listing. */
253
+ export function firekitStorageList(path) {
254
+ return new FirekitStorageList(path);
255
+ }
256
+ /** Creates a reactive resumable upload task. */
257
+ export function firekitUploadTask(path, file, metadata) {
258
+ return new FirekitUploadTask(path, file, metadata);
374
259
  }