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.
- package/README.md +550 -354
- package/dist/components/AuthGuard.svelte +64 -0
- package/dist/components/AuthGuard.svelte.d.ts +15 -0
- package/dist/components/Collection.svelte +62 -0
- package/dist/components/Collection.svelte.d.ts +39 -0
- package/dist/components/CustomGuard.svelte +87 -0
- package/dist/components/CustomGuard.svelte.d.ts +13 -0
- package/dist/components/Doc.svelte +56 -0
- package/dist/components/Doc.svelte.d.ts +36 -0
- package/dist/components/DownloadURL.svelte +48 -0
- package/dist/components/DownloadURL.svelte.d.ts +14 -0
- package/dist/components/FirebaseApp.svelte +81 -0
- package/dist/components/FirebaseApp.svelte.d.ts +12 -0
- package/dist/components/Node.svelte +54 -0
- package/dist/components/Node.svelte.d.ts +36 -0
- package/dist/components/SignedIn.svelte +22 -0
- package/dist/components/{firekit/signed-in.svelte.d.ts → SignedIn.svelte.d.ts} +1 -4
- package/dist/components/SignedOut.svelte +32 -0
- package/dist/components/{firekit/signed-out.svelte.d.ts → SignedOut.svelte.d.ts} +3 -5
- package/dist/components/UploadTask.svelte +75 -0
- package/dist/components/UploadTask.svelte.d.ts +33 -0
- package/dist/config.d.ts +29 -6
- package/dist/config.js +37 -74
- package/dist/context.d.ts +46 -0
- package/dist/context.js +56 -0
- package/dist/firebase.d.ts +25 -84
- package/dist/firebase.js +75 -125
- package/dist/index.d.ts +31 -20
- package/dist/index.js +47 -30
- package/dist/services/ai.svelte.d.ts +152 -0
- package/dist/services/ai.svelte.js +302 -0
- package/dist/services/analytics.d.ts +39 -231
- package/dist/services/analytics.js +89 -421
- package/dist/services/app-check.svelte.d.ts +82 -0
- package/dist/services/app-check.svelte.js +159 -0
- package/dist/services/auth.d.ts +63 -352
- package/dist/services/auth.js +353 -718
- package/dist/services/bundles.d.ts +42 -0
- package/dist/services/bundles.js +57 -0
- package/dist/services/callable.d.ts +57 -0
- package/dist/services/callable.js +115 -0
- package/dist/services/collection.svelte.d.ts +154 -221
- package/dist/services/collection.svelte.js +357 -663
- package/dist/services/document.svelte.d.ts +73 -254
- package/dist/services/document.svelte.js +196 -497
- package/dist/services/in-app-messaging.js +4 -0
- package/dist/services/messaging.svelte.d.ts +75 -0
- package/dist/services/messaging.svelte.js +190 -0
- package/dist/services/mutations.d.ts +59 -282
- package/dist/services/mutations.js +202 -951
- package/dist/services/performance.d.ts +60 -0
- package/dist/services/performance.js +118 -0
- package/dist/services/presence.svelte.d.ts +21 -89
- package/dist/services/presence.svelte.js +232 -469
- package/dist/services/realtime.svelte.d.ts +54 -125
- package/dist/services/realtime.svelte.js +111 -175
- package/dist/services/remote-config.svelte.d.ts +73 -0
- package/dist/services/remote-config.svelte.js +204 -0
- package/dist/services/storage.svelte.d.ts +81 -208
- package/dist/services/storage.svelte.js +190 -305
- package/dist/services/user.svelte.d.ts +23 -244
- package/dist/services/user.svelte.js +129 -439
- package/dist/types/analytics.d.ts +2 -36
- package/dist/types/analytics.js +0 -5
- package/dist/types/auth.d.ts +15 -85
- package/dist/types/auth.js +0 -17
- package/dist/types/collection.d.ts +31 -225
- package/dist/types/collection.js +5 -51
- package/dist/types/document.d.ts +11 -236
- package/dist/types/document.js +2 -47
- package/dist/types/firebase.d.ts +10 -13
- package/dist/types/firebase.js +3 -9
- package/dist/types/index.d.ts +5 -5
- package/dist/types/index.js +5 -4
- package/dist/types/mutations.d.ts +11 -225
- package/dist/types/mutations.js +6 -51
- package/dist/types/presence.d.ts +5 -158
- package/dist/types/presence.js +0 -20
- package/dist/utils/errors.d.ts +10 -14
- package/dist/utils/errors.js +11 -16
- package/dist/utils/firestore.d.ts +3 -4
- package/dist/utils/firestore.js +7 -10
- package/dist/utils/index.d.ts +4 -4
- package/dist/utils/index.js +4 -8
- package/dist/utils/providers.d.ts +4 -13
- package/dist/utils/providers.js +14 -13
- package/dist/utils/user.d.ts +1 -3
- package/dist/utils/user.js +1 -3
- package/package.json +41 -55
- package/dist/components/docs/doc-content.svelte +0 -19
- package/dist/components/docs/doc-content.svelte.d.ts +0 -6
- package/dist/components/docs/doc-header.svelte +0 -24
- package/dist/components/docs/doc-header.svelte.d.ts +0 -13
- package/dist/components/docs/doc-renderer.svelte +0 -27
- package/dist/components/docs/doc-renderer.svelte.d.ts +0 -8
- package/dist/components/docs/mobile-table-of-contents.svelte +0 -42
- package/dist/components/docs/mobile-table-of-contents.svelte.d.ts +0 -3
- package/dist/components/docs/table-of-contents.svelte +0 -33
- package/dist/components/docs/table-of-contents.svelte.d.ts +0 -4
- package/dist/components/docs/toc.svelte.d.ts +0 -16
- package/dist/components/docs/toc.svelte.js +0 -59
- package/dist/components/firekit/Collection.svelte +0 -122
- package/dist/components/firekit/Collection.svelte.d.ts +0 -27
- package/dist/components/firekit/Doc.svelte +0 -140
- package/dist/components/firekit/Doc.svelte.d.ts +0 -28
- package/dist/components/firekit/Node.svelte +0 -97
- package/dist/components/firekit/Node.svelte.d.ts +0 -23
- package/dist/components/firekit/auth-guard.svelte +0 -120
- package/dist/components/firekit/auth-guard.svelte.d.ts +0 -26
- package/dist/components/firekit/custom-guard.svelte +0 -163
- package/dist/components/firekit/custom-guard.svelte.d.ts +0 -31
- package/dist/components/firekit/download-url.svelte +0 -92
- package/dist/components/firekit/download-url.svelte.d.ts +0 -19
- package/dist/components/firekit/firebase-app.svelte +0 -33
- package/dist/components/firekit/firebase-app.svelte.d.ts +0 -7
- package/dist/components/firekit/node-list.svelte +0 -102
- package/dist/components/firekit/node-list.svelte.d.ts +0 -27
- package/dist/components/firekit/signed-in.svelte +0 -42
- package/dist/components/firekit/signed-out.svelte +0 -42
- package/dist/components/firekit/storage-list.svelte +0 -97
- package/dist/components/firekit/storage-list.svelte.d.ts +0 -26
- package/dist/components/firekit/upload-task.svelte +0 -108
- package/dist/components/firekit/upload-task.svelte.d.ts +0 -24
- package/dist/components/nav/app-sidebar.svelte +0 -175
- package/dist/components/nav/app-sidebar.svelte.d.ts +0 -9
- package/dist/components/nav/auto-breadcrumb.svelte +0 -41
- package/dist/components/nav/auto-breadcrumb.svelte.d.ts +0 -3
- package/dist/components/nav/dark-mode-toggle.svelte +0 -17
- package/dist/components/nav/dark-mode-toggle.svelte.d.ts +0 -18
- package/dist/components/nav/nav-components.svelte +0 -24
- package/dist/components/nav/nav-components.svelte.d.ts +0 -11
- package/dist/components/nav/nav-main.svelte +0 -45
- package/dist/components/nav/nav-main.svelte.d.ts +0 -11
- package/dist/components/nav/nav-secondary.svelte +0 -32
- package/dist/components/nav/nav-secondary.svelte.d.ts +0 -14
- package/dist/components/nav/site-header.svelte +0 -32
- package/dist/components/nav/site-header.svelte.d.ts +0 -18
- package/dist/components/ui/avatar/avatar-fallback.svelte +0 -17
- package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +0 -4
- package/dist/components/ui/avatar/avatar-image.svelte +0 -17
- package/dist/components/ui/avatar/avatar-image.svelte.d.ts +0 -4
- package/dist/components/ui/avatar/avatar.svelte +0 -19
- package/dist/components/ui/avatar/avatar.svelte.d.ts +0 -4
- package/dist/components/ui/avatar/index.d.ts +0 -4
- package/dist/components/ui/avatar/index.js +0 -6
- package/dist/components/ui/badge/badge.svelte +0 -50
- package/dist/components/ui/badge/badge.svelte.d.ts +0 -32
- package/dist/components/ui/badge/index.d.ts +0 -2
- package/dist/components/ui/badge/index.js +0 -2
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +0 -20
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +0 -31
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +0 -11
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +0 -27
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb.svelte +0 -21
- package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/index.d.ts +0 -8
- package/dist/components/ui/breadcrumb/index.js +0 -10
- package/dist/components/ui/button/button.svelte +0 -80
- package/dist/components/ui/button/button.svelte.d.ts +0 -58
- package/dist/components/ui/button/index.d.ts +0 -2
- package/dist/components/ui/button/index.js +0 -4
- package/dist/components/ui/card/card-action.svelte +0 -20
- package/dist/components/ui/card/card-action.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-content.svelte +0 -15
- package/dist/components/ui/card/card-content.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-description.svelte +0 -20
- package/dist/components/ui/card/card-description.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-footer.svelte +0 -20
- package/dist/components/ui/card/card-footer.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-header.svelte +0 -23
- package/dist/components/ui/card/card-header.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-title.svelte +0 -20
- package/dist/components/ui/card/card-title.svelte.d.ts +0 -5
- package/dist/components/ui/card/card.svelte +0 -23
- package/dist/components/ui/card/card.svelte.d.ts +0 -5
- package/dist/components/ui/card/index.d.ts +0 -8
- package/dist/components/ui/card/index.js +0 -10
- package/dist/components/ui/chart/chart-container.svelte +0 -80
- package/dist/components/ui/chart/chart-container.svelte.d.ts +0 -9
- package/dist/components/ui/chart/chart-style.svelte +0 -36
- package/dist/components/ui/chart/chart-style.svelte.d.ts +0 -8
- package/dist/components/ui/chart/chart-tooltip.svelte +0 -159
- package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +0 -27
- package/dist/components/ui/chart/chart-utils.d.ts +0 -36
- package/dist/components/ui/chart/chart-utils.js +0 -33
- package/dist/components/ui/chart/index.d.ts +0 -4
- package/dist/components/ui/chart/index.js +0 -4
- package/dist/components/ui/checkbox/checkbox.svelte +0 -36
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +0 -4
- package/dist/components/ui/checkbox/index.d.ts +0 -2
- package/dist/components/ui/checkbox/index.js +0 -4
- package/dist/components/ui/data-table/data-table.svelte.d.ts +0 -40
- package/dist/components/ui/data-table/data-table.svelte.js +0 -110
- package/dist/components/ui/data-table/flex-render.svelte +0 -36
- package/dist/components/ui/data-table/flex-render.svelte.d.ts +0 -30
- package/dist/components/ui/data-table/index.d.ts +0 -3
- package/dist/components/ui/data-table/index.js +0 -3
- package/dist/components/ui/data-table/render-helpers.d.ts +0 -90
- package/dist/components/ui/data-table/render-helpers.js +0 -99
- package/dist/components/ui/dialog/dialog-close.svelte +0 -7
- package/dist/components/ui/dialog/dialog-close.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-content.svelte +0 -43
- package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -11
- package/dist/components/ui/dialog/dialog-description.svelte +0 -17
- package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-footer.svelte +0 -20
- package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -5
- package/dist/components/ui/dialog/dialog-header.svelte +0 -20
- package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -5
- package/dist/components/ui/dialog/dialog-overlay.svelte +0 -20
- package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-title.svelte +0 -17
- package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-trigger.svelte +0 -7
- package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/index.d.ts +0 -11
- package/dist/components/ui/dialog/index.js +0 -14
- package/dist/components/ui/drawer/drawer-close.svelte +0 -7
- package/dist/components/ui/drawer/drawer-close.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer-content.svelte +0 -37
- package/dist/components/ui/drawer/drawer-content.svelte.d.ts +0 -7
- package/dist/components/ui/drawer/drawer-description.svelte +0 -17
- package/dist/components/ui/drawer/drawer-description.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer-footer.svelte +0 -20
- package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +0 -5
- package/dist/components/ui/drawer/drawer-header.svelte +0 -20
- package/dist/components/ui/drawer/drawer-header.svelte.d.ts +0 -5
- package/dist/components/ui/drawer/drawer-nested.svelte +0 -12
- package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +0 -3
- package/dist/components/ui/drawer/drawer-overlay.svelte +0 -20
- package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer-title.svelte +0 -17
- package/dist/components/ui/drawer/drawer-title.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer-trigger.svelte +0 -7
- package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer.svelte +0 -12
- package/dist/components/ui/drawer/drawer.svelte.d.ts +0 -3
- package/dist/components/ui/drawer/index.d.ts +0 -13
- package/dist/components/ui/drawer/index.js +0 -15
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +0 -41
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +0 -9
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +0 -27
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +0 -22
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +0 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +0 -27
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +0 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +0 -24
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +0 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +0 -16
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +0 -31
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +0 -17
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +0 -20
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +0 -5
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +0 -20
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +0 -29
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/index.d.ts +0 -25
- package/dist/components/ui/dropdown-menu/index.js +0 -17
- package/dist/components/ui/input/index.d.ts +0 -2
- package/dist/components/ui/input/index.js +0 -4
- package/dist/components/ui/input/input.svelte +0 -51
- package/dist/components/ui/input/input.svelte.d.ts +0 -13
- package/dist/components/ui/label/index.d.ts +0 -2
- package/dist/components/ui/label/index.js +0 -4
- package/dist/components/ui/label/label.svelte +0 -20
- package/dist/components/ui/label/label.svelte.d.ts +0 -4
- package/dist/components/ui/scroll-area/index.d.ts +0 -3
- package/dist/components/ui/scroll-area/index.js +0 -5
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +0 -31
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +0 -4
- package/dist/components/ui/scroll-area/scroll-area.svelte +0 -40
- package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +0 -10
- package/dist/components/ui/select/index.d.ts +0 -11
- package/dist/components/ui/select/index.js +0 -14
- package/dist/components/ui/select/select-content.svelte +0 -40
- package/dist/components/ui/select/select-content.svelte.d.ts +0 -8
- package/dist/components/ui/select/select-group-heading.svelte +0 -21
- package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -10
- package/dist/components/ui/select/select-group.svelte +0 -7
- package/dist/components/ui/select/select-group.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-item.svelte +0 -38
- package/dist/components/ui/select/select-item.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-label.svelte +0 -20
- package/dist/components/ui/select/select-label.svelte.d.ts +0 -6
- package/dist/components/ui/select/select-scroll-down-button.svelte +0 -20
- package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-scroll-up-button.svelte +0 -20
- package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-separator.svelte +0 -18
- package/dist/components/ui/select/select-separator.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-trigger.svelte +0 -29
- package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -8
- package/dist/components/ui/separator/index.d.ts +0 -2
- package/dist/components/ui/separator/index.js +0 -4
- package/dist/components/ui/separator/separator.svelte +0 -20
- package/dist/components/ui/separator/separator.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/index.d.ts +0 -11
- package/dist/components/ui/sheet/index.js +0 -14
- package/dist/components/ui/sheet/sheet-close.svelte +0 -7
- package/dist/components/ui/sheet/sheet-close.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-content.svelte +0 -58
- package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -35
- package/dist/components/ui/sheet/sheet-description.svelte +0 -17
- package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
- package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -5
- package/dist/components/ui/sheet/sheet-header.svelte +0 -20
- package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -5
- package/dist/components/ui/sheet/sheet-overlay.svelte +0 -20
- package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-title.svelte +0 -17
- package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-trigger.svelte +0 -7
- package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/constants.d.ts +0 -6
- package/dist/components/ui/sidebar/constants.js +0 -6
- package/dist/components/ui/sidebar/context.svelte.d.ts +0 -42
- package/dist/components/ui/sidebar/context.svelte.js +0 -54
- package/dist/components/ui/sidebar/index.d.ts +0 -25
- package/dist/components/ui/sidebar/index.js +0 -27
- package/dist/components/ui/sidebar/sidebar-content.svelte +0 -24
- package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-footer.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-group-action.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +0 -11
- package/dist/components/ui/sidebar/sidebar-group-content.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-group-label.svelte +0 -34
- package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +0 -11
- package/dist/components/ui/sidebar/sidebar-group.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-header.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-input.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +0 -11
- package/dist/components/ui/sidebar/sidebar-inset.svelte +0 -24
- package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte +0 -43
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +0 -12
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +0 -29
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte +0 -103
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +0 -51
- package/dist/components/ui/sidebar/sidebar-menu-item.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +0 -8
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +0 -43
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +0 -13
- package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +0 -25
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-provider.svelte +0 -53
- package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +0 -9
- package/dist/components/ui/sidebar/sidebar-rail.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-separator.svelte +0 -19
- package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +0 -13
- package/dist/components/ui/sidebar/sidebar-trigger.svelte +0 -35
- package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +0 -8
- package/dist/components/ui/sidebar/sidebar.svelte +0 -104
- package/dist/components/ui/sidebar/sidebar.svelte.d.ts +0 -10
- package/dist/components/ui/skeleton/index.d.ts +0 -2
- package/dist/components/ui/skeleton/index.js +0 -4
- package/dist/components/ui/skeleton/skeleton.svelte +0 -17
- package/dist/components/ui/skeleton/skeleton.svelte.d.ts +0 -5
- package/dist/components/ui/table/index.d.ts +0 -9
- package/dist/components/ui/table/index.js +0 -11
- package/dist/components/ui/table/table-body.svelte +0 -20
- package/dist/components/ui/table/table-body.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-caption.svelte +0 -20
- package/dist/components/ui/table/table-caption.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-cell.svelte +0 -20
- package/dist/components/ui/table/table-cell.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-footer.svelte +0 -20
- package/dist/components/ui/table/table-footer.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-head.svelte +0 -23
- package/dist/components/ui/table/table-head.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-header.svelte +0 -20
- package/dist/components/ui/table/table-header.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-row.svelte +0 -23
- package/dist/components/ui/table/table-row.svelte.d.ts +0 -5
- package/dist/components/ui/table/table.svelte +0 -22
- package/dist/components/ui/table/table.svelte.d.ts +0 -5
- package/dist/components/ui/tabs/index.d.ts +0 -5
- package/dist/components/ui/tabs/index.js +0 -7
- package/dist/components/ui/tabs/tabs-content.svelte +0 -17
- package/dist/components/ui/tabs/tabs-content.svelte.d.ts +0 -4
- package/dist/components/ui/tabs/tabs-list.svelte +0 -20
- package/dist/components/ui/tabs/tabs-list.svelte.d.ts +0 -4
- package/dist/components/ui/tabs/tabs-trigger.svelte +0 -20
- package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/tabs/tabs.svelte +0 -19
- package/dist/components/ui/tabs/tabs.svelte.d.ts +0 -4
- package/dist/components/ui/toggle/index.d.ts +0 -3
- package/dist/components/ui/toggle/index.js +0 -5
- package/dist/components/ui/toggle/toggle.svelte +0 -52
- package/dist/components/ui/toggle/toggle.svelte.d.ts +0 -43
- package/dist/components/ui/toggle-group/index.d.ts +0 -3
- package/dist/components/ui/toggle-group/index.js +0 -5
- package/dist/components/ui/toggle-group/toggle-group-item.svelte +0 -34
- package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +0 -6
- package/dist/components/ui/toggle-group/toggle-group.svelte +0 -47
- package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +0 -8
- package/dist/components/ui/tooltip/index.d.ts +0 -7
- package/dist/components/ui/tooltip/index.js +0 -9
- package/dist/components/ui/tooltip/tooltip-content.svelte +0 -47
- package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -7
- package/dist/components/ui/tooltip/tooltip-trigger.svelte +0 -7
- package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +0 -4
- package/dist/hooks/is-mobile.svelte.d.ts +0 -4
- package/dist/hooks/is-mobile.svelte.js +0 -7
- package/dist/services/index.d.ts +0 -9
- package/dist/services/index.js +0 -10
- package/dist/types/docs.d.ts +0 -67
- package/dist/utils.d.ts +0 -15
- package/dist/utils.js +0 -44
- /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
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
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
|
-
* ```
|
|
9
|
+
* ```ts
|
|
16
10
|
* import { firekitAnalytics } from 'svelte-firekit';
|
|
17
11
|
*
|
|
18
|
-
*
|
|
19
|
-
* firekitAnalytics.
|
|
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
|
|
33
|
-
private
|
|
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
|
-
*
|
|
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
|
-
* ```
|
|
68
|
-
* firekitAnalytics.
|
|
69
|
-
*
|
|
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
|
-
|
|
33
|
+
logEvent(eventName: string, eventParams?: Record<string, unknown>): Promise<void>;
|
|
75
34
|
/**
|
|
76
|
-
*
|
|
77
|
-
*
|
|
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(
|
|
38
|
+
setUserId(id: string | null): Promise<void>;
|
|
93
39
|
/**
|
|
94
|
-
* Sets user properties
|
|
95
|
-
* @param {Record<string, any>} properties User properties
|
|
40
|
+
* Sets Analytics user properties.
|
|
96
41
|
*
|
|
97
42
|
* @example
|
|
98
|
-
* ```
|
|
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,
|
|
47
|
+
setUserProperties(properties: Record<string, string | null>): Promise<void>;
|
|
106
48
|
/**
|
|
107
|
-
*
|
|
108
|
-
* @param {PurchaseEvent} purchase Purchase data
|
|
49
|
+
* Logs a screen_view event.
|
|
109
50
|
*
|
|
110
51
|
* @example
|
|
111
|
-
* ```
|
|
112
|
-
* firekitAnalytics.
|
|
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
|
-
|
|
56
|
+
setCurrentScreen(screenName: string): Promise<void>;
|
|
125
57
|
/**
|
|
126
|
-
*
|
|
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
|
-
|
|
60
|
+
setDefaultEventParameters(params: Record<string, unknown> | null): Promise<void>;
|
|
141
61
|
/**
|
|
142
|
-
*
|
|
143
|
-
*
|
|
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
|
-
|
|
65
|
+
setCollectionEnabled(enabled: boolean): Promise<void>;
|
|
173
66
|
/**
|
|
174
|
-
*
|
|
175
|
-
* @param {SearchEvent} search Search data
|
|
67
|
+
* Updates consent settings (GDPR, CCPA, etc.).
|
|
176
68
|
*
|
|
177
69
|
* @example
|
|
178
|
-
* ```
|
|
179
|
-
* firekitAnalytics.
|
|
180
|
-
*
|
|
181
|
-
*
|
|
70
|
+
* ```ts
|
|
71
|
+
* firekitAnalytics.setConsent({
|
|
72
|
+
* analytics_storage: 'granted',
|
|
73
|
+
* ad_storage: 'denied'
|
|
182
74
|
* });
|
|
183
75
|
* ```
|
|
184
76
|
*/
|
|
185
|
-
|
|
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 {};
|