svelte-firekit 0.1.9 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/README.md +550 -354
  2. package/dist/components/AuthGuard.svelte +64 -0
  3. package/dist/components/AuthGuard.svelte.d.ts +15 -0
  4. package/dist/components/Collection.svelte +62 -0
  5. package/dist/components/Collection.svelte.d.ts +39 -0
  6. package/dist/components/CustomGuard.svelte +87 -0
  7. package/dist/components/CustomGuard.svelte.d.ts +13 -0
  8. package/dist/components/Doc.svelte +56 -0
  9. package/dist/components/Doc.svelte.d.ts +36 -0
  10. package/dist/components/DownloadURL.svelte +48 -0
  11. package/dist/components/DownloadURL.svelte.d.ts +14 -0
  12. package/dist/components/FirebaseApp.svelte +81 -0
  13. package/dist/components/FirebaseApp.svelte.d.ts +12 -0
  14. package/dist/components/Node.svelte +54 -0
  15. package/dist/components/Node.svelte.d.ts +36 -0
  16. package/dist/components/SignedIn.svelte +22 -0
  17. package/dist/components/{firekit/signed-in.svelte.d.ts → SignedIn.svelte.d.ts} +1 -4
  18. package/dist/components/SignedOut.svelte +32 -0
  19. package/dist/components/{firekit/signed-out.svelte.d.ts → SignedOut.svelte.d.ts} +3 -5
  20. package/dist/components/UploadTask.svelte +75 -0
  21. package/dist/components/UploadTask.svelte.d.ts +33 -0
  22. package/dist/config.d.ts +29 -6
  23. package/dist/config.js +37 -74
  24. package/dist/context.d.ts +46 -0
  25. package/dist/context.js +56 -0
  26. package/dist/firebase.d.ts +25 -84
  27. package/dist/firebase.js +75 -125
  28. package/dist/index.d.ts +31 -20
  29. package/dist/index.js +47 -30
  30. package/dist/services/ai.svelte.d.ts +152 -0
  31. package/dist/services/ai.svelte.js +302 -0
  32. package/dist/services/analytics.d.ts +39 -231
  33. package/dist/services/analytics.js +89 -421
  34. package/dist/services/app-check.svelte.d.ts +82 -0
  35. package/dist/services/app-check.svelte.js +159 -0
  36. package/dist/services/auth.d.ts +63 -352
  37. package/dist/services/auth.js +353 -718
  38. package/dist/services/bundles.d.ts +42 -0
  39. package/dist/services/bundles.js +57 -0
  40. package/dist/services/callable.d.ts +57 -0
  41. package/dist/services/callable.js +115 -0
  42. package/dist/services/collection.svelte.d.ts +154 -221
  43. package/dist/services/collection.svelte.js +357 -663
  44. package/dist/services/document.svelte.d.ts +73 -254
  45. package/dist/services/document.svelte.js +196 -497
  46. package/dist/services/in-app-messaging.js +4 -0
  47. package/dist/services/messaging.svelte.d.ts +75 -0
  48. package/dist/services/messaging.svelte.js +190 -0
  49. package/dist/services/mutations.d.ts +59 -282
  50. package/dist/services/mutations.js +202 -951
  51. package/dist/services/performance.d.ts +60 -0
  52. package/dist/services/performance.js +118 -0
  53. package/dist/services/presence.svelte.d.ts +21 -89
  54. package/dist/services/presence.svelte.js +232 -469
  55. package/dist/services/realtime.svelte.d.ts +54 -125
  56. package/dist/services/realtime.svelte.js +111 -175
  57. package/dist/services/remote-config.svelte.d.ts +73 -0
  58. package/dist/services/remote-config.svelte.js +204 -0
  59. package/dist/services/storage.svelte.d.ts +81 -208
  60. package/dist/services/storage.svelte.js +190 -305
  61. package/dist/services/user.svelte.d.ts +23 -244
  62. package/dist/services/user.svelte.js +129 -439
  63. package/dist/types/analytics.d.ts +2 -36
  64. package/dist/types/analytics.js +0 -5
  65. package/dist/types/auth.d.ts +15 -85
  66. package/dist/types/auth.js +0 -17
  67. package/dist/types/collection.d.ts +31 -225
  68. package/dist/types/collection.js +5 -51
  69. package/dist/types/document.d.ts +11 -236
  70. package/dist/types/document.js +2 -47
  71. package/dist/types/firebase.d.ts +10 -13
  72. package/dist/types/firebase.js +3 -9
  73. package/dist/types/index.d.ts +5 -5
  74. package/dist/types/index.js +5 -4
  75. package/dist/types/mutations.d.ts +11 -225
  76. package/dist/types/mutations.js +6 -51
  77. package/dist/types/presence.d.ts +5 -158
  78. package/dist/types/presence.js +0 -20
  79. package/dist/utils/errors.d.ts +10 -14
  80. package/dist/utils/errors.js +11 -16
  81. package/dist/utils/firestore.d.ts +3 -4
  82. package/dist/utils/firestore.js +7 -10
  83. package/dist/utils/index.d.ts +4 -4
  84. package/dist/utils/index.js +4 -8
  85. package/dist/utils/providers.d.ts +4 -13
  86. package/dist/utils/providers.js +14 -13
  87. package/dist/utils/user.d.ts +1 -3
  88. package/dist/utils/user.js +1 -3
  89. package/package.json +41 -55
  90. package/dist/components/docs/doc-content.svelte +0 -19
  91. package/dist/components/docs/doc-content.svelte.d.ts +0 -6
  92. package/dist/components/docs/doc-header.svelte +0 -24
  93. package/dist/components/docs/doc-header.svelte.d.ts +0 -13
  94. package/dist/components/docs/doc-renderer.svelte +0 -27
  95. package/dist/components/docs/doc-renderer.svelte.d.ts +0 -8
  96. package/dist/components/docs/mobile-table-of-contents.svelte +0 -42
  97. package/dist/components/docs/mobile-table-of-contents.svelte.d.ts +0 -3
  98. package/dist/components/docs/table-of-contents.svelte +0 -33
  99. package/dist/components/docs/table-of-contents.svelte.d.ts +0 -4
  100. package/dist/components/docs/toc.svelte.d.ts +0 -16
  101. package/dist/components/docs/toc.svelte.js +0 -59
  102. package/dist/components/firekit/Collection.svelte +0 -122
  103. package/dist/components/firekit/Collection.svelte.d.ts +0 -27
  104. package/dist/components/firekit/Doc.svelte +0 -140
  105. package/dist/components/firekit/Doc.svelte.d.ts +0 -28
  106. package/dist/components/firekit/Node.svelte +0 -97
  107. package/dist/components/firekit/Node.svelte.d.ts +0 -23
  108. package/dist/components/firekit/auth-guard.svelte +0 -120
  109. package/dist/components/firekit/auth-guard.svelte.d.ts +0 -26
  110. package/dist/components/firekit/custom-guard.svelte +0 -163
  111. package/dist/components/firekit/custom-guard.svelte.d.ts +0 -31
  112. package/dist/components/firekit/download-url.svelte +0 -92
  113. package/dist/components/firekit/download-url.svelte.d.ts +0 -19
  114. package/dist/components/firekit/firebase-app.svelte +0 -33
  115. package/dist/components/firekit/firebase-app.svelte.d.ts +0 -7
  116. package/dist/components/firekit/node-list.svelte +0 -102
  117. package/dist/components/firekit/node-list.svelte.d.ts +0 -27
  118. package/dist/components/firekit/signed-in.svelte +0 -42
  119. package/dist/components/firekit/signed-out.svelte +0 -42
  120. package/dist/components/firekit/storage-list.svelte +0 -97
  121. package/dist/components/firekit/storage-list.svelte.d.ts +0 -26
  122. package/dist/components/firekit/upload-task.svelte +0 -108
  123. package/dist/components/firekit/upload-task.svelte.d.ts +0 -24
  124. package/dist/components/nav/app-sidebar.svelte +0 -175
  125. package/dist/components/nav/app-sidebar.svelte.d.ts +0 -9
  126. package/dist/components/nav/auto-breadcrumb.svelte +0 -41
  127. package/dist/components/nav/auto-breadcrumb.svelte.d.ts +0 -3
  128. package/dist/components/nav/dark-mode-toggle.svelte +0 -17
  129. package/dist/components/nav/dark-mode-toggle.svelte.d.ts +0 -18
  130. package/dist/components/nav/nav-components.svelte +0 -24
  131. package/dist/components/nav/nav-components.svelte.d.ts +0 -11
  132. package/dist/components/nav/nav-main.svelte +0 -45
  133. package/dist/components/nav/nav-main.svelte.d.ts +0 -11
  134. package/dist/components/nav/nav-secondary.svelte +0 -32
  135. package/dist/components/nav/nav-secondary.svelte.d.ts +0 -14
  136. package/dist/components/nav/site-header.svelte +0 -32
  137. package/dist/components/nav/site-header.svelte.d.ts +0 -18
  138. package/dist/components/ui/avatar/avatar-fallback.svelte +0 -17
  139. package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +0 -4
  140. package/dist/components/ui/avatar/avatar-image.svelte +0 -17
  141. package/dist/components/ui/avatar/avatar-image.svelte.d.ts +0 -4
  142. package/dist/components/ui/avatar/avatar.svelte +0 -19
  143. package/dist/components/ui/avatar/avatar.svelte.d.ts +0 -4
  144. package/dist/components/ui/avatar/index.d.ts +0 -4
  145. package/dist/components/ui/avatar/index.js +0 -6
  146. package/dist/components/ui/badge/badge.svelte +0 -50
  147. package/dist/components/ui/badge/badge.svelte.d.ts +0 -32
  148. package/dist/components/ui/badge/index.d.ts +0 -2
  149. package/dist/components/ui/badge/index.js +0 -2
  150. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +0 -23
  151. package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +0 -5
  152. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +0 -20
  153. package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +0 -5
  154. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +0 -31
  155. package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +0 -11
  156. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +0 -23
  157. package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +0 -5
  158. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +0 -23
  159. package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +0 -5
  160. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +0 -27
  161. package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +0 -5
  162. package/dist/components/ui/breadcrumb/breadcrumb.svelte +0 -21
  163. package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +0 -5
  164. package/dist/components/ui/breadcrumb/index.d.ts +0 -8
  165. package/dist/components/ui/breadcrumb/index.js +0 -10
  166. package/dist/components/ui/button/button.svelte +0 -80
  167. package/dist/components/ui/button/button.svelte.d.ts +0 -58
  168. package/dist/components/ui/button/index.d.ts +0 -2
  169. package/dist/components/ui/button/index.js +0 -4
  170. package/dist/components/ui/card/card-action.svelte +0 -20
  171. package/dist/components/ui/card/card-action.svelte.d.ts +0 -5
  172. package/dist/components/ui/card/card-content.svelte +0 -15
  173. package/dist/components/ui/card/card-content.svelte.d.ts +0 -5
  174. package/dist/components/ui/card/card-description.svelte +0 -20
  175. package/dist/components/ui/card/card-description.svelte.d.ts +0 -5
  176. package/dist/components/ui/card/card-footer.svelte +0 -20
  177. package/dist/components/ui/card/card-footer.svelte.d.ts +0 -5
  178. package/dist/components/ui/card/card-header.svelte +0 -23
  179. package/dist/components/ui/card/card-header.svelte.d.ts +0 -5
  180. package/dist/components/ui/card/card-title.svelte +0 -20
  181. package/dist/components/ui/card/card-title.svelte.d.ts +0 -5
  182. package/dist/components/ui/card/card.svelte +0 -23
  183. package/dist/components/ui/card/card.svelte.d.ts +0 -5
  184. package/dist/components/ui/card/index.d.ts +0 -8
  185. package/dist/components/ui/card/index.js +0 -10
  186. package/dist/components/ui/chart/chart-container.svelte +0 -80
  187. package/dist/components/ui/chart/chart-container.svelte.d.ts +0 -9
  188. package/dist/components/ui/chart/chart-style.svelte +0 -36
  189. package/dist/components/ui/chart/chart-style.svelte.d.ts +0 -8
  190. package/dist/components/ui/chart/chart-tooltip.svelte +0 -159
  191. package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +0 -27
  192. package/dist/components/ui/chart/chart-utils.d.ts +0 -36
  193. package/dist/components/ui/chart/chart-utils.js +0 -33
  194. package/dist/components/ui/chart/index.d.ts +0 -4
  195. package/dist/components/ui/chart/index.js +0 -4
  196. package/dist/components/ui/checkbox/checkbox.svelte +0 -36
  197. package/dist/components/ui/checkbox/checkbox.svelte.d.ts +0 -4
  198. package/dist/components/ui/checkbox/index.d.ts +0 -2
  199. package/dist/components/ui/checkbox/index.js +0 -4
  200. package/dist/components/ui/data-table/data-table.svelte.d.ts +0 -40
  201. package/dist/components/ui/data-table/data-table.svelte.js +0 -110
  202. package/dist/components/ui/data-table/flex-render.svelte +0 -36
  203. package/dist/components/ui/data-table/flex-render.svelte.d.ts +0 -30
  204. package/dist/components/ui/data-table/index.d.ts +0 -3
  205. package/dist/components/ui/data-table/index.js +0 -3
  206. package/dist/components/ui/data-table/render-helpers.d.ts +0 -90
  207. package/dist/components/ui/data-table/render-helpers.js +0 -99
  208. package/dist/components/ui/dialog/dialog-close.svelte +0 -7
  209. package/dist/components/ui/dialog/dialog-close.svelte.d.ts +0 -4
  210. package/dist/components/ui/dialog/dialog-content.svelte +0 -43
  211. package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -11
  212. package/dist/components/ui/dialog/dialog-description.svelte +0 -17
  213. package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -4
  214. package/dist/components/ui/dialog/dialog-footer.svelte +0 -20
  215. package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -5
  216. package/dist/components/ui/dialog/dialog-header.svelte +0 -20
  217. package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -5
  218. package/dist/components/ui/dialog/dialog-overlay.svelte +0 -20
  219. package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -4
  220. package/dist/components/ui/dialog/dialog-title.svelte +0 -17
  221. package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -4
  222. package/dist/components/ui/dialog/dialog-trigger.svelte +0 -7
  223. package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +0 -4
  224. package/dist/components/ui/dialog/index.d.ts +0 -11
  225. package/dist/components/ui/dialog/index.js +0 -14
  226. package/dist/components/ui/drawer/drawer-close.svelte +0 -7
  227. package/dist/components/ui/drawer/drawer-close.svelte.d.ts +0 -4
  228. package/dist/components/ui/drawer/drawer-content.svelte +0 -37
  229. package/dist/components/ui/drawer/drawer-content.svelte.d.ts +0 -7
  230. package/dist/components/ui/drawer/drawer-description.svelte +0 -17
  231. package/dist/components/ui/drawer/drawer-description.svelte.d.ts +0 -4
  232. package/dist/components/ui/drawer/drawer-footer.svelte +0 -20
  233. package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +0 -5
  234. package/dist/components/ui/drawer/drawer-header.svelte +0 -20
  235. package/dist/components/ui/drawer/drawer-header.svelte.d.ts +0 -5
  236. package/dist/components/ui/drawer/drawer-nested.svelte +0 -12
  237. package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +0 -3
  238. package/dist/components/ui/drawer/drawer-overlay.svelte +0 -20
  239. package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +0 -4
  240. package/dist/components/ui/drawer/drawer-title.svelte +0 -17
  241. package/dist/components/ui/drawer/drawer-title.svelte.d.ts +0 -4
  242. package/dist/components/ui/drawer/drawer-trigger.svelte +0 -7
  243. package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +0 -4
  244. package/dist/components/ui/drawer/drawer.svelte +0 -12
  245. package/dist/components/ui/drawer/drawer.svelte.d.ts +0 -3
  246. package/dist/components/ui/drawer/index.d.ts +0 -13
  247. package/dist/components/ui/drawer/index.js +0 -15
  248. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +0 -41
  249. package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +0 -9
  250. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +0 -27
  251. package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +0 -7
  252. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +0 -22
  253. package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +0 -8
  254. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +0 -7
  255. package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +0 -4
  256. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +0 -27
  257. package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +0 -8
  258. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +0 -24
  259. package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +0 -8
  260. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +0 -16
  261. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +0 -4
  262. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +0 -31
  263. package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +0 -4
  264. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +0 -17
  265. package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +0 -4
  266. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +0 -20
  267. package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +0 -5
  268. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +0 -20
  269. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +0 -4
  270. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +0 -29
  271. package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +0 -7
  272. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +0 -7
  273. package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +0 -4
  274. package/dist/components/ui/dropdown-menu/index.d.ts +0 -25
  275. package/dist/components/ui/dropdown-menu/index.js +0 -17
  276. package/dist/components/ui/input/index.d.ts +0 -2
  277. package/dist/components/ui/input/index.js +0 -4
  278. package/dist/components/ui/input/input.svelte +0 -51
  279. package/dist/components/ui/input/input.svelte.d.ts +0 -13
  280. package/dist/components/ui/label/index.d.ts +0 -2
  281. package/dist/components/ui/label/index.js +0 -4
  282. package/dist/components/ui/label/label.svelte +0 -20
  283. package/dist/components/ui/label/label.svelte.d.ts +0 -4
  284. package/dist/components/ui/scroll-area/index.d.ts +0 -3
  285. package/dist/components/ui/scroll-area/index.js +0 -5
  286. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +0 -31
  287. package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +0 -4
  288. package/dist/components/ui/scroll-area/scroll-area.svelte +0 -40
  289. package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +0 -10
  290. package/dist/components/ui/select/index.d.ts +0 -11
  291. package/dist/components/ui/select/index.js +0 -14
  292. package/dist/components/ui/select/select-content.svelte +0 -40
  293. package/dist/components/ui/select/select-content.svelte.d.ts +0 -8
  294. package/dist/components/ui/select/select-group-heading.svelte +0 -21
  295. package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -10
  296. package/dist/components/ui/select/select-group.svelte +0 -7
  297. package/dist/components/ui/select/select-group.svelte.d.ts +0 -4
  298. package/dist/components/ui/select/select-item.svelte +0 -38
  299. package/dist/components/ui/select/select-item.svelte.d.ts +0 -4
  300. package/dist/components/ui/select/select-label.svelte +0 -20
  301. package/dist/components/ui/select/select-label.svelte.d.ts +0 -6
  302. package/dist/components/ui/select/select-scroll-down-button.svelte +0 -20
  303. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -4
  304. package/dist/components/ui/select/select-scroll-up-button.svelte +0 -20
  305. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -4
  306. package/dist/components/ui/select/select-separator.svelte +0 -18
  307. package/dist/components/ui/select/select-separator.svelte.d.ts +0 -4
  308. package/dist/components/ui/select/select-trigger.svelte +0 -29
  309. package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -8
  310. package/dist/components/ui/separator/index.d.ts +0 -2
  311. package/dist/components/ui/separator/index.js +0 -4
  312. package/dist/components/ui/separator/separator.svelte +0 -20
  313. package/dist/components/ui/separator/separator.svelte.d.ts +0 -4
  314. package/dist/components/ui/sheet/index.d.ts +0 -11
  315. package/dist/components/ui/sheet/index.js +0 -14
  316. package/dist/components/ui/sheet/sheet-close.svelte +0 -7
  317. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +0 -4
  318. package/dist/components/ui/sheet/sheet-content.svelte +0 -58
  319. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -35
  320. package/dist/components/ui/sheet/sheet-description.svelte +0 -17
  321. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -4
  322. package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
  323. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -5
  324. package/dist/components/ui/sheet/sheet-header.svelte +0 -20
  325. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -5
  326. package/dist/components/ui/sheet/sheet-overlay.svelte +0 -20
  327. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -4
  328. package/dist/components/ui/sheet/sheet-title.svelte +0 -17
  329. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -4
  330. package/dist/components/ui/sheet/sheet-trigger.svelte +0 -7
  331. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +0 -4
  332. package/dist/components/ui/sidebar/constants.d.ts +0 -6
  333. package/dist/components/ui/sidebar/constants.js +0 -6
  334. package/dist/components/ui/sidebar/context.svelte.d.ts +0 -42
  335. package/dist/components/ui/sidebar/context.svelte.js +0 -54
  336. package/dist/components/ui/sidebar/index.d.ts +0 -25
  337. package/dist/components/ui/sidebar/index.js +0 -27
  338. package/dist/components/ui/sidebar/sidebar-content.svelte +0 -24
  339. package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +0 -5
  340. package/dist/components/ui/sidebar/sidebar-footer.svelte +0 -21
  341. package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +0 -5
  342. package/dist/components/ui/sidebar/sidebar-group-action.svelte +0 -36
  343. package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +0 -11
  344. package/dist/components/ui/sidebar/sidebar-group-content.svelte +0 -21
  345. package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +0 -5
  346. package/dist/components/ui/sidebar/sidebar-group-label.svelte +0 -34
  347. package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +0 -11
  348. package/dist/components/ui/sidebar/sidebar-group.svelte +0 -21
  349. package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +0 -5
  350. package/dist/components/ui/sidebar/sidebar-header.svelte +0 -21
  351. package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +0 -5
  352. package/dist/components/ui/sidebar/sidebar-input.svelte +0 -21
  353. package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +0 -11
  354. package/dist/components/ui/sidebar/sidebar-inset.svelte +0 -24
  355. package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +0 -5
  356. package/dist/components/ui/sidebar/sidebar-menu-action.svelte +0 -43
  357. package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +0 -12
  358. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +0 -29
  359. package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +0 -5
  360. package/dist/components/ui/sidebar/sidebar-menu-button.svelte +0 -103
  361. package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +0 -51
  362. package/dist/components/ui/sidebar/sidebar-menu-item.svelte +0 -21
  363. package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +0 -5
  364. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +0 -36
  365. package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +0 -8
  366. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +0 -43
  367. package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +0 -13
  368. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +0 -21
  369. package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +0 -5
  370. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +0 -25
  371. package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +0 -5
  372. package/dist/components/ui/sidebar/sidebar-menu.svelte +0 -21
  373. package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +0 -5
  374. package/dist/components/ui/sidebar/sidebar-provider.svelte +0 -53
  375. package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +0 -9
  376. package/dist/components/ui/sidebar/sidebar-rail.svelte +0 -36
  377. package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +0 -5
  378. package/dist/components/ui/sidebar/sidebar-separator.svelte +0 -19
  379. package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +0 -13
  380. package/dist/components/ui/sidebar/sidebar-trigger.svelte +0 -35
  381. package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +0 -8
  382. package/dist/components/ui/sidebar/sidebar.svelte +0 -104
  383. package/dist/components/ui/sidebar/sidebar.svelte.d.ts +0 -10
  384. package/dist/components/ui/skeleton/index.d.ts +0 -2
  385. package/dist/components/ui/skeleton/index.js +0 -4
  386. package/dist/components/ui/skeleton/skeleton.svelte +0 -17
  387. package/dist/components/ui/skeleton/skeleton.svelte.d.ts +0 -5
  388. package/dist/components/ui/table/index.d.ts +0 -9
  389. package/dist/components/ui/table/index.js +0 -11
  390. package/dist/components/ui/table/table-body.svelte +0 -20
  391. package/dist/components/ui/table/table-body.svelte.d.ts +0 -5
  392. package/dist/components/ui/table/table-caption.svelte +0 -20
  393. package/dist/components/ui/table/table-caption.svelte.d.ts +0 -5
  394. package/dist/components/ui/table/table-cell.svelte +0 -20
  395. package/dist/components/ui/table/table-cell.svelte.d.ts +0 -5
  396. package/dist/components/ui/table/table-footer.svelte +0 -20
  397. package/dist/components/ui/table/table-footer.svelte.d.ts +0 -5
  398. package/dist/components/ui/table/table-head.svelte +0 -23
  399. package/dist/components/ui/table/table-head.svelte.d.ts +0 -5
  400. package/dist/components/ui/table/table-header.svelte +0 -20
  401. package/dist/components/ui/table/table-header.svelte.d.ts +0 -5
  402. package/dist/components/ui/table/table-row.svelte +0 -23
  403. package/dist/components/ui/table/table-row.svelte.d.ts +0 -5
  404. package/dist/components/ui/table/table.svelte +0 -22
  405. package/dist/components/ui/table/table.svelte.d.ts +0 -5
  406. package/dist/components/ui/tabs/index.d.ts +0 -5
  407. package/dist/components/ui/tabs/index.js +0 -7
  408. package/dist/components/ui/tabs/tabs-content.svelte +0 -17
  409. package/dist/components/ui/tabs/tabs-content.svelte.d.ts +0 -4
  410. package/dist/components/ui/tabs/tabs-list.svelte +0 -20
  411. package/dist/components/ui/tabs/tabs-list.svelte.d.ts +0 -4
  412. package/dist/components/ui/tabs/tabs-trigger.svelte +0 -20
  413. package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +0 -4
  414. package/dist/components/ui/tabs/tabs.svelte +0 -19
  415. package/dist/components/ui/tabs/tabs.svelte.d.ts +0 -4
  416. package/dist/components/ui/toggle/index.d.ts +0 -3
  417. package/dist/components/ui/toggle/index.js +0 -5
  418. package/dist/components/ui/toggle/toggle.svelte +0 -52
  419. package/dist/components/ui/toggle/toggle.svelte.d.ts +0 -43
  420. package/dist/components/ui/toggle-group/index.d.ts +0 -3
  421. package/dist/components/ui/toggle-group/index.js +0 -5
  422. package/dist/components/ui/toggle-group/toggle-group-item.svelte +0 -34
  423. package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +0 -6
  424. package/dist/components/ui/toggle-group/toggle-group.svelte +0 -47
  425. package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +0 -8
  426. package/dist/components/ui/tooltip/index.d.ts +0 -7
  427. package/dist/components/ui/tooltip/index.js +0 -9
  428. package/dist/components/ui/tooltip/tooltip-content.svelte +0 -47
  429. package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -7
  430. package/dist/components/ui/tooltip/tooltip-trigger.svelte +0 -7
  431. package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +0 -4
  432. package/dist/hooks/is-mobile.svelte.d.ts +0 -4
  433. package/dist/hooks/is-mobile.svelte.js +0 -7
  434. package/dist/services/index.d.ts +0 -9
  435. package/dist/services/index.js +0 -10
  436. package/dist/types/docs.d.ts +0 -67
  437. package/dist/utils.d.ts +0 -15
  438. package/dist/utils.js +0 -44
  439. /package/dist/{types/docs.js → services/in-app-messaging.d.ts} +0 -0
@@ -0,0 +1,302 @@
1
+ import { getAI, getGenerativeModel, GoogleAIBackend, VertexAIBackend } from 'firebase/ai';
2
+ import { firebaseService } from '../firebase.js';
3
+ function getAIInstance(backend = 'googleai') {
4
+ const app = firebaseService.getFirebaseApp();
5
+ if (!app)
6
+ throw new Error('Firebase app is not initialized.');
7
+ const backendInstance = backend === 'vertexai' ? new VertexAIBackend() : new GoogleAIBackend();
8
+ return getAI(app, { backend: backendInstance });
9
+ }
10
+ // ── Content helpers ───────────────────────────────────────────────────────────
11
+ /** Builds a text Part. */
12
+ export function textPart(text) {
13
+ return { text };
14
+ }
15
+ /** Builds an inline image Part from a base64 data URL or raw base64 string. */
16
+ export function imagePart(base64, mimeType = 'image/jpeg') {
17
+ const data = base64.startsWith('data:')
18
+ ? base64.split(',')[1]
19
+ : base64;
20
+ return { inlineData: { data, mimeType } };
21
+ }
22
+ /** Builds an image Part from a publicly accessible URL. */
23
+ export function imageUrlPart(url, mimeType = 'image/jpeg') {
24
+ return { fileData: { fileUri: url, mimeType } };
25
+ }
26
+ // ── One-shot generation ───────────────────────────────────────────────────────
27
+ /**
28
+ * Reactive one-shot AI generation.
29
+ *
30
+ * Calls `generateContent` and exposes reactive state. Re-call `generate()`
31
+ * to produce new results.
32
+ *
33
+ * @example
34
+ * ```svelte
35
+ * <script lang="ts">
36
+ * import { firekitGenerate } from 'svelte-firekit';
37
+ * const gen = firekitGenerate({ model: 'gemini-2.0-flash' });
38
+ * gen.generate('Summarize the following: ...');
39
+ * </script>
40
+ * {#if gen.loading}<p>Thinking…</p>{/if}
41
+ * {#if gen.text}<p>{gen.text}</p>{/if}
42
+ * ```
43
+ */
44
+ export class FirekitGenerate {
45
+ _text = $state(null);
46
+ _loading = $state(false);
47
+ _error = $state(null);
48
+ hasResult = $derived(this._text !== null && !this._loading);
49
+ _model;
50
+ constructor(options = {}) {
51
+ const { backend = 'googleai', model = 'gemini-2.0-flash', generationConfig, safetySettings, systemInstruction } = options;
52
+ const ai = getAIInstance(backend);
53
+ const params = { model };
54
+ if (generationConfig)
55
+ params.generationConfig = generationConfig;
56
+ if (safetySettings)
57
+ params.safetySettings = safetySettings;
58
+ if (systemInstruction)
59
+ params.systemInstruction = systemInstruction;
60
+ this._model = getGenerativeModel(ai, params);
61
+ }
62
+ get text() { return this._text; }
63
+ get loading() { return this._loading; }
64
+ get error() { return this._error; }
65
+ /**
66
+ * Generates a response for the given prompt (text or multi-part content).
67
+ * Returns the generated text, or null on error.
68
+ */
69
+ async generate(prompt) {
70
+ this._loading = true;
71
+ this._error = null;
72
+ try {
73
+ const result = await this._model.generateContent(prompt);
74
+ const text = result.response.text();
75
+ this._text = text;
76
+ return text;
77
+ }
78
+ catch (err) {
79
+ this._error = err instanceof Error ? err : new Error(String(err));
80
+ return null;
81
+ }
82
+ finally {
83
+ this._loading = false;
84
+ }
85
+ }
86
+ /** Resets result and error state. */
87
+ reset() {
88
+ this._text = null;
89
+ this._error = null;
90
+ }
91
+ }
92
+ // ── Streaming generation ──────────────────────────────────────────────────────
93
+ /**
94
+ * Reactive streaming AI generation.
95
+ *
96
+ * Streams tokens into `text` as they arrive from the model.
97
+ *
98
+ * @example
99
+ * ```svelte
100
+ * <script lang="ts">
101
+ * import { firekitStream } from 'svelte-firekit';
102
+ * const gen = firekitStream({ model: 'gemini-2.0-flash' });
103
+ * gen.generate('Write a poem about Svelte.');
104
+ * </script>
105
+ * {#if gen.streaming}<span class="cursor">▍</span>{/if}
106
+ * <p>{gen.text}</p>
107
+ * ```
108
+ */
109
+ export class FirekitStream {
110
+ _text = $state('');
111
+ _streaming = $state(false);
112
+ _loading = $state(false);
113
+ _error = $state(null);
114
+ done = $derived(!this._loading && !this._streaming);
115
+ _model;
116
+ constructor(options = {}) {
117
+ const { backend = 'googleai', model = 'gemini-2.0-flash', generationConfig, safetySettings, systemInstruction } = options;
118
+ const ai = getAIInstance(backend);
119
+ const params = { model };
120
+ if (generationConfig)
121
+ params.generationConfig = generationConfig;
122
+ if (safetySettings)
123
+ params.safetySettings = safetySettings;
124
+ if (systemInstruction)
125
+ params.systemInstruction = systemInstruction;
126
+ this._model = getGenerativeModel(ai, params);
127
+ }
128
+ get text() { return this._text; }
129
+ get streaming() { return this._streaming; }
130
+ get loading() { return this._loading; }
131
+ get error() { return this._error; }
132
+ /**
133
+ * Streams a response for the given prompt.
134
+ * Resolves with the full text once streaming completes.
135
+ */
136
+ async generate(prompt) {
137
+ this._text = '';
138
+ this._loading = true;
139
+ this._streaming = false;
140
+ this._error = null;
141
+ try {
142
+ const stream = await this._model.generateContentStream(prompt);
143
+ this._loading = false;
144
+ this._streaming = true;
145
+ for await (const chunk of stream.stream) {
146
+ const chunkText = chunk.text();
147
+ this._text += chunkText;
148
+ }
149
+ // Final aggregated response
150
+ const final = await stream.response;
151
+ this._text = final.text();
152
+ return this._text;
153
+ }
154
+ catch (err) {
155
+ this._error = err instanceof Error ? err : new Error(String(err));
156
+ return '';
157
+ }
158
+ finally {
159
+ this._streaming = false;
160
+ this._loading = false;
161
+ }
162
+ }
163
+ /** Resets accumulated text and error. */
164
+ reset() {
165
+ this._text = '';
166
+ this._error = null;
167
+ }
168
+ }
169
+ // ── Chat session ──────────────────────────────────────────────────────────────
170
+ /**
171
+ * Reactive multi-turn chat session.
172
+ *
173
+ * Maintains conversation history and exposes reactive state for each
174
+ * assistant turn (supports both streaming and non-streaming).
175
+ *
176
+ * @example
177
+ * ```svelte
178
+ * <script lang="ts">
179
+ * import { firekitChat } from 'svelte-firekit';
180
+ * const chat = firekitChat({ model: 'gemini-2.0-flash' });
181
+ * await chat.send('Hello!');
182
+ * </script>
183
+ * {#each chat.history as msg}
184
+ * <div class={msg.role}>{msg.text}</div>
185
+ * {/each}
186
+ * {#if chat.streaming}<span>▍</span>{/if}
187
+ * ```
188
+ */
189
+ export class FirekitChat {
190
+ _history = $state([]);
191
+ _pendingText = $state('');
192
+ _loading = $state(false);
193
+ _streaming = $state(false);
194
+ _error = $state(null);
195
+ lastMessage = $derived(this._history.length > 0 ? this._history[this._history.length - 1] : null);
196
+ isEmpty = $derived(this._history.length === 0);
197
+ _session;
198
+ constructor(options = {}, initialHistory = []) {
199
+ const { backend = 'googleai', model = 'gemini-2.0-flash', generationConfig, safetySettings, systemInstruction } = options;
200
+ const ai = getAIInstance(backend);
201
+ const params = { model };
202
+ if (generationConfig)
203
+ params.generationConfig = generationConfig;
204
+ if (safetySettings)
205
+ params.safetySettings = safetySettings;
206
+ if (systemInstruction)
207
+ params.systemInstruction = systemInstruction;
208
+ const genModel = getGenerativeModel(ai, params);
209
+ this._session = genModel.startChat({ history: initialHistory });
210
+ // Seed history from initialHistory
211
+ for (const turn of initialHistory) {
212
+ const text = turn.parts
213
+ .map((p) => ('text' in p ? p.text : ''))
214
+ .filter(Boolean)
215
+ .join('');
216
+ this._history.push({
217
+ role: turn.role,
218
+ parts: turn.parts,
219
+ text
220
+ });
221
+ }
222
+ }
223
+ get history() { return this._history; }
224
+ get pendingText() { return this._pendingText; }
225
+ get loading() { return this._loading; }
226
+ get streaming() { return this._streaming; }
227
+ get error() { return this._error; }
228
+ /**
229
+ * Sends a message and returns the model's response text.
230
+ * Uses streaming by default for a responsive UI.
231
+ */
232
+ async send(message, { stream = true } = {}) {
233
+ const parts = typeof message === 'string' ? [{ text: message }] : message;
234
+ const userText = parts.map((p) => ('text' in p ? p.text : '')).join('');
235
+ this._history.push({ role: 'user', parts, text: userText });
236
+ this._pendingText = '';
237
+ this._loading = true;
238
+ this._error = null;
239
+ try {
240
+ let responseText = '';
241
+ if (stream) {
242
+ const result = await this._session.sendMessageStream(parts);
243
+ this._loading = false;
244
+ this._streaming = true;
245
+ for await (const chunk of result.stream) {
246
+ const chunkText = chunk.text();
247
+ this._pendingText += chunkText;
248
+ }
249
+ const final = await result.response;
250
+ responseText = final.text();
251
+ }
252
+ else {
253
+ const result = await this._session.sendMessage(parts);
254
+ this._loading = false;
255
+ responseText = result.response.text();
256
+ }
257
+ this._history.push({
258
+ role: 'model',
259
+ parts: [{ text: responseText }],
260
+ text: responseText
261
+ });
262
+ this._pendingText = '';
263
+ return responseText;
264
+ }
265
+ catch (err) {
266
+ this._error = err instanceof Error ? err : new Error(String(err));
267
+ this._pendingText = '';
268
+ return '';
269
+ }
270
+ finally {
271
+ this._loading = false;
272
+ this._streaming = false;
273
+ }
274
+ }
275
+ /** Clears the conversation history and starts a fresh session. */
276
+ clear() {
277
+ this._history = [];
278
+ this._pendingText = '';
279
+ this._error = null;
280
+ }
281
+ }
282
+ // ── Factory functions ─────────────────────────────────────────────────────────
283
+ /**
284
+ * Creates a reactive one-shot AI text generator.
285
+ */
286
+ export function firekitGenerate(options) {
287
+ return new FirekitGenerate(options);
288
+ }
289
+ /**
290
+ * Creates a reactive streaming AI text generator.
291
+ */
292
+ export function firekitStream(options) {
293
+ return new FirekitStream(options);
294
+ }
295
+ /**
296
+ * Creates a reactive multi-turn AI chat session.
297
+ */
298
+ export function firekitChat(options, initialHistory) {
299
+ return new FirekitChat(options, initialHistory);
300
+ }
301
+ // Re-export useful Firebase AI types consumers may need
302
+ export { GoogleAIBackend, VertexAIBackend };
@@ -1,272 +1,80 @@
1
+ import { type ConsentSettings } from 'firebase/analytics';
1
2
  /**
2
- * @fileoverview FirekitAnalytics - Google Analytics Service for SvelteKit with Firebase Analytics
3
- * @module FirekitAnalytics
4
- * @version 1.0.0
5
- */
6
- import { type Analytics } from 'firebase/analytics';
7
- import type { AnalyticsEvent, EcommerceItem, PurchaseEvent, FormSubmissionEvent, SearchEvent, PageViewEvent, EngagementEvent } from '../types/analytics.js';
8
- /**
9
- * Comprehensive Firebase Analytics service for SvelteKit applications.
10
- * Provides a complete analytics solution with automatic user tracking,
11
- * e-commerce tracking, and SvelteKit-specific features.
3
+ * Firebase Analytics wrapper.
4
+ *
5
+ * Lazily initializes Analytics (checks `isSupported()` first) and
6
+ * provides a clean, typed API for event logging and user properties.
12
7
  *
13
- * @class FirekitAnalytics
14
8
  * @example
15
- * ```typescript
9
+ * ```ts
16
10
  * import { firekitAnalytics } from 'svelte-firekit';
17
11
  *
18
- * // Track a custom event
19
- * firekitAnalytics.trackEvent('button_click', { button_name: 'signup' });
20
- *
21
- * // Track a purchase
22
- * firekitAnalytics.trackPurchase({
23
- * transaction_id: 'T12345',
24
- * value: 29.99,
25
- * currency: 'USD',
26
- * items: [{ item_id: 'prod_123', item_name: 'Premium Plan' }]
27
- * });
12
+ * firekitAnalytics.logEvent('purchase', { value: 9.99, currency: 'USD' });
13
+ * firekitAnalytics.setUserId(user.uid);
28
14
  * ```
29
15
  */
30
16
  declare class FirekitAnalytics {
31
17
  private static instance;
32
- private analytics;
33
- private _initialized;
34
- private customParameters;
35
- private debugMode;
18
+ private _analytics;
19
+ private _initPromise;
36
20
  private constructor();
37
- /**
38
- * Gets singleton instance of FirekitAnalytics
39
- * @returns {FirekitAnalytics} The FirekitAnalytics instance
40
- */
41
21
  static getInstance(): FirekitAnalytics;
22
+ private _init;
23
+ private _get;
42
24
  /**
43
- * Initializes the analytics service
44
- */
45
- private initialize;
46
- /**
47
- * Checks if analytics is available
48
- * @private
49
- */
50
- private isAnalyticsAvailable;
51
- /**
52
- * Gets the analytics instance
53
- * @returns {Analytics | null} Firebase Analytics instance
54
- */
55
- getAnalyticsInstance(): Analytics | null;
56
- /**
57
- * Checks if analytics is initialized
58
- * @returns {boolean} True if analytics is initialized
59
- */
60
- isInitialized(): boolean;
61
- /**
62
- * Logs a custom analytics event
63
- * @param {string} eventName Name of the event
64
- * @param {Record<string, any>} parameters Event parameters
25
+ * Logs a custom or standard analytics event.
65
26
  *
66
27
  * @example
67
- * ```typescript
68
- * firekitAnalytics.trackEvent('button_click', {
69
- * button_name: 'signup',
70
- * page_location: '/home'
71
- * });
28
+ * ```ts
29
+ * firekitAnalytics.logEvent('sign_up', { method: 'google' });
30
+ * firekitAnalytics.logEvent('page_view', { page_title: 'Home' });
72
31
  * ```
73
32
  */
74
- trackEvent(eventName: string, parameters?: Record<string, any>): void;
33
+ logEvent(eventName: string, eventParams?: Record<string, unknown>): Promise<void>;
75
34
  /**
76
- * Tracks page view events
77
- * @param {PageViewEvent} pageView Page view data
78
- *
79
- * @example
80
- * ```typescript
81
- * firekitAnalytics.trackPageView({
82
- * page_path: '/products',
83
- * page_title: 'Products Page'
84
- * });
85
- * ```
86
- */
87
- trackPageView(pageView: PageViewEvent): void;
88
- /**
89
- * Sets user ID for analytics
90
- * @param {string | null} userId User ID or null to clear
35
+ * Sets the Analytics user ID.
36
+ * Pass `null` to clear the user ID (e.g. on sign-out).
91
37
  */
92
- setUserId(userId: string | null): void;
38
+ setUserId(id: string | null): Promise<void>;
93
39
  /**
94
- * Sets user properties for analytics
95
- * @param {Record<string, any>} properties User properties
40
+ * Sets Analytics user properties.
96
41
  *
97
42
  * @example
98
- * ```typescript
99
- * firekitAnalytics.setUserProperties({
100
- * user_type: 'premium',
101
- * subscription_plan: 'pro'
102
- * });
43
+ * ```ts
44
+ * firekitAnalytics.setUserProperties({ plan: 'pro', locale: 'en-US' });
103
45
  * ```
104
46
  */
105
- setUserProperties(properties: Record<string, any>): void;
47
+ setUserProperties(properties: Record<string, string | null>): Promise<void>;
106
48
  /**
107
- * Tracks purchase events
108
- * @param {PurchaseEvent} purchase Purchase data
49
+ * Logs a screen_view event.
109
50
  *
110
51
  * @example
111
- * ```typescript
112
- * firekitAnalytics.trackPurchase({
113
- * transaction_id: 'T12345',
114
- * value: 29.99,
115
- * currency: 'USD',
116
- * items: [{
117
- * item_id: 'prod_123',
118
- * item_name: 'Premium Plan',
119
- * price: 29.99
120
- * }]
121
- * });
52
+ * ```ts
53
+ * firekitAnalytics.setCurrentScreen('ProductDetail');
122
54
  * ```
123
55
  */
124
- trackPurchase(purchase: PurchaseEvent): void;
56
+ setCurrentScreen(screenName: string): Promise<void>;
125
57
  /**
126
- * Tracks add to cart events
127
- * @param {EcommerceItem} item Item being added to cart
128
- * @param {number} value Total value of the cart
129
- * @param {string} currency Currency code
130
- *
131
- * @example
132
- * ```typescript
133
- * firekitAnalytics.trackAddToCart({
134
- * item_id: 'prod_123',
135
- * item_name: 'Premium Plan',
136
- * price: 29.99
137
- * }, 29.99, 'USD');
138
- * ```
58
+ * Sets default parameters that will be included with every logged event.
139
59
  */
140
- trackAddToCart(item: EcommerceItem, value: number, currency?: string): void;
60
+ setDefaultEventParameters(params: Record<string, unknown> | null): Promise<void>;
141
61
  /**
142
- * Tracks remove from cart events
143
- * @param {EcommerceItem} item Item being removed from cart
144
- * @param {number} value Total value of the cart
145
- * @param {string} currency Currency code
146
- */
147
- trackRemoveFromCart(item: EcommerceItem, value: number, currency?: string): void;
148
- /**
149
- * Tracks view item events
150
- * @param {EcommerceItem} item Item being viewed
151
- */
152
- trackViewItem(item: EcommerceItem): void;
153
- /**
154
- * Tracks begin checkout events
155
- * @param {EcommerceItem[]} items Items in cart
156
- * @param {number} value Total value
157
- * @param {string} currency Currency code
158
- */
159
- trackBeginCheckout(items: EcommerceItem[], value: number, currency?: string): void;
160
- /**
161
- * Tracks form submission events
162
- * @param {FormSubmissionEvent} formSubmission Form submission data
163
- *
164
- * @example
165
- * ```typescript
166
- * firekitAnalytics.trackFormSubmission({
167
- * form_name: 'contact_form',
168
- * success: true
169
- * });
170
- * ```
62
+ * Enables or disables Analytics data collection.
63
+ * Useful for respecting user consent.
171
64
  */
172
- trackFormSubmission(formSubmission: FormSubmissionEvent): void;
65
+ setCollectionEnabled(enabled: boolean): Promise<void>;
173
66
  /**
174
- * Tracks search events
175
- * @param {SearchEvent} search Search data
67
+ * Updates consent settings (GDPR, CCPA, etc.).
176
68
  *
177
69
  * @example
178
- * ```typescript
179
- * firekitAnalytics.trackSearch({
180
- * search_term: 'premium features',
181
- * results_count: 15
70
+ * ```ts
71
+ * firekitAnalytics.setConsent({
72
+ * analytics_storage: 'granted',
73
+ * ad_storage: 'denied'
182
74
  * });
183
75
  * ```
184
76
  */
185
- trackSearch(search: SearchEvent): void;
186
- /**
187
- * Tracks custom conversion events
188
- * @param {string} conversionName Name of the conversion
189
- * @param {number} value Conversion value
190
- * @param {string} currency Currency code
191
- */
192
- trackConversion(conversionName: string, value?: number, currency?: string): void;
193
- /**
194
- * Tracks user engagement events
195
- * @param {EngagementEvent} engagement Engagement data
196
- */
197
- trackEngagement(engagement: EngagementEvent): void;
198
- /**
199
- * Initializes automatic page tracking for SvelteKit
200
- * @param {boolean} trackInitialPage Whether to track the initial page load
201
- *
202
- * @example
203
- * ```typescript
204
- * // In your app.html or layout
205
- * firekitAnalytics.initPageTracking();
206
- * ```
207
- */
208
- initPageTracking(trackInitialPage?: boolean): void;
209
- /**
210
- * Tracks route changes manually (useful for custom routing)
211
- * @param {string} route Route path
212
- * @param {string} title Page title
213
- */
214
- trackRouteChange(route: string, title?: string): void;
215
- /**
216
- * Sets custom parameters that will be included in all subsequent events
217
- * @param {Record<string, any>} parameters Custom parameters
218
- */
219
- setCustomParameters(parameters: Record<string, any>): void;
220
- /**
221
- * Clears custom parameters
222
- */
223
- clearCustomParameters(): void;
224
- /**
225
- * Tracks multiple events in batch
226
- * @param {AnalyticsEvent[]} events Array of events to track
227
- */
228
- trackEvents(events: AnalyticsEvent[]): void;
229
- /**
230
- * Enables or disables analytics collection
231
- * @param {boolean} enabled Whether to enable analytics collection
232
- */
233
- setAnalyticsEnabled(enabled: boolean): void;
234
- /**
235
- * Sets debug mode for analytics
236
- * @param {boolean} enabled Whether to enable debug mode
237
- */
238
- setDebugMode(enabled: boolean): void;
239
- /**
240
- * Gets current debug mode status
241
- * @returns {boolean} Current debug mode status
242
- */
243
- getDebugMode(): boolean;
244
- /**
245
- * Cleans up analytics resources
246
- */
247
- cleanup(): void;
77
+ setConsent(settings: ConsentSettings): Promise<void>;
248
78
  }
249
- /**
250
- * Pre-initialized singleton instance of FirekitAnalytics.
251
- * This is the main export that should be used throughout your application.
252
- *
253
- * @example
254
- * ```typescript
255
- * import { firekitAnalytics } from 'svelte-firekit';
256
- *
257
- * // Track a custom event
258
- * firekitAnalytics.trackEvent('button_click', { button_name: 'signup' });
259
- *
260
- * // Initialize page tracking
261
- * firekitAnalytics.initPageTracking();
262
- *
263
- * // Track a purchase
264
- * firekitAnalytics.trackPurchase({
265
- * transaction_id: 'T12345',
266
- * value: 29.99,
267
- * currency: 'USD'
268
- * });
269
- * ```
270
- */
271
79
  export declare const firekitAnalytics: FirekitAnalytics;
272
80
  export {};