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,476 +1,144 @@
1
- /**
2
- * @fileoverview FirekitAnalytics - Google Analytics Service for SvelteKit with Firebase Analytics
3
- * @module FirekitAnalytics
4
- * @version 1.0.0
5
- */
6
- import { logEvent, setUserId, setUserProperties, setAnalyticsCollectionEnabled } from 'firebase/analytics';
1
+ import { getAnalytics, logEvent, setUserId, setUserProperties, setDefaultEventParameters, setAnalyticsCollectionEnabled, setConsent, isSupported } from 'firebase/analytics';
7
2
  import { firebaseService } from '../firebase.js';
8
- import { firekitAuth } from './auth.js';
3
+ function getApp() {
4
+ const app = firebaseService.getFirebaseApp();
5
+ if (!app)
6
+ throw new Error('Firebase app is not initialized.');
7
+ return app;
8
+ }
9
9
  /**
10
- * Comprehensive Firebase Analytics service for SvelteKit applications.
11
- * Provides a complete analytics solution with automatic user tracking,
12
- * e-commerce tracking, and SvelteKit-specific features.
10
+ * Firebase Analytics wrapper.
11
+ *
12
+ * Lazily initializes Analytics (checks `isSupported()` first) and
13
+ * provides a clean, typed API for event logging and user properties.
13
14
  *
14
- * @class FirekitAnalytics
15
15
  * @example
16
- * ```typescript
16
+ * ```ts
17
17
  * import { firekitAnalytics } from 'svelte-firekit';
18
18
  *
19
- * // Track a custom event
20
- * firekitAnalytics.trackEvent('button_click', { button_name: 'signup' });
21
- *
22
- * // Track a purchase
23
- * firekitAnalytics.trackPurchase({
24
- * transaction_id: 'T12345',
25
- * value: 29.99,
26
- * currency: 'USD',
27
- * items: [{ item_id: 'prod_123', item_name: 'Premium Plan' }]
28
- * });
19
+ * firekitAnalytics.logEvent('purchase', { value: 9.99, currency: 'USD' });
20
+ * firekitAnalytics.setUserId(user.uid);
29
21
  * ```
30
22
  */
31
23
  class FirekitAnalytics {
32
24
  static instance;
33
- analytics = null;
34
- _initialized = false;
35
- customParameters = {};
36
- debugMode = false;
37
- constructor() {
38
- if (typeof window !== 'undefined') {
39
- this.initialize();
40
- }
41
- }
42
- /**
43
- * Gets singleton instance of FirekitAnalytics
44
- * @returns {FirekitAnalytics} The FirekitAnalytics instance
45
- */
25
+ _analytics = null;
26
+ _initPromise = null;
27
+ constructor() { }
46
28
  static getInstance() {
47
29
  if (!FirekitAnalytics.instance) {
48
30
  FirekitAnalytics.instance = new FirekitAnalytics();
49
31
  }
50
32
  return FirekitAnalytics.instance;
51
33
  }
52
- /**
53
- * Initializes the analytics service
54
- */
55
- initialize() {
56
- if (this._initialized || typeof window === 'undefined')
57
- return;
58
- try {
59
- this.analytics = firebaseService.getAnalyticsInstance();
60
- this._initialized = true;
61
- console.log('FirekitAnalytics initialized successfully');
62
- }
63
- catch (error) {
64
- console.error('Failed to initialize FirekitAnalytics:', error);
65
- this._initialized = false;
66
- }
67
- }
68
- /**
69
- * Checks if analytics is available
70
- * @private
71
- */
72
- isAnalyticsAvailable() {
73
- return this._initialized && this.analytics !== null;
74
- }
75
- /**
76
- * Gets the analytics instance
77
- * @returns {Analytics | null} Firebase Analytics instance
78
- */
79
- getAnalyticsInstance() {
80
- return this.analytics;
81
- }
82
- /**
83
- * Checks if analytics is initialized
84
- * @returns {boolean} True if analytics is initialized
85
- */
86
- isInitialized() {
87
- return this._initialized;
88
- }
89
- // ========================================
90
- // CORE TRACKING FUNCTIONS
91
- // ========================================
92
- /**
93
- * Logs a custom analytics event
94
- * @param {string} eventName Name of the event
95
- * @param {Record<string, any>} parameters Event parameters
34
+ _init() {
35
+ if (this._initPromise)
36
+ return this._initPromise;
37
+ this._initPromise = (async () => {
38
+ if (typeof window === 'undefined')
39
+ return;
40
+ const supported = await isSupported();
41
+ if (!supported)
42
+ return;
43
+ this._analytics = getAnalytics(getApp());
44
+ })();
45
+ return this._initPromise;
46
+ }
47
+ async _get() {
48
+ await this._init();
49
+ return this._analytics;
50
+ }
51
+ // ── Event logging ─────────────────────────────────────────────────────────
52
+ /**
53
+ * Logs a custom or standard analytics event.
96
54
  *
97
55
  * @example
98
- * ```typescript
99
- * firekitAnalytics.trackEvent('button_click', {
100
- * button_name: 'signup',
101
- * page_location: '/home'
102
- * });
56
+ * ```ts
57
+ * firekitAnalytics.logEvent('sign_up', { method: 'google' });
58
+ * firekitAnalytics.logEvent('page_view', { page_title: 'Home' });
103
59
  * ```
104
60
  */
105
- trackEvent(eventName, parameters = {}) {
106
- if (!this.isAnalyticsAvailable()) {
107
- console.warn('Analytics not available, event not tracked:', eventName);
61
+ async logEvent(eventName, eventParams) {
62
+ const a = await this._get();
63
+ if (!a)
108
64
  return;
109
- }
110
- try {
111
- const mergedParameters = { ...this.customParameters, ...parameters };
112
- logEvent(this.analytics, eventName, mergedParameters);
113
- if (this.debugMode) {
114
- console.log('Analytics Event:', eventName, mergedParameters);
115
- }
116
- }
117
- catch (error) {
118
- console.error('Failed to track event:', eventName, error);
119
- }
120
- }
121
- /**
122
- * Tracks page view events
123
- * @param {PageViewEvent} pageView Page view data
124
- *
125
- * @example
126
- * ```typescript
127
- * firekitAnalytics.trackPageView({
128
- * page_path: '/products',
129
- * page_title: 'Products Page'
130
- * });
131
- * ```
132
- */
133
- trackPageView(pageView) {
134
- this.trackEvent('page_view', {
135
- page_path: pageView.page_path,
136
- page_title: pageView.page_title || document.title,
137
- page_location: pageView.page_location || window.location.href,
138
- page_referrer: pageView.page_referrer || document.referrer
139
- });
65
+ logEvent(a, eventName, eventParams);
140
66
  }
67
+ // ── User identity ─────────────────────────────────────────────────────────
141
68
  /**
142
- * Sets user ID for analytics
143
- * @param {string | null} userId User ID or null to clear
69
+ * Sets the Analytics user ID.
70
+ * Pass `null` to clear the user ID (e.g. on sign-out).
144
71
  */
145
- setUserId(userId) {
146
- if (!this.isAnalyticsAvailable())
72
+ async setUserId(id) {
73
+ const a = await this._get();
74
+ if (!a)
147
75
  return;
148
- try {
149
- setUserId(this.analytics, userId);
150
- }
151
- catch (error) {
152
- console.error('Failed to set user ID:', error);
153
- }
76
+ setUserId(a, id);
154
77
  }
155
78
  /**
156
- * Sets user properties for analytics
157
- * @param {Record<string, any>} properties User properties
79
+ * Sets Analytics user properties.
158
80
  *
159
81
  * @example
160
- * ```typescript
161
- * firekitAnalytics.setUserProperties({
162
- * user_type: 'premium',
163
- * subscription_plan: 'pro'
164
- * });
82
+ * ```ts
83
+ * firekitAnalytics.setUserProperties({ plan: 'pro', locale: 'en-US' });
165
84
  * ```
166
85
  */
167
- setUserProperties(properties) {
168
- if (!this.isAnalyticsAvailable())
86
+ async setUserProperties(properties) {
87
+ const a = await this._get();
88
+ if (!a)
169
89
  return;
170
- try {
171
- setUserProperties(this.analytics, properties);
172
- }
173
- catch (error) {
174
- console.error('Failed to set user properties:', error);
175
- }
90
+ setUserProperties(a, properties);
176
91
  }
177
- // ========================================
178
- // E-COMMERCE TRACKING
179
- // ========================================
92
+ // ── Screen / page tracking ────────────────────────────────────────────────
180
93
  /**
181
- * Tracks purchase events
182
- * @param {PurchaseEvent} purchase Purchase data
94
+ * Logs a screen_view event.
183
95
  *
184
96
  * @example
185
- * ```typescript
186
- * firekitAnalytics.trackPurchase({
187
- * transaction_id: 'T12345',
188
- * value: 29.99,
189
- * currency: 'USD',
190
- * items: [{
191
- * item_id: 'prod_123',
192
- * item_name: 'Premium Plan',
193
- * price: 29.99
194
- * }]
195
- * });
97
+ * ```ts
98
+ * firekitAnalytics.setCurrentScreen('ProductDetail');
196
99
  * ```
197
100
  */
198
- trackPurchase(purchase) {
199
- const parameters = {
200
- transaction_id: purchase.transaction_id,
201
- value: purchase.value,
202
- currency: purchase.currency || 'USD'
203
- };
204
- if (purchase.tax !== undefined)
205
- parameters.tax = purchase.tax;
206
- if (purchase.shipping !== undefined)
207
- parameters.shipping = purchase.shipping;
208
- if (purchase.items)
209
- parameters.items = purchase.items;
210
- this.trackEvent('purchase', parameters);
211
- }
212
- /**
213
- * Tracks add to cart events
214
- * @param {EcommerceItem} item Item being added to cart
215
- * @param {number} value Total value of the cart
216
- * @param {string} currency Currency code
217
- *
218
- * @example
219
- * ```typescript
220
- * firekitAnalytics.trackAddToCart({
221
- * item_id: 'prod_123',
222
- * item_name: 'Premium Plan',
223
- * price: 29.99
224
- * }, 29.99, 'USD');
225
- * ```
226
- */
227
- trackAddToCart(item, value, currency = 'USD') {
228
- this.trackEvent('add_to_cart', {
229
- currency,
230
- value,
231
- items: [item]
232
- });
233
- }
234
- /**
235
- * Tracks remove from cart events
236
- * @param {EcommerceItem} item Item being removed from cart
237
- * @param {number} value Total value of the cart
238
- * @param {string} currency Currency code
239
- */
240
- trackRemoveFromCart(item, value, currency = 'USD') {
241
- this.trackEvent('remove_from_cart', {
242
- currency,
243
- value,
244
- items: [item]
245
- });
246
- }
247
- /**
248
- * Tracks view item events
249
- * @param {EcommerceItem} item Item being viewed
250
- */
251
- trackViewItem(item) {
252
- this.trackEvent('view_item', {
253
- items: [item]
254
- });
101
+ async setCurrentScreen(screenName) {
102
+ const a = await this._get();
103
+ if (!a)
104
+ return;
105
+ logEvent(a, 'screen_view', { screen_name: screenName });
255
106
  }
107
+ // ── Defaults & consent ────────────────────────────────────────────────────
256
108
  /**
257
- * Tracks begin checkout events
258
- * @param {EcommerceItem[]} items Items in cart
259
- * @param {number} value Total value
260
- * @param {string} currency Currency code
109
+ * Sets default parameters that will be included with every logged event.
261
110
  */
262
- trackBeginCheckout(items, value, currency = 'USD') {
263
- this.trackEvent('begin_checkout', {
264
- currency,
265
- value,
266
- items
267
- });
111
+ async setDefaultEventParameters(params) {
112
+ await this._get();
113
+ if (params)
114
+ setDefaultEventParameters(params);
268
115
  }
269
- // ========================================
270
- // ENGAGEMENT TRACKING
271
- // ========================================
272
116
  /**
273
- * Tracks form submission events
274
- * @param {FormSubmissionEvent} formSubmission Form submission data
275
- *
276
- * @example
277
- * ```typescript
278
- * firekitAnalytics.trackFormSubmission({
279
- * form_name: 'contact_form',
280
- * success: true
281
- * });
282
- * ```
117
+ * Enables or disables Analytics data collection.
118
+ * Useful for respecting user consent.
283
119
  */
284
- trackFormSubmission(formSubmission) {
285
- const parameters = {
286
- form_name: formSubmission.form_name
287
- };
288
- if (formSubmission.form_id)
289
- parameters.form_id = formSubmission.form_id;
290
- if (formSubmission.success !== undefined)
291
- parameters.success = formSubmission.success;
292
- if (formSubmission.error_message)
293
- parameters.error_message = formSubmission.error_message;
294
- this.trackEvent('form_submit', parameters);
120
+ async setCollectionEnabled(enabled) {
121
+ const a = await this._get();
122
+ if (!a)
123
+ return;
124
+ setAnalyticsCollectionEnabled(a, enabled);
295
125
  }
296
126
  /**
297
- * Tracks search events
298
- * @param {SearchEvent} search Search data
127
+ * Updates consent settings (GDPR, CCPA, etc.).
299
128
  *
300
129
  * @example
301
- * ```typescript
302
- * firekitAnalytics.trackSearch({
303
- * search_term: 'premium features',
304
- * results_count: 15
130
+ * ```ts
131
+ * firekitAnalytics.setConsent({
132
+ * analytics_storage: 'granted',
133
+ * ad_storage: 'denied'
305
134
  * });
306
135
  * ```
307
136
  */
308
- trackSearch(search) {
309
- const parameters = {
310
- search_term: search.search_term
311
- };
312
- if (search.results_count !== undefined)
313
- parameters.results_count = search.results_count;
314
- if (search.category)
315
- parameters.category = search.category;
316
- this.trackEvent('search', parameters);
317
- }
318
- /**
319
- * Tracks custom conversion events
320
- * @param {string} conversionName Name of the conversion
321
- * @param {number} value Conversion value
322
- * @param {string} currency Currency code
323
- */
324
- trackConversion(conversionName, value, currency = 'USD') {
325
- const parameters = {};
326
- if (value !== undefined) {
327
- parameters.value = value;
328
- parameters.currency = currency;
329
- }
330
- this.trackEvent(conversionName, parameters);
331
- }
332
- /**
333
- * Tracks user engagement events
334
- * @param {EngagementEvent} engagement Engagement data
335
- */
336
- trackEngagement(engagement) {
337
- const parameters = {};
338
- if (engagement.engagement_time_msec)
339
- parameters.engagement_time_msec = engagement.engagement_time_msec;
340
- if (engagement.session_id)
341
- parameters.session_id = engagement.session_id;
342
- this.trackEvent('user_engagement', parameters);
343
- }
344
- // ========================================
345
- // SVELTEKIT-SPECIFIC FUNCTIONS
346
- // ========================================
347
- /**
348
- * Initializes automatic page tracking for SvelteKit
349
- * @param {boolean} trackInitialPage Whether to track the initial page load
350
- *
351
- * @example
352
- * ```typescript
353
- * // In your app.html or layout
354
- * firekitAnalytics.initPageTracking();
355
- * ```
356
- */
357
- initPageTracking(trackInitialPage = true) {
358
- if (typeof window === 'undefined')
137
+ async setConsent(settings) {
138
+ const a = await this._get();
139
+ if (!a)
359
140
  return;
360
- // Track initial page load
361
- if (trackInitialPage) {
362
- this.trackPageView({
363
- page_path: window.location.pathname,
364
- page_title: document.title
365
- });
366
- }
367
- // Listen for SvelteKit navigation events
368
- window.addEventListener('sveltekit:navigation-end', () => {
369
- this.trackPageView({
370
- page_path: window.location.pathname,
371
- page_title: document.title
372
- });
373
- });
374
- // Fallback for other navigation events
375
- window.addEventListener('popstate', () => {
376
- this.trackPageView({
377
- page_path: window.location.pathname,
378
- page_title: document.title
379
- });
380
- });
381
- }
382
- /**
383
- * Tracks route changes manually (useful for custom routing)
384
- * @param {string} route Route path
385
- * @param {string} title Page title
386
- */
387
- trackRouteChange(route, title) {
388
- this.trackPageView({
389
- page_path: route,
390
- page_title: title || document.title
391
- });
392
- }
393
- // ========================================
394
- // UTILITY FUNCTIONS
395
- // ========================================
396
- /**
397
- * Sets custom parameters that will be included in all subsequent events
398
- * @param {Record<string, any>} parameters Custom parameters
399
- */
400
- setCustomParameters(parameters) {
401
- this.customParameters = { ...this.customParameters, ...parameters };
402
- }
403
- /**
404
- * Clears custom parameters
405
- */
406
- clearCustomParameters() {
407
- this.customParameters = {};
408
- }
409
- /**
410
- * Tracks multiple events in batch
411
- * @param {AnalyticsEvent[]} events Array of events to track
412
- */
413
- trackEvents(events) {
414
- events.forEach((event) => {
415
- this.trackEvent(event.name, event.parameters);
416
- });
417
- }
418
- /**
419
- * Enables or disables analytics collection
420
- * @param {boolean} enabled Whether to enable analytics collection
421
- */
422
- setAnalyticsEnabled(enabled) {
423
- if (!this.isAnalyticsAvailable())
424
- return;
425
- try {
426
- setAnalyticsCollectionEnabled(this.analytics, enabled);
427
- }
428
- catch (error) {
429
- console.error('Failed to set analytics collection enabled:', error);
430
- }
431
- }
432
- /**
433
- * Sets debug mode for analytics
434
- * @param {boolean} enabled Whether to enable debug mode
435
- */
436
- setDebugMode(enabled) {
437
- this.debugMode = enabled;
438
- }
439
- /**
440
- * Gets current debug mode status
441
- * @returns {boolean} Current debug mode status
442
- */
443
- getDebugMode() {
444
- return this.debugMode;
445
- }
446
- /**
447
- * Cleans up analytics resources
448
- */
449
- cleanup() {
450
- this.customParameters = {};
451
- this.debugMode = false;
141
+ setConsent(settings);
452
142
  }
453
143
  }
454
- /**
455
- * Pre-initialized singleton instance of FirekitAnalytics.
456
- * This is the main export that should be used throughout your application.
457
- *
458
- * @example
459
- * ```typescript
460
- * import { firekitAnalytics } from 'svelte-firekit';
461
- *
462
- * // Track a custom event
463
- * firekitAnalytics.trackEvent('button_click', { button_name: 'signup' });
464
- *
465
- * // Initialize page tracking
466
- * firekitAnalytics.initPageTracking();
467
- *
468
- * // Track a purchase
469
- * firekitAnalytics.trackPurchase({
470
- * transaction_id: 'T12345',
471
- * value: 29.99,
472
- * currency: 'USD'
473
- * });
474
- * ```
475
- */
476
144
  export const firekitAnalytics = FirekitAnalytics.getInstance();
@@ -0,0 +1,82 @@
1
+ import { type AppCheckOptions, type AppCheckTokenResult } from 'firebase/app-check';
2
+ export type { AppCheckOptions, AppCheckTokenResult };
3
+ export { ReCaptchaV3Provider, ReCaptchaEnterpriseProvider, CustomProvider } from 'firebase/app-check';
4
+ /**
5
+ * App Check service — secures all Firebase service calls with attestation tokens.
6
+ *
7
+ * **Must be initialized before any other Firebase service makes a network call.**
8
+ * Use the `appCheckOptions` prop on `<FirebaseApp>`, or call `firekitAppCheck.initialize()`
9
+ * manually as early as possible in your app lifecycle.
10
+ *
11
+ * Supports reCAPTCHA Enterprise, reCAPTCHA v3, and custom providers.
12
+ *
13
+ * @example Via FirebaseApp component
14
+ * ```svelte
15
+ * <FirebaseApp
16
+ * {config}
17
+ * appCheckOptions={{ provider: new ReCaptchaEnterpriseProvider('SITE_KEY'), isTokenAutoRefreshEnabled: true }}
18
+ * >
19
+ * ```
20
+ *
21
+ * @example Programmatic initialization
22
+ * ```ts
23
+ * import { firekitAppCheck, ReCaptchaEnterpriseProvider } from 'svelte-firekit';
24
+ * firekitAppCheck.initialize({
25
+ * provider: new ReCaptchaEnterpriseProvider('SITE_KEY'),
26
+ * isTokenAutoRefreshEnabled: true
27
+ * });
28
+ * ```
29
+ *
30
+ * @example Debug mode in development
31
+ * ```ts
32
+ * // Set this BEFORE calling initialize() — Firebase SDK picks it up automatically
33
+ * if (import.meta.env.DEV) {
34
+ * (self as any).FIREBASE_APPCHECK_DEBUG_TOKEN = true;
35
+ * }
36
+ * firekitAppCheck.initialize({ provider: new ReCaptchaEnterpriseProvider('SITE_KEY') });
37
+ * ```
38
+ */
39
+ declare class FirekitAppCheck {
40
+ private static instance;
41
+ private appCheck;
42
+ private unsubscribeToken;
43
+ private _initialized;
44
+ private _loading;
45
+ private _error;
46
+ private _token;
47
+ private _tokenExpireTime;
48
+ private _isTokenValid;
49
+ private constructor();
50
+ static getInstance(): FirekitAppCheck;
51
+ /** Whether App Check has been initialized. */
52
+ get initialized(): boolean;
53
+ /** True while a token request is in flight. */
54
+ get loading(): boolean;
55
+ /** Last error from initialization or token fetch. */
56
+ get error(): Error | null;
57
+ /** The current App Check token string, or null if not yet acquired. */
58
+ get token(): string | null;
59
+ /** Whether the current token is present and has not expired locally. */
60
+ get isTokenValid(): boolean;
61
+ /**
62
+ * Initializes App Check. Must be called before any other Firebase network call.
63
+ * Idempotent — subsequent calls are no-ops.
64
+ */
65
+ initialize(options: AppCheckOptions): void;
66
+ /**
67
+ * Returns the current App Check token, fetching a fresh one if needed.
68
+ * @param forceRefresh - Force a new token even if the current one is valid.
69
+ */
70
+ getToken(forceRefresh?: boolean): Promise<AppCheckTokenResult | null>;
71
+ /**
72
+ * Returns a limited-use token (one-time use, not cached).
73
+ * Use this for sensitive operations like account deletion or payment flows.
74
+ */
75
+ getLimitedUseToken(): Promise<AppCheckTokenResult | null>;
76
+ /**
77
+ * Enables or disables automatic background token refresh.
78
+ */
79
+ setAutoRefresh(enabled: boolean): void;
80
+ dispose(): void;
81
+ }
82
+ export declare const firekitAppCheck: FirekitAppCheck;