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.
- 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 +32 -20
- package/dist/index.js +49 -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.d.ts +46 -0
- package/dist/services/in-app-messaging.js +88 -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/types/docs.js +0 -1
- package/dist/utils.d.ts +0 -15
- package/dist/utils.js +0 -44
package/dist/firebase.js
CHANGED
|
@@ -4,19 +4,18 @@ import { getAuth } from 'firebase/auth';
|
|
|
4
4
|
import { getFunctions } from 'firebase/functions';
|
|
5
5
|
import { getDatabase } from 'firebase/database';
|
|
6
6
|
import { getStorage } from 'firebase/storage';
|
|
7
|
-
import { getAnalytics } from 'firebase/analytics';
|
|
8
|
-
import {
|
|
7
|
+
import { getAnalytics, isSupported as isAnalyticsSupported } from 'firebase/analytics';
|
|
8
|
+
import { getPerformance } from 'firebase/performance';
|
|
9
|
+
import { getMessaging, isSupported as isMessagingSupported } from 'firebase/messaging';
|
|
10
|
+
import { getFirekitConfig } from './config.js';
|
|
9
11
|
import { FirebaseServiceStatus, FirebaseServiceError } from './types/firebase.js';
|
|
10
12
|
/**
|
|
11
|
-
* Singleton service
|
|
12
|
-
*
|
|
13
|
+
* Singleton service that manages all Firebase service instances.
|
|
14
|
+
* Services are initialized lazily — they spin up only when first accessed.
|
|
13
15
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* // Get Auth instance
|
|
19
|
-
* const auth = firebaseService.getAuthInstance();
|
|
16
|
+
* Core services (Firestore, Auth, Functions, RTDB, Storage) are always available.
|
|
17
|
+
* Browser-only services (Analytics, Performance, Messaging) check the environment.
|
|
18
|
+
* Security services (AppCheck, RemoteConfig) are initialized by their dedicated service files.
|
|
20
19
|
*/
|
|
21
20
|
class FirebaseService {
|
|
22
21
|
static instance;
|
|
@@ -27,46 +26,26 @@ class FirebaseService {
|
|
|
27
26
|
database = null;
|
|
28
27
|
storage = null;
|
|
29
28
|
analytics = null;
|
|
29
|
+
appCheck = null;
|
|
30
|
+
remoteConfig = null;
|
|
31
|
+
performance = null;
|
|
32
|
+
messaging = null;
|
|
30
33
|
status = FirebaseServiceStatus.UNINITIALIZED;
|
|
31
34
|
initializationError = null;
|
|
32
35
|
isBrowser = typeof window !== 'undefined';
|
|
33
|
-
/** @private */
|
|
34
36
|
constructor() { }
|
|
35
|
-
/**
|
|
36
|
-
* Gets the singleton instance of FirebaseService.
|
|
37
|
-
* Creates a new instance if one doesn't exist.
|
|
38
|
-
*
|
|
39
|
-
* @returns {FirebaseService} The singleton FirebaseService instance
|
|
40
|
-
*/
|
|
41
37
|
static getInstance() {
|
|
42
38
|
if (!FirebaseService.instance) {
|
|
43
39
|
FirebaseService.instance = new FirebaseService();
|
|
44
40
|
}
|
|
45
41
|
return FirebaseService.instance;
|
|
46
42
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Gets the current status of the Firebase service
|
|
49
|
-
*
|
|
50
|
-
* @returns {FirebaseServiceStatus} The current service status
|
|
51
|
-
*/
|
|
52
43
|
getStatus() {
|
|
53
44
|
return this.status;
|
|
54
45
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Gets the initialization error if any occurred
|
|
57
|
-
*
|
|
58
|
-
* @returns {Error | null} The initialization error or null if none occurred
|
|
59
|
-
*/
|
|
60
46
|
getInitializationError() {
|
|
61
47
|
return this.initializationError;
|
|
62
48
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Initializes or retrieves the Firebase app instance.
|
|
65
|
-
* Also initializes Firestore if running in browser environment.
|
|
66
|
-
*
|
|
67
|
-
* @returns {FirebaseApp} The Firebase app instance
|
|
68
|
-
* @throws {FirebaseServiceError} If initialization fails
|
|
69
|
-
*/
|
|
70
49
|
getFirebaseApp() {
|
|
71
50
|
if (this.status === FirebaseServiceStatus.ERROR) {
|
|
72
51
|
throw new FirebaseServiceError('Firebase service is in error state', 'app');
|
|
@@ -76,13 +55,9 @@ class FirebaseService {
|
|
|
76
55
|
try {
|
|
77
56
|
this.status = FirebaseServiceStatus.INITIALIZING;
|
|
78
57
|
const existingApps = getApps();
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
else {
|
|
83
|
-
this.firebaseApp = initializeApp(firebaseConfig);
|
|
84
|
-
console.log(`${firebaseConfig.projectId} initialized on ${this.isBrowser ? 'client' : 'server'}`);
|
|
85
|
-
}
|
|
58
|
+
this.firebaseApp = existingApps.length
|
|
59
|
+
? existingApps[0]
|
|
60
|
+
: initializeApp(getFirekitConfig());
|
|
86
61
|
this.initializeFirestoreInstance();
|
|
87
62
|
this.status = FirebaseServiceStatus.INITIALIZED;
|
|
88
63
|
return this.firebaseApp;
|
|
@@ -93,13 +68,6 @@ class FirebaseService {
|
|
|
93
68
|
throw new FirebaseServiceError('Failed to initialize Firebase app', 'app');
|
|
94
69
|
}
|
|
95
70
|
}
|
|
96
|
-
/**
|
|
97
|
-
* Initializes Firestore with persistent cache and multi-tab support.
|
|
98
|
-
* Only runs in browser environment.
|
|
99
|
-
*
|
|
100
|
-
* @private
|
|
101
|
-
* @throws {FirebaseServiceError} If Firestore initialization fails
|
|
102
|
-
*/
|
|
103
71
|
initializeFirestoreInstance() {
|
|
104
72
|
if (this.db || !this.isBrowser)
|
|
105
73
|
return;
|
|
@@ -113,49 +81,23 @@ class FirebaseService {
|
|
|
113
81
|
const indexManager = getPersistentCacheIndexManager(this.db);
|
|
114
82
|
if (indexManager) {
|
|
115
83
|
enablePersistentCacheIndexAutoCreation(indexManager);
|
|
116
|
-
console.log('Firestore persistent cache indexing is enabled');
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
console.warn('Failed to initialize the Firestore cache index manager');
|
|
120
84
|
}
|
|
121
85
|
}
|
|
122
86
|
catch (error) {
|
|
123
87
|
throw new FirebaseServiceError('Failed to initialize Firestore', 'firestore');
|
|
124
88
|
}
|
|
125
89
|
}
|
|
126
|
-
/**
|
|
127
|
-
* Gets the Firestore instance, initializing it if necessary.
|
|
128
|
-
*
|
|
129
|
-
* @returns {Firestore} The Firestore instance
|
|
130
|
-
* @throws {FirebaseServiceError} If Firestore is not available
|
|
131
|
-
*/
|
|
132
90
|
getDbInstance() {
|
|
133
91
|
if (!this.db) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
throw new FirebaseServiceError('Firestore is not available in server environment', 'firestore');
|
|
140
|
-
}
|
|
141
|
-
throw new FirebaseServiceError('Firestore instance not available', 'firestore');
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
catch (error) {
|
|
145
|
-
if (error instanceof FirebaseServiceError) {
|
|
146
|
-
throw error;
|
|
147
|
-
}
|
|
148
|
-
throw new FirebaseServiceError('Failed to initialize Firestore', 'firestore');
|
|
92
|
+
this.getFirebaseApp();
|
|
93
|
+
if (!this.db) {
|
|
94
|
+
throw new FirebaseServiceError(this.isBrowser
|
|
95
|
+
? 'Firestore instance not available'
|
|
96
|
+
: 'Firestore is not available in server environment', 'firestore');
|
|
149
97
|
}
|
|
150
98
|
}
|
|
151
99
|
return this.db;
|
|
152
100
|
}
|
|
153
|
-
/**
|
|
154
|
-
* Gets the Authentication instance, initializing it if necessary.
|
|
155
|
-
*
|
|
156
|
-
* @returns {Auth} The Authentication instance
|
|
157
|
-
* @throws {FirebaseServiceError} If Auth initialization fails
|
|
158
|
-
*/
|
|
159
101
|
getAuthInstance() {
|
|
160
102
|
try {
|
|
161
103
|
if (!this.auth) {
|
|
@@ -163,16 +105,10 @@ class FirebaseService {
|
|
|
163
105
|
}
|
|
164
106
|
return this.auth;
|
|
165
107
|
}
|
|
166
|
-
catch
|
|
108
|
+
catch {
|
|
167
109
|
throw new FirebaseServiceError('Failed to initialize Auth', 'auth');
|
|
168
110
|
}
|
|
169
111
|
}
|
|
170
|
-
/**
|
|
171
|
-
* Gets the Cloud Functions instance, initializing it if necessary.
|
|
172
|
-
*
|
|
173
|
-
* @returns {Functions} The Cloud Functions instance
|
|
174
|
-
* @throws {FirebaseServiceError} If Functions initialization fails
|
|
175
|
-
*/
|
|
176
112
|
getFunctionsInstance() {
|
|
177
113
|
try {
|
|
178
114
|
if (!this.functions) {
|
|
@@ -180,16 +116,10 @@ class FirebaseService {
|
|
|
180
116
|
}
|
|
181
117
|
return this.functions;
|
|
182
118
|
}
|
|
183
|
-
catch
|
|
119
|
+
catch {
|
|
184
120
|
throw new FirebaseServiceError('Failed to initialize Functions', 'functions');
|
|
185
121
|
}
|
|
186
122
|
}
|
|
187
|
-
/**
|
|
188
|
-
* Gets the Realtime Database instance, initializing it if necessary.
|
|
189
|
-
*
|
|
190
|
-
* @returns {Database} The Realtime Database instance
|
|
191
|
-
* @throws {FirebaseServiceError} If Database initialization fails
|
|
192
|
-
*/
|
|
193
123
|
getDatabaseInstance() {
|
|
194
124
|
try {
|
|
195
125
|
if (!this.database) {
|
|
@@ -197,16 +127,10 @@ class FirebaseService {
|
|
|
197
127
|
}
|
|
198
128
|
return this.database;
|
|
199
129
|
}
|
|
200
|
-
catch
|
|
201
|
-
throw new FirebaseServiceError('Failed to initialize Database', 'database');
|
|
130
|
+
catch {
|
|
131
|
+
throw new FirebaseServiceError('Failed to initialize Realtime Database', 'database');
|
|
202
132
|
}
|
|
203
133
|
}
|
|
204
|
-
/**
|
|
205
|
-
* Gets the Storage instance, initializing it if necessary.
|
|
206
|
-
*
|
|
207
|
-
* @returns {FirebaseStorage} The Storage instance
|
|
208
|
-
* @throws {FirebaseServiceError} If Storage initialization fails
|
|
209
|
-
*/
|
|
210
134
|
getStorageInstance() {
|
|
211
135
|
try {
|
|
212
136
|
if (!this.storage) {
|
|
@@ -214,36 +138,62 @@ class FirebaseService {
|
|
|
214
138
|
}
|
|
215
139
|
return this.storage;
|
|
216
140
|
}
|
|
217
|
-
catch
|
|
141
|
+
catch {
|
|
218
142
|
throw new FirebaseServiceError('Failed to initialize Storage', 'storage');
|
|
219
143
|
}
|
|
220
144
|
}
|
|
221
145
|
/**
|
|
222
|
-
* Gets the Analytics instance
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
* @returns {Analytics} The Analytics instance
|
|
226
|
-
* @throws {FirebaseServiceError} If Analytics initialization fails
|
|
146
|
+
* Gets the Analytics instance. Returns null if analytics is not supported
|
|
147
|
+
* (e.g. no measurementId in config, ad-blockers, SSR).
|
|
227
148
|
*/
|
|
228
|
-
getAnalyticsInstance() {
|
|
229
|
-
if (!this.isBrowser)
|
|
230
|
-
|
|
231
|
-
}
|
|
149
|
+
async getAnalyticsInstance() {
|
|
150
|
+
if (!this.isBrowser)
|
|
151
|
+
return null;
|
|
232
152
|
try {
|
|
233
|
-
if (!this.analytics) {
|
|
153
|
+
if (!this.analytics && (await isAnalyticsSupported())) {
|
|
234
154
|
this.analytics = getAnalytics(this.getFirebaseApp());
|
|
235
155
|
}
|
|
236
156
|
return this.analytics;
|
|
237
157
|
}
|
|
238
|
-
catch
|
|
239
|
-
|
|
158
|
+
catch {
|
|
159
|
+
return null;
|
|
240
160
|
}
|
|
241
161
|
}
|
|
242
162
|
/**
|
|
243
|
-
*
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
163
|
+
* Gets the Performance Monitoring instance. Browser-only.
|
|
164
|
+
*/
|
|
165
|
+
getPerformanceInstance() {
|
|
166
|
+
if (!this.isBrowser)
|
|
167
|
+
return null;
|
|
168
|
+
try {
|
|
169
|
+
if (!this.performance) {
|
|
170
|
+
this.performance = getPerformance(this.getFirebaseApp());
|
|
171
|
+
}
|
|
172
|
+
return this.performance;
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
throw new FirebaseServiceError('Failed to initialize Performance Monitoring', 'performance');
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Gets the Cloud Messaging instance. Returns null if not supported
|
|
180
|
+
* (requires HTTPS, service workers, and browser support).
|
|
181
|
+
*/
|
|
182
|
+
async getMessagingInstance() {
|
|
183
|
+
if (!this.isBrowser)
|
|
184
|
+
return null;
|
|
185
|
+
try {
|
|
186
|
+
if (!this.messaging && (await isMessagingSupported())) {
|
|
187
|
+
this.messaging = getMessaging(this.getFirebaseApp());
|
|
188
|
+
}
|
|
189
|
+
return this.messaging;
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Resets all service instances. Primarily useful for testing.
|
|
247
197
|
*/
|
|
248
198
|
async reset() {
|
|
249
199
|
this.firebaseApp = null;
|
|
@@ -253,21 +203,21 @@ class FirebaseService {
|
|
|
253
203
|
this.database = null;
|
|
254
204
|
this.storage = null;
|
|
255
205
|
this.analytics = null;
|
|
206
|
+
this.appCheck = null;
|
|
207
|
+
this.remoteConfig = null;
|
|
208
|
+
this.performance = null;
|
|
209
|
+
this.messaging = null;
|
|
256
210
|
this.status = FirebaseServiceStatus.UNINITIALIZED;
|
|
257
211
|
this.initializationError = null;
|
|
258
212
|
}
|
|
259
213
|
}
|
|
260
214
|
/**
|
|
261
|
-
*
|
|
262
|
-
*
|
|
215
|
+
* The global Firebase service singleton.
|
|
216
|
+
* Access Firebase service instances through this object.
|
|
263
217
|
*
|
|
264
218
|
* @example
|
|
265
|
-
* import { firebaseService } from '
|
|
266
|
-
*
|
|
267
|
-
* // Get Firestore
|
|
219
|
+
* import { firebaseService } from 'svelte-firekit';
|
|
268
220
|
* const db = firebaseService.getDbInstance();
|
|
269
|
-
*
|
|
270
|
-
* // Get Auth
|
|
271
221
|
* const auth = firebaseService.getAuthInstance();
|
|
272
222
|
*/
|
|
273
223
|
export const firebaseService = FirebaseService.getInstance();
|
package/dist/index.d.ts
CHANGED
|
@@ -1,24 +1,36 @@
|
|
|
1
|
-
export
|
|
2
|
-
export {
|
|
1
|
+
export { initFirekit, getFirekitConfig, isFirekitConfigured } from './config.js';
|
|
2
|
+
export { getFirebaseAppContext, getAuthContext, getFirestoreContext, getStorageContext, getRTDBContext, getFunctionsContext, getAppCheckContext, getAnalyticsContext, getMessagingContext } from './context.js';
|
|
3
3
|
export { firebaseService } from './firebase.js';
|
|
4
|
-
export { firekitUser } from './services/user.svelte.js';
|
|
5
4
|
export { firekitAuth } from './services/auth.js';
|
|
5
|
+
export { firekitUser } from './services/user.svelte.js';
|
|
6
|
+
export type { ExtendedUserData } from './services/user.svelte.js';
|
|
7
|
+
export type { MFAEnrollmentResult, MFAChallengeResult } from './types/auth.js';
|
|
8
|
+
export { firekitAppCheck } from './services/app-check.svelte.js';
|
|
9
|
+
export { ReCaptchaV3Provider, ReCaptchaEnterpriseProvider, CustomProvider } from './services/app-check.svelte.js';
|
|
10
|
+
export type { AppCheckOptions, AppCheckTokenResult } from './services/app-check.svelte.js';
|
|
11
|
+
export { FirekitDoc, firekitDoc, firekitDocOnce, firekitDocWithMetadata, type FirekitDocOptions } from './services/document.svelte.js';
|
|
12
|
+
export { FirekitCollection, FirekitCollectionGroup, FirekitQueryBuilder, firekitCollection, firekitCollectionOnce, firekitCollectionGroup, type FirekitCollectionOptions } from './services/collection.svelte.js';
|
|
13
|
+
export { firekitMutations, type FirekitBatchOp, type FirekitBatchResult } from './services/mutations.js';
|
|
14
|
+
export { FirekitGenerate, FirekitStream, FirekitChat, firekitGenerate, firekitStream, firekitChat, textPart, imagePart, imageUrlPart, GoogleAIBackend, VertexAIBackend, type FirekitAIOptions, type ChatMessage, type AIBackendType, type Part, type Content, type GenerationConfig, type SafetySetting } from './services/ai.svelte.js';
|
|
15
|
+
export { FirekitNode, FirekitNodeList, firekitNode, firekitNodeList, rtdbServerTimestamp, rtdbIncrement } from './services/realtime.svelte.js';
|
|
16
|
+
export { FirekitDownloadUrl, FirekitStorageList, FirekitUploadTask, firekitDownloadUrl, firekitStorageList, firekitUploadTask, deleteFile, getFileMetadata, updateFileMetadata, type UploadState, type SettableMetadata } from './services/storage.svelte.js';
|
|
17
|
+
export { FirekitCallable, FirekitCallableFromURL, firekitCallable, firekitCallableFromURL } from './services/callable.js';
|
|
6
18
|
export { firekitPresence } from './services/presence.svelte.js';
|
|
19
|
+
export { FirekitRemoteConfig, firekitRemoteConfig, type FirekitRemoteConfigOptions } from './services/remote-config.svelte.js';
|
|
20
|
+
export { firekitPerformance, type PerformanceTrace } from './services/performance.js';
|
|
21
|
+
export { firekitMessaging, type MessagePayload } from './services/messaging.svelte.js';
|
|
7
22
|
export { firekitAnalytics } from './services/analytics.js';
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export { default as
|
|
14
|
-
export { default as
|
|
15
|
-
export { default as
|
|
16
|
-
export { default as
|
|
17
|
-
export { default as
|
|
18
|
-
export { default as
|
|
19
|
-
export { default as
|
|
20
|
-
export
|
|
21
|
-
export
|
|
22
|
-
export { default as StorageList } from './components/firekit/storage-list.svelte';
|
|
23
|
-
export { default as DownloadURL } from './components/firekit/download-url.svelte';
|
|
24
|
-
export { default as UploadTask } from './components/firekit/upload-task.svelte';
|
|
23
|
+
export { firekitInAppMessaging } from './services/in-app-messaging.js';
|
|
24
|
+
export { loadFirestoreBundle, getNamedQuery } from './services/bundles.js';
|
|
25
|
+
export { default as FirebaseApp } from './components/FirebaseApp.svelte';
|
|
26
|
+
export { default as SignedIn } from './components/SignedIn.svelte';
|
|
27
|
+
export { default as SignedOut } from './components/SignedOut.svelte';
|
|
28
|
+
export { default as AuthGuard } from './components/AuthGuard.svelte';
|
|
29
|
+
export { default as CustomGuard } from './components/CustomGuard.svelte';
|
|
30
|
+
export { default as Doc } from './components/Doc.svelte';
|
|
31
|
+
export { default as Collection } from './components/Collection.svelte';
|
|
32
|
+
export { default as Node } from './components/Node.svelte';
|
|
33
|
+
export { default as DownloadURL } from './components/DownloadURL.svelte';
|
|
34
|
+
export { default as UploadTask } from './components/UploadTask.svelte';
|
|
35
|
+
export * from './types/index.js';
|
|
36
|
+
export * from './utils/index.js';
|
package/dist/index.js
CHANGED
|
@@ -1,34 +1,53 @@
|
|
|
1
|
-
//
|
|
2
|
-
export
|
|
3
|
-
//
|
|
4
|
-
export {
|
|
1
|
+
// ─── Configuration ───────────────────────────────────────────────────────────
|
|
2
|
+
export { initFirekit, getFirekitConfig, isFirekitConfigured } from './config.js';
|
|
3
|
+
// ─── Context helpers ──────────────────────────────────────────────────────────
|
|
4
|
+
export { getFirebaseAppContext, getAuthContext, getFirestoreContext, getStorageContext, getRTDBContext, getFunctionsContext, getAppCheckContext, getAnalyticsContext, getMessagingContext } from './context.js';
|
|
5
|
+
// ─── Firebase service singleton ──────────────────────────────────────────────
|
|
5
6
|
export { firebaseService } from './firebase.js';
|
|
6
|
-
//
|
|
7
|
-
export { firekitUser } from './services/user.svelte.js';
|
|
7
|
+
// ─── Auth & User services ────────────────────────────────────────────────────
|
|
8
8
|
export { firekitAuth } from './services/auth.js';
|
|
9
|
+
export { firekitUser } from './services/user.svelte.js';
|
|
10
|
+
// ─── App Check ───────────────────────────────────────────────────────────────
|
|
11
|
+
export { firekitAppCheck } from './services/app-check.svelte.js';
|
|
12
|
+
export { ReCaptchaV3Provider, ReCaptchaEnterpriseProvider, CustomProvider } from './services/app-check.svelte.js';
|
|
13
|
+
// ─── Firestore ────────────────────────────────────────────────────────────────
|
|
14
|
+
export { FirekitDoc, firekitDoc, firekitDocOnce, firekitDocWithMetadata } from './services/document.svelte.js';
|
|
15
|
+
export { FirekitCollection, FirekitCollectionGroup, FirekitQueryBuilder, firekitCollection, firekitCollectionOnce, firekitCollectionGroup } from './services/collection.svelte.js';
|
|
16
|
+
export { firekitMutations } from './services/mutations.js';
|
|
17
|
+
// ─── Firebase AI ──────────────────────────────────────────────────────────────
|
|
18
|
+
export { FirekitGenerate, FirekitStream, FirekitChat, firekitGenerate, firekitStream, firekitChat, textPart, imagePart, imageUrlPart, GoogleAIBackend, VertexAIBackend } from './services/ai.svelte.js';
|
|
19
|
+
// ─── Realtime Database ────────────────────────────────────────────────────────
|
|
20
|
+
export { FirekitNode, FirekitNodeList, firekitNode, firekitNodeList, rtdbServerTimestamp, rtdbIncrement } from './services/realtime.svelte.js';
|
|
21
|
+
// ─── Storage ──────────────────────────────────────────────────────────────────
|
|
22
|
+
export { FirekitDownloadUrl, FirekitStorageList, FirekitUploadTask, firekitDownloadUrl, firekitStorageList, firekitUploadTask, deleteFile, getFileMetadata, updateFileMetadata } from './services/storage.svelte.js';
|
|
23
|
+
// ─── Cloud Functions ──────────────────────────────────────────────────────────
|
|
24
|
+
export { FirekitCallable, FirekitCallableFromURL, firekitCallable, firekitCallableFromURL } from './services/callable.js';
|
|
25
|
+
// ─── Presence ─────────────────────────────────────────────────────────────────
|
|
9
26
|
export { firekitPresence } from './services/presence.svelte.js';
|
|
10
|
-
//
|
|
27
|
+
// ─── Remote Config ────────────────────────────────────────────────────────────
|
|
28
|
+
export { FirekitRemoteConfig, firekitRemoteConfig } from './services/remote-config.svelte.js';
|
|
29
|
+
// ─── Performance ──────────────────────────────────────────────────────────────
|
|
30
|
+
export { firekitPerformance } from './services/performance.js';
|
|
31
|
+
// ─── Messaging ────────────────────────────────────────────────────────────────
|
|
32
|
+
export { firekitMessaging } from './services/messaging.svelte.js';
|
|
33
|
+
// ─── Analytics ────────────────────────────────────────────────────────────────
|
|
11
34
|
export { firekitAnalytics } from './services/analytics.js';
|
|
12
|
-
//
|
|
13
|
-
export {
|
|
14
|
-
//
|
|
15
|
-
export {
|
|
16
|
-
//
|
|
17
|
-
export {
|
|
18
|
-
|
|
19
|
-
export {
|
|
20
|
-
|
|
21
|
-
export {
|
|
22
|
-
|
|
23
|
-
export { default as
|
|
24
|
-
export { default as
|
|
25
|
-
export { default as
|
|
26
|
-
export { default as
|
|
27
|
-
|
|
28
|
-
export
|
|
29
|
-
|
|
30
|
-
export
|
|
31
|
-
export { default as NodeList } from './components/firekit/node-list.svelte';
|
|
32
|
-
export { default as StorageList } from './components/firekit/storage-list.svelte';
|
|
33
|
-
export { default as DownloadURL } from './components/firekit/download-url.svelte';
|
|
34
|
-
export { default as UploadTask } from './components/firekit/upload-task.svelte';
|
|
35
|
+
// ─── In-App Messaging ─────────────────────────────────────────────────────────
|
|
36
|
+
export { firekitInAppMessaging } from './services/in-app-messaging.js';
|
|
37
|
+
// ─── Firestore bundles ────────────────────────────────────────────────────────
|
|
38
|
+
export { loadFirestoreBundle, getNamedQuery } from './services/bundles.js';
|
|
39
|
+
// ─── Components ──────────────────────────────────────────────────────────────
|
|
40
|
+
export { default as FirebaseApp } from './components/FirebaseApp.svelte';
|
|
41
|
+
export { default as SignedIn } from './components/SignedIn.svelte';
|
|
42
|
+
export { default as SignedOut } from './components/SignedOut.svelte';
|
|
43
|
+
export { default as AuthGuard } from './components/AuthGuard.svelte';
|
|
44
|
+
export { default as CustomGuard } from './components/CustomGuard.svelte';
|
|
45
|
+
export { default as Doc } from './components/Doc.svelte';
|
|
46
|
+
export { default as Collection } from './components/Collection.svelte';
|
|
47
|
+
export { default as Node } from './components/Node.svelte';
|
|
48
|
+
export { default as DownloadURL } from './components/DownloadURL.svelte';
|
|
49
|
+
export { default as UploadTask } from './components/UploadTask.svelte';
|
|
50
|
+
// ─── Types ───────────────────────────────────────────────────────────────────
|
|
51
|
+
export * from './types/index.js';
|
|
52
|
+
// ─── Utilities ───────────────────────────────────────────────────────────────
|
|
53
|
+
export * from './utils/index.js';
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { GoogleAIBackend, VertexAIBackend, type Part, type Content, type GenerateContentRequest, type GenerationConfig, type SafetySetting } from 'firebase/ai';
|
|
2
|
+
/** Available backend types for Firebase AI. */
|
|
3
|
+
export type AIBackendType = 'googleai' | 'vertexai';
|
|
4
|
+
/** Builds a text Part. */
|
|
5
|
+
export declare function textPart(text: string): Part;
|
|
6
|
+
/** Builds an inline image Part from a base64 data URL or raw base64 string. */
|
|
7
|
+
export declare function imagePart(base64: string, mimeType?: string): Part;
|
|
8
|
+
/** Builds an image Part from a publicly accessible URL. */
|
|
9
|
+
export declare function imageUrlPart(url: string, mimeType?: string): Part;
|
|
10
|
+
export interface FirekitAIOptions {
|
|
11
|
+
/** Firebase AI backend. Default: 'googleai' */
|
|
12
|
+
backend?: AIBackendType;
|
|
13
|
+
/** Gemini model name. Default: 'gemini-2.0-flash' */
|
|
14
|
+
model?: string;
|
|
15
|
+
generationConfig?: GenerationConfig;
|
|
16
|
+
safetySettings?: SafetySetting[];
|
|
17
|
+
systemInstruction?: string | Part | Content;
|
|
18
|
+
}
|
|
19
|
+
export interface ChatMessage {
|
|
20
|
+
role: 'user' | 'model';
|
|
21
|
+
parts: Part[];
|
|
22
|
+
text: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Reactive one-shot AI generation.
|
|
26
|
+
*
|
|
27
|
+
* Calls `generateContent` and exposes reactive state. Re-call `generate()`
|
|
28
|
+
* to produce new results.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```svelte
|
|
32
|
+
* <script lang="ts">
|
|
33
|
+
* import { firekitGenerate } from 'svelte-firekit';
|
|
34
|
+
* const gen = firekitGenerate({ model: 'gemini-2.0-flash' });
|
|
35
|
+
* gen.generate('Summarize the following: ...');
|
|
36
|
+
* </script>
|
|
37
|
+
* {#if gen.loading}<p>Thinking…</p>{/if}
|
|
38
|
+
* {#if gen.text}<p>{gen.text}</p>{/if}
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare class FirekitGenerate {
|
|
42
|
+
private _text;
|
|
43
|
+
private _loading;
|
|
44
|
+
private _error;
|
|
45
|
+
readonly hasResult: boolean;
|
|
46
|
+
private _model;
|
|
47
|
+
constructor(options?: FirekitAIOptions);
|
|
48
|
+
get text(): string | null;
|
|
49
|
+
get loading(): boolean;
|
|
50
|
+
get error(): Error | null;
|
|
51
|
+
/**
|
|
52
|
+
* Generates a response for the given prompt (text or multi-part content).
|
|
53
|
+
* Returns the generated text, or null on error.
|
|
54
|
+
*/
|
|
55
|
+
generate(prompt: string | Part | Part[] | GenerateContentRequest): Promise<string | null>;
|
|
56
|
+
/** Resets result and error state. */
|
|
57
|
+
reset(): void;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Reactive streaming AI generation.
|
|
61
|
+
*
|
|
62
|
+
* Streams tokens into `text` as they arrive from the model.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```svelte
|
|
66
|
+
* <script lang="ts">
|
|
67
|
+
* import { firekitStream } from 'svelte-firekit';
|
|
68
|
+
* const gen = firekitStream({ model: 'gemini-2.0-flash' });
|
|
69
|
+
* gen.generate('Write a poem about Svelte.');
|
|
70
|
+
* </script>
|
|
71
|
+
* {#if gen.streaming}<span class="cursor">▍</span>{/if}
|
|
72
|
+
* <p>{gen.text}</p>
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare class FirekitStream {
|
|
76
|
+
private _text;
|
|
77
|
+
private _streaming;
|
|
78
|
+
private _loading;
|
|
79
|
+
private _error;
|
|
80
|
+
readonly done: boolean;
|
|
81
|
+
private _model;
|
|
82
|
+
constructor(options?: FirekitAIOptions);
|
|
83
|
+
get text(): string;
|
|
84
|
+
get streaming(): boolean;
|
|
85
|
+
get loading(): boolean;
|
|
86
|
+
get error(): Error | null;
|
|
87
|
+
/**
|
|
88
|
+
* Streams a response for the given prompt.
|
|
89
|
+
* Resolves with the full text once streaming completes.
|
|
90
|
+
*/
|
|
91
|
+
generate(prompt: string | Part | Part[] | GenerateContentRequest): Promise<string>;
|
|
92
|
+
/** Resets accumulated text and error. */
|
|
93
|
+
reset(): void;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Reactive multi-turn chat session.
|
|
97
|
+
*
|
|
98
|
+
* Maintains conversation history and exposes reactive state for each
|
|
99
|
+
* assistant turn (supports both streaming and non-streaming).
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```svelte
|
|
103
|
+
* <script lang="ts">
|
|
104
|
+
* import { firekitChat } from 'svelte-firekit';
|
|
105
|
+
* const chat = firekitChat({ model: 'gemini-2.0-flash' });
|
|
106
|
+
* await chat.send('Hello!');
|
|
107
|
+
* </script>
|
|
108
|
+
* {#each chat.history as msg}
|
|
109
|
+
* <div class={msg.role}>{msg.text}</div>
|
|
110
|
+
* {/each}
|
|
111
|
+
* {#if chat.streaming}<span>▍</span>{/if}
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export declare class FirekitChat {
|
|
115
|
+
private _history;
|
|
116
|
+
private _pendingText;
|
|
117
|
+
private _loading;
|
|
118
|
+
private _streaming;
|
|
119
|
+
private _error;
|
|
120
|
+
readonly lastMessage: ChatMessage | null;
|
|
121
|
+
readonly isEmpty: boolean;
|
|
122
|
+
private _session;
|
|
123
|
+
constructor(options?: FirekitAIOptions, initialHistory?: Content[]);
|
|
124
|
+
get history(): ChatMessage[];
|
|
125
|
+
get pendingText(): string;
|
|
126
|
+
get loading(): boolean;
|
|
127
|
+
get streaming(): boolean;
|
|
128
|
+
get error(): Error | null;
|
|
129
|
+
/**
|
|
130
|
+
* Sends a message and returns the model's response text.
|
|
131
|
+
* Uses streaming by default for a responsive UI.
|
|
132
|
+
*/
|
|
133
|
+
send(message: string | Part[], { stream }?: {
|
|
134
|
+
stream?: boolean;
|
|
135
|
+
}): Promise<string>;
|
|
136
|
+
/** Clears the conversation history and starts a fresh session. */
|
|
137
|
+
clear(): void;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Creates a reactive one-shot AI text generator.
|
|
141
|
+
*/
|
|
142
|
+
export declare function firekitGenerate(options?: FirekitAIOptions): FirekitGenerate;
|
|
143
|
+
/**
|
|
144
|
+
* Creates a reactive streaming AI text generator.
|
|
145
|
+
*/
|
|
146
|
+
export declare function firekitStream(options?: FirekitAIOptions): FirekitStream;
|
|
147
|
+
/**
|
|
148
|
+
* Creates a reactive multi-turn AI chat session.
|
|
149
|
+
*/
|
|
150
|
+
export declare function firekitChat(options?: FirekitAIOptions, initialHistory?: Content[]): FirekitChat;
|
|
151
|
+
export { GoogleAIBackend, VertexAIBackend };
|
|
152
|
+
export type { Part, Content, GenerationConfig, SafetySetting };
|