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,32 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { Snippet } from 'svelte';
|
|
3
|
+
import { firekitUser } from '../services/user.svelte.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Renders `children` only when no authenticated user exists (including during loading).
|
|
7
|
+
* Passes a sign-in trigger function to children — wire it up to your auth method of choice.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <SignedOut>
|
|
11
|
+
* {#snippet children(signIn)}
|
|
12
|
+
* <button onclick={signIn}>Sign in with Google</button>
|
|
13
|
+
* {/snippet}
|
|
14
|
+
* </SignedOut>
|
|
15
|
+
*/
|
|
16
|
+
let {
|
|
17
|
+
children,
|
|
18
|
+
onSignIn
|
|
19
|
+
}: {
|
|
20
|
+
children: Snippet<[() => void]>;
|
|
21
|
+
/** Optional callback invoked when the user triggers sign-in from the snippet. */
|
|
22
|
+
onSignIn?: () => void;
|
|
23
|
+
} = $props();
|
|
24
|
+
|
|
25
|
+
function triggerSignIn() {
|
|
26
|
+
onSignIn?.();
|
|
27
|
+
}
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
{#if !firekitUser.isAuthenticated && !firekitUser.loading}
|
|
31
|
+
{@render children(triggerSignIn)}
|
|
32
|
+
{/if}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import type { Auth } from 'firebase/auth';
|
|
2
1
|
import type { Snippet } from 'svelte';
|
|
3
2
|
type $$ComponentProps = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
children: Snippet<[Auth]>;
|
|
3
|
+
children: Snippet<[() => void]>;
|
|
4
|
+
/** Optional callback invoked when the user triggers sign-in from the snippet. */
|
|
5
|
+
onSignIn?: () => void;
|
|
8
6
|
};
|
|
9
7
|
declare const SignedOut: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
10
8
|
type SignedOut = ReturnType<typeof SignedOut>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { Snippet } from 'svelte';
|
|
3
|
+
import type { UploadMetadata } from 'firebase/storage';
|
|
4
|
+
import { FirekitUploadTask, type UploadState } from '../services/storage.svelte.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Manages a Firebase Storage upload with reactive progress.
|
|
8
|
+
*
|
|
9
|
+
* Exposes upload controls (pause, resume, cancel) and progress state
|
|
10
|
+
* to the `uploading` snippet.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```svelte
|
|
14
|
+
* <UploadTask path="uploads/{file.name}" {file}>
|
|
15
|
+
* {#snippet uploading(task)}
|
|
16
|
+
* <progress value={task.progress} max={100} />
|
|
17
|
+
* <button onclick={task.pause}>Pause</button>
|
|
18
|
+
* {/snippet}
|
|
19
|
+
* {#snippet complete(url)}
|
|
20
|
+
* <img src={url} alt="uploaded" />
|
|
21
|
+
* {/snippet}
|
|
22
|
+
* </UploadTask>
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
let {
|
|
26
|
+
path,
|
|
27
|
+
file,
|
|
28
|
+
metadata,
|
|
29
|
+
uploading: uploadingSnippet,
|
|
30
|
+
complete: completeSnippet,
|
|
31
|
+
error: errorSnippet
|
|
32
|
+
}: {
|
|
33
|
+
/** Storage destination path. */
|
|
34
|
+
path: string;
|
|
35
|
+
/** File or raw bytes to upload. */
|
|
36
|
+
file: Blob | Uint8Array | ArrayBuffer;
|
|
37
|
+
/** Optional upload metadata (content type, custom metadata, etc.). */
|
|
38
|
+
metadata?: UploadMetadata;
|
|
39
|
+
/**
|
|
40
|
+
* Rendered while the upload is active.
|
|
41
|
+
* Receives an object with `{ progress, state, bytesTransferred, totalBytes, pause, resume, cancel }`.
|
|
42
|
+
*/
|
|
43
|
+
uploading?: Snippet<[{
|
|
44
|
+
progress: number;
|
|
45
|
+
state: UploadState;
|
|
46
|
+
bytesTransferred: number;
|
|
47
|
+
totalBytes: number;
|
|
48
|
+
pause: () => void;
|
|
49
|
+
resume: () => void;
|
|
50
|
+
cancel: () => void;
|
|
51
|
+
}]>;
|
|
52
|
+
/** Rendered after a successful upload. Receives the download URL. */
|
|
53
|
+
complete?: Snippet<[string]>;
|
|
54
|
+
/** Rendered on error. */
|
|
55
|
+
error?: Snippet<[Error]>;
|
|
56
|
+
} = $props();
|
|
57
|
+
|
|
58
|
+
const task = new FirekitUploadTask(path, file, metadata);
|
|
59
|
+
</script>
|
|
60
|
+
|
|
61
|
+
{#if task.error && errorSnippet}
|
|
62
|
+
{@render errorSnippet(task.error)}
|
|
63
|
+
{:else if task.completed && completeSnippet && task.downloadURL}
|
|
64
|
+
{@render completeSnippet(task.downloadURL)}
|
|
65
|
+
{:else if task.active && uploadingSnippet}
|
|
66
|
+
{@render uploadingSnippet({
|
|
67
|
+
progress: task.progress,
|
|
68
|
+
state: task.state,
|
|
69
|
+
bytesTransferred: task.bytesTransferred,
|
|
70
|
+
totalBytes: task.totalBytes,
|
|
71
|
+
pause: () => task.pause(),
|
|
72
|
+
resume: () => task.resume(),
|
|
73
|
+
cancel: () => task.cancel()
|
|
74
|
+
})}
|
|
75
|
+
{/if}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { UploadMetadata } from 'firebase/storage';
|
|
3
|
+
import { type UploadState } from '../services/storage.svelte.js';
|
|
4
|
+
type $$ComponentProps = {
|
|
5
|
+
/** Storage destination path. */
|
|
6
|
+
path: string;
|
|
7
|
+
/** File or raw bytes to upload. */
|
|
8
|
+
file: Blob | Uint8Array | ArrayBuffer;
|
|
9
|
+
/** Optional upload metadata (content type, custom metadata, etc.). */
|
|
10
|
+
metadata?: UploadMetadata;
|
|
11
|
+
/**
|
|
12
|
+
* Rendered while the upload is active.
|
|
13
|
+
* Receives an object with `{ progress, state, bytesTransferred, totalBytes, pause, resume, cancel }`.
|
|
14
|
+
*/
|
|
15
|
+
uploading?: Snippet<[
|
|
16
|
+
{
|
|
17
|
+
progress: number;
|
|
18
|
+
state: UploadState;
|
|
19
|
+
bytesTransferred: number;
|
|
20
|
+
totalBytes: number;
|
|
21
|
+
pause: () => void;
|
|
22
|
+
resume: () => void;
|
|
23
|
+
cancel: () => void;
|
|
24
|
+
}
|
|
25
|
+
]>;
|
|
26
|
+
/** Rendered after a successful upload. Receives the download URL. */
|
|
27
|
+
complete?: Snippet<[string]>;
|
|
28
|
+
/** Rendered on error. */
|
|
29
|
+
error?: Snippet<[Error]>;
|
|
30
|
+
};
|
|
31
|
+
declare const UploadTask: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
32
|
+
type UploadTask = ReturnType<typeof UploadTask>;
|
|
33
|
+
export default UploadTask;
|
package/dist/config.d.ts
CHANGED
|
@@ -1,12 +1,35 @@
|
|
|
1
1
|
import type { FirebaseOptions } from 'firebase/app';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Initialize Firekit with your Firebase project configuration.
|
|
4
|
+
* Must be called once before using any Firekit services.
|
|
5
|
+
*
|
|
6
|
+
* Works in any Svelte 5 project — no SvelteKit dependency required.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* // Plain Svelte 5
|
|
10
|
+
* import { initFirekit } from 'svelte-firekit';
|
|
11
|
+
* initFirekit({ apiKey: '...', authDomain: '...', projectId: '...', ... });
|
|
5
12
|
*
|
|
6
13
|
* @example
|
|
7
|
-
*
|
|
8
|
-
* import {
|
|
14
|
+
* // SvelteKit — call in +layout.ts or a dedicated firebase.ts module
|
|
15
|
+
* import { initFirekit } from 'svelte-firekit';
|
|
16
|
+
* import { PUBLIC_FIREBASE_API_KEY, PUBLIC_FIREBASE_PROJECT_ID } from '$env/static/public';
|
|
9
17
|
*
|
|
10
|
-
*
|
|
18
|
+
* initFirekit({
|
|
19
|
+
* apiKey: PUBLIC_FIREBASE_API_KEY,
|
|
20
|
+
* authDomain: `${PUBLIC_FIREBASE_PROJECT_ID}.firebaseapp.com`,
|
|
21
|
+
* projectId: PUBLIC_FIREBASE_PROJECT_ID,
|
|
22
|
+
* storageBucket: `${PUBLIC_FIREBASE_PROJECT_ID}.firebasestorage.app`,
|
|
23
|
+
* messagingSenderId: PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
|
|
24
|
+
* appId: PUBLIC_FIREBASE_APP_ID,
|
|
25
|
+
* measurementId: PUBLIC_FIREBASE_MEASUREMENT_ID, // optional, needed only for Analytics
|
|
26
|
+
* });
|
|
27
|
+
*/
|
|
28
|
+
export declare function initFirekit(config: FirebaseOptions): void;
|
|
29
|
+
/**
|
|
30
|
+
* Returns the stored Firebase config. Throws if initFirekit() has not been called.
|
|
31
|
+
* @internal Used by FirebaseService — consumers should use initFirekit() instead.
|
|
11
32
|
*/
|
|
12
|
-
export declare
|
|
33
|
+
export declare function getFirekitConfig(): FirebaseOptions;
|
|
34
|
+
/** Returns true if initFirekit() has been called. */
|
|
35
|
+
export declare function isFirekitConfigured(): boolean;
|
package/dist/config.js
CHANGED
|
@@ -1,85 +1,48 @@
|
|
|
1
|
-
import { PUBLIC_FIREBASE_API_KEY, PUBLIC_FIREBASE_AUTH_DOMAIN, PUBLIC_FIREBASE_PROJECT_ID, PUBLIC_FIREBASE_STORAGE_BUCKET, PUBLIC_FIREBASE_MESSAGING_SENDER_ID, PUBLIC_FIREBASE_APP_ID, PUBLIC_FIREBASE_MEASUREMENT_ID } from '$env/static/public';
|
|
2
1
|
import { isValidFirebaseConfig } from './types/firebase.js';
|
|
2
|
+
let _config = null;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*
|
|
8
|
-
* Implements the Singleton pattern to ensure only one Firebase config instance exists.
|
|
4
|
+
* Initialize Firekit with your Firebase project configuration.
|
|
5
|
+
* Must be called once before using any Firekit services.
|
|
6
|
+
*
|
|
7
|
+
* Works in any Svelte 5 project — no SvelteKit dependency required.
|
|
9
8
|
*
|
|
10
9
|
* @example
|
|
11
|
-
* //
|
|
12
|
-
*
|
|
10
|
+
* // Plain Svelte 5
|
|
11
|
+
* import { initFirekit } from 'svelte-firekit';
|
|
12
|
+
* initFirekit({ apiKey: '...', authDomain: '...', projectId: '...', ... });
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* @example
|
|
15
|
+
* // SvelteKit — call in +layout.ts or a dedicated firebase.ts module
|
|
16
|
+
* import { initFirekit } from 'svelte-firekit';
|
|
17
|
+
* import { PUBLIC_FIREBASE_API_KEY, PUBLIC_FIREBASE_PROJECT_ID } from '$env/static/public';
|
|
16
18
|
*
|
|
17
|
-
*
|
|
19
|
+
* initFirekit({
|
|
20
|
+
* apiKey: PUBLIC_FIREBASE_API_KEY,
|
|
21
|
+
* authDomain: `${PUBLIC_FIREBASE_PROJECT_ID}.firebaseapp.com`,
|
|
22
|
+
* projectId: PUBLIC_FIREBASE_PROJECT_ID,
|
|
23
|
+
* storageBucket: `${PUBLIC_FIREBASE_PROJECT_ID}.firebasestorage.app`,
|
|
24
|
+
* messagingSenderId: PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
|
|
25
|
+
* appId: PUBLIC_FIREBASE_APP_ID,
|
|
26
|
+
* measurementId: PUBLIC_FIREBASE_MEASUREMENT_ID, // optional, needed only for Analytics
|
|
27
|
+
* });
|
|
18
28
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Private constructor to prevent direct instantiation.
|
|
24
|
-
* Validates all required environment variables are present and creates config.
|
|
25
|
-
*
|
|
26
|
-
* @private
|
|
27
|
-
* @throws {Error} If any required Firebase configuration variables are missing or invalid
|
|
28
|
-
*/
|
|
29
|
-
constructor() {
|
|
30
|
-
const config = this.getFirebaseConfig();
|
|
31
|
-
if (!isValidFirebaseConfig(config)) {
|
|
32
|
-
throw new Error('Invalid Firebase configuration. Please check your environment variables.');
|
|
33
|
-
}
|
|
34
|
-
this.config = config;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Gets the Firebase configuration from environment variables.
|
|
38
|
-
*
|
|
39
|
-
* @private
|
|
40
|
-
* @returns {Partial<FirebaseEnvVars>} The Firebase configuration
|
|
41
|
-
*/
|
|
42
|
-
getFirebaseConfig() {
|
|
43
|
-
return {
|
|
44
|
-
apiKey: PUBLIC_FIREBASE_API_KEY,
|
|
45
|
-
authDomain: PUBLIC_FIREBASE_AUTH_DOMAIN,
|
|
46
|
-
projectId: PUBLIC_FIREBASE_PROJECT_ID,
|
|
47
|
-
storageBucket: PUBLIC_FIREBASE_STORAGE_BUCKET,
|
|
48
|
-
messagingSenderId: PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
|
|
49
|
-
appId: PUBLIC_FIREBASE_APP_ID,
|
|
50
|
-
measurementId: PUBLIC_FIREBASE_MEASUREMENT_ID
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Gets the singleton instance of FirebaseConfig.
|
|
55
|
-
* Creates a new instance if one doesn't exist.
|
|
56
|
-
*
|
|
57
|
-
* @returns {FirebaseConfig} The singleton FirebaseConfig instance
|
|
58
|
-
* @throws {Error} If any required Firebase configuration variables are missing or invalid
|
|
59
|
-
*/
|
|
60
|
-
static getInstance() {
|
|
61
|
-
if (!FirebaseConfig.instance) {
|
|
62
|
-
FirebaseConfig.instance = new FirebaseConfig();
|
|
63
|
-
}
|
|
64
|
-
return FirebaseConfig.instance;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Gets the Firebase configuration options.
|
|
68
|
-
*
|
|
69
|
-
* @returns {FirebaseOptions} The Firebase configuration options
|
|
70
|
-
*/
|
|
71
|
-
getConfig() {
|
|
72
|
-
return this.config;
|
|
29
|
+
export function initFirekit(config) {
|
|
30
|
+
if (!isValidFirebaseConfig(config)) {
|
|
31
|
+
throw new Error('Invalid Firebase configuration. Required: apiKey, authDomain, projectId, storageBucket, messagingSenderId, appId.');
|
|
73
32
|
}
|
|
33
|
+
_config = config;
|
|
74
34
|
}
|
|
75
35
|
/**
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
* import { firebaseConfig } from './firebase-config';
|
|
81
|
-
* import { initializeApp } from 'firebase/app';
|
|
82
|
-
*
|
|
83
|
-
* const app = initializeApp(firebaseConfig);
|
|
36
|
+
* Returns the stored Firebase config. Throws if initFirekit() has not been called.
|
|
37
|
+
* @internal Used by FirebaseService — consumers should use initFirekit() instead.
|
|
84
38
|
*/
|
|
85
|
-
export
|
|
39
|
+
export function getFirekitConfig() {
|
|
40
|
+
if (!_config) {
|
|
41
|
+
throw new Error('Firekit is not configured. Call initFirekit(config) before using any Firekit services.');
|
|
42
|
+
}
|
|
43
|
+
return _config;
|
|
44
|
+
}
|
|
45
|
+
/** Returns true if initFirekit() has been called. */
|
|
46
|
+
export function isFirekitConfigured() {
|
|
47
|
+
return _config !== null;
|
|
48
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed Svelte context getters for Firebase service instances.
|
|
3
|
+
*
|
|
4
|
+
* These must be called during component initialisation (inside `<script>` or a
|
|
5
|
+
* function called synchronously at component init time), after a `<FirebaseApp>`
|
|
6
|
+
* ancestor has set them via `setContext`.
|
|
7
|
+
*
|
|
8
|
+
* For the reactive singleton services (`firekitUser`, `firekitAuth`, etc.) you
|
|
9
|
+
* can also just import them directly — no context needed.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```svelte
|
|
13
|
+
* <script lang="ts">
|
|
14
|
+
* import { getFirestoreContext, getAuthContext } from 'svelte-firekit';
|
|
15
|
+
* const db = getFirestoreContext(); // Firestore instance
|
|
16
|
+
* const auth = getAuthContext(); // Auth instance
|
|
17
|
+
* </script>
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
import type { FirebaseApp } from 'firebase/app';
|
|
21
|
+
import type { Auth } from 'firebase/auth';
|
|
22
|
+
import type { Firestore } from 'firebase/firestore';
|
|
23
|
+
import type { FirebaseStorage } from 'firebase/storage';
|
|
24
|
+
import type { Database } from 'firebase/database';
|
|
25
|
+
import type { Functions } from 'firebase/functions';
|
|
26
|
+
import type { AppCheck } from 'firebase/app-check';
|
|
27
|
+
import type { firekitAnalytics } from './services/analytics.js';
|
|
28
|
+
import type { firekitMessaging } from './services/messaging.svelte.js';
|
|
29
|
+
/** Returns the `FirebaseApp` instance set by `<FirebaseApp>`. */
|
|
30
|
+
export declare function getFirebaseAppContext(): FirebaseApp | undefined;
|
|
31
|
+
/** Returns the Firebase `Auth` instance set by `<FirebaseApp>`. */
|
|
32
|
+
export declare function getAuthContext(): Auth | undefined;
|
|
33
|
+
/** Returns the `Firestore` instance set by `<FirebaseApp>`. */
|
|
34
|
+
export declare function getFirestoreContext(): Firestore | undefined;
|
|
35
|
+
/** Returns the `FirebaseStorage` instance set by `<FirebaseApp>`. */
|
|
36
|
+
export declare function getStorageContext(): FirebaseStorage | undefined;
|
|
37
|
+
/** Returns the Realtime Database `Database` instance set by `<FirebaseApp>`. */
|
|
38
|
+
export declare function getRTDBContext(): Database | undefined;
|
|
39
|
+
/** Returns the Cloud Functions `Functions` instance set by `<FirebaseApp>`. */
|
|
40
|
+
export declare function getFunctionsContext(): Functions | undefined;
|
|
41
|
+
/** Returns the `AppCheck` instance set by `<FirebaseApp>`, or null if App Check is not enabled. */
|
|
42
|
+
export declare function getAppCheckContext(): AppCheck | null | undefined;
|
|
43
|
+
/** Returns the `firekitAnalytics` singleton set by `<FirebaseApp>`. */
|
|
44
|
+
export declare function getAnalyticsContext(): typeof firekitAnalytics | undefined;
|
|
45
|
+
/** Returns the `firekitMessaging` singleton set by `<FirebaseApp>`. */
|
|
46
|
+
export declare function getMessagingContext(): typeof firekitMessaging | undefined;
|
package/dist/context.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed Svelte context getters for Firebase service instances.
|
|
3
|
+
*
|
|
4
|
+
* These must be called during component initialisation (inside `<script>` or a
|
|
5
|
+
* function called synchronously at component init time), after a `<FirebaseApp>`
|
|
6
|
+
* ancestor has set them via `setContext`.
|
|
7
|
+
*
|
|
8
|
+
* For the reactive singleton services (`firekitUser`, `firekitAuth`, etc.) you
|
|
9
|
+
* can also just import them directly — no context needed.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```svelte
|
|
13
|
+
* <script lang="ts">
|
|
14
|
+
* import { getFirestoreContext, getAuthContext } from 'svelte-firekit';
|
|
15
|
+
* const db = getFirestoreContext(); // Firestore instance
|
|
16
|
+
* const auth = getAuthContext(); // Auth instance
|
|
17
|
+
* </script>
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
import { getContext } from 'svelte';
|
|
21
|
+
/** Returns the `FirebaseApp` instance set by `<FirebaseApp>`. */
|
|
22
|
+
export function getFirebaseAppContext() {
|
|
23
|
+
return getContext('firebase/app');
|
|
24
|
+
}
|
|
25
|
+
/** Returns the Firebase `Auth` instance set by `<FirebaseApp>`. */
|
|
26
|
+
export function getAuthContext() {
|
|
27
|
+
return getContext('firebase/auth');
|
|
28
|
+
}
|
|
29
|
+
/** Returns the `Firestore` instance set by `<FirebaseApp>`. */
|
|
30
|
+
export function getFirestoreContext() {
|
|
31
|
+
return getContext('firebase/firestore');
|
|
32
|
+
}
|
|
33
|
+
/** Returns the `FirebaseStorage` instance set by `<FirebaseApp>`. */
|
|
34
|
+
export function getStorageContext() {
|
|
35
|
+
return getContext('firebase/storage');
|
|
36
|
+
}
|
|
37
|
+
/** Returns the Realtime Database `Database` instance set by `<FirebaseApp>`. */
|
|
38
|
+
export function getRTDBContext() {
|
|
39
|
+
return getContext('firebase/rtdb');
|
|
40
|
+
}
|
|
41
|
+
/** Returns the Cloud Functions `Functions` instance set by `<FirebaseApp>`. */
|
|
42
|
+
export function getFunctionsContext() {
|
|
43
|
+
return getContext('firebase/functions');
|
|
44
|
+
}
|
|
45
|
+
/** Returns the `AppCheck` instance set by `<FirebaseApp>`, or null if App Check is not enabled. */
|
|
46
|
+
export function getAppCheckContext() {
|
|
47
|
+
return getContext('firebase/app-check');
|
|
48
|
+
}
|
|
49
|
+
/** Returns the `firekitAnalytics` singleton set by `<FirebaseApp>`. */
|
|
50
|
+
export function getAnalyticsContext() {
|
|
51
|
+
return getContext('firebase/analytics');
|
|
52
|
+
}
|
|
53
|
+
/** Returns the `firekitMessaging` singleton set by `<FirebaseApp>`. */
|
|
54
|
+
export function getMessagingContext() {
|
|
55
|
+
return getContext('firebase/messaging');
|
|
56
|
+
}
|
package/dist/firebase.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { FirebaseServiceStatus, type FirebaseServiceInstance } from './types/firebase.js';
|
|
2
|
+
import type { AppCheck } from 'firebase/app-check';
|
|
3
|
+
import type { RemoteConfig } from 'firebase/remote-config';
|
|
2
4
|
/**
|
|
3
|
-
* Singleton service
|
|
4
|
-
*
|
|
5
|
+
* Singleton service that manages all Firebase service instances.
|
|
6
|
+
* Services are initialized lazily — they spin up only when first accessed.
|
|
5
7
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* // Get Auth instance
|
|
11
|
-
* const auth = firebaseService.getAuthInstance();
|
|
8
|
+
* Core services (Firestore, Auth, Functions, RTDB, Storage) are always available.
|
|
9
|
+
* Browser-only services (Analytics, Performance, Messaging) check the environment.
|
|
10
|
+
* Security services (AppCheck, RemoteConfig) are initialized by their dedicated service files.
|
|
12
11
|
*/
|
|
13
12
|
declare class FirebaseService implements FirebaseServiceInstance {
|
|
14
13
|
private static instance;
|
|
@@ -19,108 +18,50 @@ declare class FirebaseService implements FirebaseServiceInstance {
|
|
|
19
18
|
database: FirebaseServiceInstance['database'];
|
|
20
19
|
storage: FirebaseServiceInstance['storage'];
|
|
21
20
|
analytics: FirebaseServiceInstance['analytics'];
|
|
21
|
+
appCheck: AppCheck | null;
|
|
22
|
+
remoteConfig: RemoteConfig | null;
|
|
23
|
+
performance: FirebaseServiceInstance['performance'];
|
|
24
|
+
messaging: FirebaseServiceInstance['messaging'];
|
|
22
25
|
status: FirebaseServiceStatus;
|
|
23
26
|
initializationError: Error | null;
|
|
24
27
|
readonly isBrowser: boolean;
|
|
25
|
-
/** @private */
|
|
26
28
|
private constructor();
|
|
27
|
-
/**
|
|
28
|
-
* Gets the singleton instance of FirebaseService.
|
|
29
|
-
* Creates a new instance if one doesn't exist.
|
|
30
|
-
*
|
|
31
|
-
* @returns {FirebaseService} The singleton FirebaseService instance
|
|
32
|
-
*/
|
|
33
29
|
static getInstance(): FirebaseService;
|
|
34
|
-
/**
|
|
35
|
-
* Gets the current status of the Firebase service
|
|
36
|
-
*
|
|
37
|
-
* @returns {FirebaseServiceStatus} The current service status
|
|
38
|
-
*/
|
|
39
30
|
getStatus(): FirebaseServiceStatus;
|
|
40
|
-
/**
|
|
41
|
-
* Gets the initialization error if any occurred
|
|
42
|
-
*
|
|
43
|
-
* @returns {Error | null} The initialization error or null if none occurred
|
|
44
|
-
*/
|
|
45
31
|
getInitializationError(): Error | null;
|
|
46
|
-
/**
|
|
47
|
-
* Initializes or retrieves the Firebase app instance.
|
|
48
|
-
* Also initializes Firestore if running in browser environment.
|
|
49
|
-
*
|
|
50
|
-
* @returns {FirebaseApp} The Firebase app instance
|
|
51
|
-
* @throws {FirebaseServiceError} If initialization fails
|
|
52
|
-
*/
|
|
53
32
|
getFirebaseApp(): FirebaseServiceInstance['firebaseApp'];
|
|
54
|
-
/**
|
|
55
|
-
* Initializes Firestore with persistent cache and multi-tab support.
|
|
56
|
-
* Only runs in browser environment.
|
|
57
|
-
*
|
|
58
|
-
* @private
|
|
59
|
-
* @throws {FirebaseServiceError} If Firestore initialization fails
|
|
60
|
-
*/
|
|
61
33
|
private initializeFirestoreInstance;
|
|
62
|
-
/**
|
|
63
|
-
* Gets the Firestore instance, initializing it if necessary.
|
|
64
|
-
*
|
|
65
|
-
* @returns {Firestore} The Firestore instance
|
|
66
|
-
* @throws {FirebaseServiceError} If Firestore is not available
|
|
67
|
-
*/
|
|
68
34
|
getDbInstance(): FirebaseServiceInstance['db'];
|
|
69
|
-
/**
|
|
70
|
-
* Gets the Authentication instance, initializing it if necessary.
|
|
71
|
-
*
|
|
72
|
-
* @returns {Auth} The Authentication instance
|
|
73
|
-
* @throws {FirebaseServiceError} If Auth initialization fails
|
|
74
|
-
*/
|
|
75
35
|
getAuthInstance(): FirebaseServiceInstance['auth'];
|
|
76
|
-
/**
|
|
77
|
-
* Gets the Cloud Functions instance, initializing it if necessary.
|
|
78
|
-
*
|
|
79
|
-
* @returns {Functions} The Cloud Functions instance
|
|
80
|
-
* @throws {FirebaseServiceError} If Functions initialization fails
|
|
81
|
-
*/
|
|
82
36
|
getFunctionsInstance(): FirebaseServiceInstance['functions'];
|
|
37
|
+
getDatabaseInstance(): FirebaseServiceInstance['database'];
|
|
38
|
+
getStorageInstance(): FirebaseServiceInstance['storage'];
|
|
83
39
|
/**
|
|
84
|
-
* Gets the
|
|
85
|
-
*
|
|
86
|
-
* @returns {Database} The Realtime Database instance
|
|
87
|
-
* @throws {FirebaseServiceError} If Database initialization fails
|
|
40
|
+
* Gets the Analytics instance. Returns null if analytics is not supported
|
|
41
|
+
* (e.g. no measurementId in config, ad-blockers, SSR).
|
|
88
42
|
*/
|
|
89
|
-
|
|
43
|
+
getAnalyticsInstance(): Promise<FirebaseServiceInstance['analytics']>;
|
|
90
44
|
/**
|
|
91
|
-
* Gets the
|
|
92
|
-
*
|
|
93
|
-
* @returns {FirebaseStorage} The Storage instance
|
|
94
|
-
* @throws {FirebaseServiceError} If Storage initialization fails
|
|
45
|
+
* Gets the Performance Monitoring instance. Browser-only.
|
|
95
46
|
*/
|
|
96
|
-
|
|
47
|
+
getPerformanceInstance(): FirebaseServiceInstance['performance'];
|
|
97
48
|
/**
|
|
98
|
-
* Gets the
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
* @returns {Analytics} The Analytics instance
|
|
102
|
-
* @throws {FirebaseServiceError} If Analytics initialization fails
|
|
49
|
+
* Gets the Cloud Messaging instance. Returns null if not supported
|
|
50
|
+
* (requires HTTPS, service workers, and browser support).
|
|
103
51
|
*/
|
|
104
|
-
|
|
52
|
+
getMessagingInstance(): Promise<FirebaseServiceInstance['messaging']>;
|
|
105
53
|
/**
|
|
106
|
-
* Resets
|
|
107
|
-
* Useful for testing or when you need to reinitialize the services.
|
|
108
|
-
*
|
|
109
|
-
* @returns {Promise<void>}
|
|
54
|
+
* Resets all service instances. Primarily useful for testing.
|
|
110
55
|
*/
|
|
111
56
|
reset(): Promise<void>;
|
|
112
57
|
}
|
|
113
58
|
/**
|
|
114
|
-
*
|
|
115
|
-
*
|
|
59
|
+
* The global Firebase service singleton.
|
|
60
|
+
* Access Firebase service instances through this object.
|
|
116
61
|
*
|
|
117
62
|
* @example
|
|
118
|
-
* import { firebaseService } from '
|
|
119
|
-
*
|
|
120
|
-
* // Get Firestore
|
|
63
|
+
* import { firebaseService } from 'svelte-firekit';
|
|
121
64
|
* const db = firebaseService.getDbInstance();
|
|
122
|
-
*
|
|
123
|
-
* // Get Auth
|
|
124
65
|
* const auth = firebaseService.getAuthInstance();
|
|
125
66
|
*/
|
|
126
67
|
export declare const firebaseService: FirebaseService;
|