svelte-firekit 0.1.8 → 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 -708
- 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
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { initializeAppCheck, getToken, getLimitedUseToken, onTokenChanged, setTokenAutoRefreshEnabled } from 'firebase/app-check';
|
|
2
|
+
import { firebaseService } from '../firebase.js';
|
|
3
|
+
export { ReCaptchaV3Provider, ReCaptchaEnterpriseProvider, CustomProvider } from 'firebase/app-check';
|
|
4
|
+
/**
|
|
5
|
+
* App Check service — secures all Firebase service calls with attestation tokens.
|
|
6
|
+
*
|
|
7
|
+
* **Must be initialized before any other Firebase service makes a network call.**
|
|
8
|
+
* Use the `appCheckOptions` prop on `<FirebaseApp>`, or call `firekitAppCheck.initialize()`
|
|
9
|
+
* manually as early as possible in your app lifecycle.
|
|
10
|
+
*
|
|
11
|
+
* Supports reCAPTCHA Enterprise, reCAPTCHA v3, and custom providers.
|
|
12
|
+
*
|
|
13
|
+
* @example Via FirebaseApp component
|
|
14
|
+
* ```svelte
|
|
15
|
+
* <FirebaseApp
|
|
16
|
+
* {config}
|
|
17
|
+
* appCheckOptions={{ provider: new ReCaptchaEnterpriseProvider('SITE_KEY'), isTokenAutoRefreshEnabled: true }}
|
|
18
|
+
* >
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @example Programmatic initialization
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { firekitAppCheck, ReCaptchaEnterpriseProvider } from 'svelte-firekit';
|
|
24
|
+
* firekitAppCheck.initialize({
|
|
25
|
+
* provider: new ReCaptchaEnterpriseProvider('SITE_KEY'),
|
|
26
|
+
* isTokenAutoRefreshEnabled: true
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @example Debug mode in development
|
|
31
|
+
* ```ts
|
|
32
|
+
* // Set this BEFORE calling initialize() — Firebase SDK picks it up automatically
|
|
33
|
+
* if (import.meta.env.DEV) {
|
|
34
|
+
* (self as any).FIREBASE_APPCHECK_DEBUG_TOKEN = true;
|
|
35
|
+
* }
|
|
36
|
+
* firekitAppCheck.initialize({ provider: new ReCaptchaEnterpriseProvider('SITE_KEY') });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
class FirekitAppCheck {
|
|
40
|
+
static instance;
|
|
41
|
+
appCheck = null;
|
|
42
|
+
unsubscribeToken = null;
|
|
43
|
+
// ── Reactive state ───────────────────────────────────────────────────────────
|
|
44
|
+
_initialized = $state(false);
|
|
45
|
+
_loading = $state(false);
|
|
46
|
+
_error = $state(null);
|
|
47
|
+
_token = $state(null);
|
|
48
|
+
_tokenExpireTime = $state(null);
|
|
49
|
+
// ── Derived ──────────────────────────────────────────────────────────────────
|
|
50
|
+
_isTokenValid = $derived(this._token !== null &&
|
|
51
|
+
this._tokenExpireTime !== null &&
|
|
52
|
+
this._tokenExpireTime > Date.now());
|
|
53
|
+
constructor() { }
|
|
54
|
+
static getInstance() {
|
|
55
|
+
if (!FirekitAppCheck.instance) {
|
|
56
|
+
FirekitAppCheck.instance = new FirekitAppCheck();
|
|
57
|
+
}
|
|
58
|
+
return FirekitAppCheck.instance;
|
|
59
|
+
}
|
|
60
|
+
// ── Public getters ───────────────────────────────────────────────────────────
|
|
61
|
+
/** Whether App Check has been initialized. */
|
|
62
|
+
get initialized() { return this._initialized; }
|
|
63
|
+
/** True while a token request is in flight. */
|
|
64
|
+
get loading() { return this._loading; }
|
|
65
|
+
/** Last error from initialization or token fetch. */
|
|
66
|
+
get error() { return this._error; }
|
|
67
|
+
/** The current App Check token string, or null if not yet acquired. */
|
|
68
|
+
get token() { return this._token; }
|
|
69
|
+
/** Whether the current token is present and has not expired locally. */
|
|
70
|
+
get isTokenValid() { return this._isTokenValid; }
|
|
71
|
+
// ── Initialization ───────────────────────────────────────────────────────────
|
|
72
|
+
/**
|
|
73
|
+
* Initializes App Check. Must be called before any other Firebase network call.
|
|
74
|
+
* Idempotent — subsequent calls are no-ops.
|
|
75
|
+
*/
|
|
76
|
+
initialize(options) {
|
|
77
|
+
if (this._initialized || typeof window === 'undefined')
|
|
78
|
+
return;
|
|
79
|
+
try {
|
|
80
|
+
const app = firebaseService.getFirebaseApp();
|
|
81
|
+
if (!app)
|
|
82
|
+
throw new Error('Firebase app not initialized.');
|
|
83
|
+
this.appCheck = initializeAppCheck(app, options);
|
|
84
|
+
// Store the instance on firebaseService for other services to reference
|
|
85
|
+
firebaseService.appCheck = this.appCheck;
|
|
86
|
+
// Subscribe to token changes for reactive updates
|
|
87
|
+
this.unsubscribeToken = onTokenChanged(this.appCheck, (tokenResult) => {
|
|
88
|
+
this._token = tokenResult.token;
|
|
89
|
+
this._error = null;
|
|
90
|
+
}, (err) => {
|
|
91
|
+
this._error = err;
|
|
92
|
+
});
|
|
93
|
+
this._initialized = true;
|
|
94
|
+
this._error = null;
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
this._error = err instanceof Error ? err : new Error(String(err));
|
|
98
|
+
throw this._error;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// ── Token methods ────────────────────────────────────────────────────────────
|
|
102
|
+
/**
|
|
103
|
+
* Returns the current App Check token, fetching a fresh one if needed.
|
|
104
|
+
* @param forceRefresh - Force a new token even if the current one is valid.
|
|
105
|
+
*/
|
|
106
|
+
async getToken(forceRefresh = false) {
|
|
107
|
+
if (!this.appCheck)
|
|
108
|
+
return null;
|
|
109
|
+
try {
|
|
110
|
+
this._loading = true;
|
|
111
|
+
const result = await getToken(this.appCheck, forceRefresh);
|
|
112
|
+
this._token = result.token;
|
|
113
|
+
this._error = null;
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
this._error = err instanceof Error ? err : new Error(String(err));
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
finally {
|
|
121
|
+
this._loading = false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Returns a limited-use token (one-time use, not cached).
|
|
126
|
+
* Use this for sensitive operations like account deletion or payment flows.
|
|
127
|
+
*/
|
|
128
|
+
async getLimitedUseToken() {
|
|
129
|
+
if (!this.appCheck)
|
|
130
|
+
return null;
|
|
131
|
+
try {
|
|
132
|
+
this._loading = true;
|
|
133
|
+
const result = await getLimitedUseToken(this.appCheck);
|
|
134
|
+
this._error = null;
|
|
135
|
+
return result;
|
|
136
|
+
}
|
|
137
|
+
catch (err) {
|
|
138
|
+
this._error = err instanceof Error ? err : new Error(String(err));
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
finally {
|
|
142
|
+
this._loading = false;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Enables or disables automatic background token refresh.
|
|
147
|
+
*/
|
|
148
|
+
setAutoRefresh(enabled) {
|
|
149
|
+
if (!this.appCheck)
|
|
150
|
+
return;
|
|
151
|
+
setTokenAutoRefreshEnabled(this.appCheck, enabled);
|
|
152
|
+
}
|
|
153
|
+
// ── Cleanup ──────────────────────────────────────────────────────────────────
|
|
154
|
+
dispose() {
|
|
155
|
+
this.unsubscribeToken?.();
|
|
156
|
+
this.unsubscribeToken = null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
export const firekitAppCheck = FirekitAppCheck.getInstance();
|
package/dist/services/auth.d.ts
CHANGED
|
@@ -1,402 +1,113 @@
|
|
|
1
|
+
import { type User, type MultiFactorError, type MultiFactorResolver, type MultiFactorInfo } from 'firebase/auth';
|
|
2
|
+
import { type SignInResult, type RegistrationResult, type OAuthSignInResult, type PhoneVerificationResult, type PasswordUpdateResult, type AccountDeletionResult } from '../types/auth.js';
|
|
1
3
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*/
|
|
6
|
-
import { type User } from 'firebase/auth';
|
|
7
|
-
import { type UserProfile, type AuthState, type PasswordUpdateResult, type AccountDeletionResult, type PhoneVerificationResult, type SignInResult, type RegistrationResult, type OAuthSignInResult } from '../types/auth.js';
|
|
8
|
-
/**
|
|
9
|
-
* Comprehensive Firebase Authentication service for Svelte applications.
|
|
10
|
-
* Provides a complete authentication solution with automatic Firestore integration,
|
|
11
|
-
* error handling, and support for all major authentication methods.
|
|
4
|
+
* Firebase Authentication service.
|
|
5
|
+
* Handles all auth operations — sign in, register, sign out, profile updates.
|
|
6
|
+
* Reactive state (loading, user, isAuthenticated) lives in `firekitUser`.
|
|
12
7
|
*
|
|
13
|
-
* @class FirekitAuth
|
|
14
8
|
* @example
|
|
15
|
-
* ```typescript
|
|
16
9
|
* import { firekitAuth } from 'svelte-firekit';
|
|
17
|
-
*
|
|
18
|
-
* // Sign in with Google
|
|
19
10
|
* await firekitAuth.signInWithGoogle();
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* await firekitAuth.registerWithEmail("user@example.com", "password123", "John Doe");
|
|
23
|
-
*
|
|
24
|
-
* // Listen to auth state changes
|
|
25
|
-
* const unsubscribe = firekitAuth.onAuthStateChanged((user) => {
|
|
26
|
-
* console.log('User:', user);
|
|
27
|
-
* });
|
|
28
|
-
* ```
|
|
11
|
+
* await firekitAuth.registerWithEmail('user@example.com', 'password', 'Jane Doe');
|
|
12
|
+
* await firekitAuth.signOut();
|
|
29
13
|
*/
|
|
30
14
|
declare class FirekitAuth {
|
|
31
15
|
private static instance;
|
|
32
16
|
private auth;
|
|
33
17
|
private firestore;
|
|
34
|
-
private _servicesInitialized;
|
|
35
|
-
private authState;
|
|
36
|
-
private stateListeners;
|
|
37
18
|
private recaptchaVerifiers;
|
|
38
19
|
private constructor();
|
|
39
|
-
/**
|
|
40
|
-
* Gets singleton instance of FirekitAuth
|
|
41
|
-
* @returns {FirekitAuth} The FirekitAuth instance
|
|
42
|
-
*/
|
|
43
20
|
static getInstance(): FirekitAuth;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
private initializeServices;
|
|
49
|
-
/**
|
|
50
|
-
* Initializes the authentication state listener
|
|
51
|
-
* @private
|
|
52
|
-
*/
|
|
53
|
-
private initializeAuthStateListener;
|
|
54
|
-
/**
|
|
55
|
-
* Notifies all state listeners of auth state changes
|
|
56
|
-
* @private
|
|
57
|
-
*/
|
|
58
|
-
private notifyStateListeners;
|
|
59
|
-
/**
|
|
60
|
-
* Maps Firebase User to UserProfile interface
|
|
61
|
-
* @private
|
|
62
|
-
*/
|
|
63
|
-
private mapFirebaseUserToProfile;
|
|
64
|
-
/**
|
|
65
|
-
* Updates user data in Firestore with comprehensive profile information
|
|
66
|
-
* @private
|
|
67
|
-
*/
|
|
68
|
-
private updateUserInFirestore;
|
|
69
|
-
/**
|
|
70
|
-
* Handles Firebase authentication errors and throws FirekitAuthError
|
|
71
|
-
* @private
|
|
72
|
-
*/
|
|
73
|
-
private handleAuthError;
|
|
74
|
-
/**
|
|
75
|
-
* Gets the current authentication state
|
|
76
|
-
* @returns {AuthState} Current authentication state
|
|
77
|
-
*/
|
|
78
|
-
getState(): AuthState;
|
|
79
|
-
/**
|
|
80
|
-
* Gets the current authenticated user
|
|
81
|
-
* @returns {User | null} Current Firebase user or null
|
|
82
|
-
*/
|
|
83
|
-
getCurrentUser(): User | null;
|
|
84
|
-
/**
|
|
85
|
-
* Gets the current user profile
|
|
86
|
-
* @returns {UserProfile | null} Current user profile or null
|
|
87
|
-
*/
|
|
88
|
-
getCurrentUserProfile(): UserProfile | null;
|
|
89
|
-
/**
|
|
90
|
-
* Waits for auth initialization to complete
|
|
91
|
-
* @returns {Promise<UserProfile | null>} Promise that resolves when auth is initialized
|
|
92
|
-
*/
|
|
93
|
-
waitForAuth(): Promise<UserProfile | null>;
|
|
94
|
-
/**
|
|
95
|
-
* Subscribes to authentication state changes
|
|
96
|
-
* @param {Function} callback Callback function to handle state changes
|
|
97
|
-
* @returns {Function} Unsubscribe function
|
|
98
|
-
*/
|
|
99
|
-
onAuthStateChanged(callback: (state: AuthState) => void): () => void;
|
|
100
|
-
/**
|
|
101
|
-
* Signs in user with email and password
|
|
102
|
-
* @param {string} email User's email address
|
|
103
|
-
* @param {string} password User's password
|
|
104
|
-
* @returns {Promise<SignInResult>} Promise resolving to sign-in result
|
|
105
|
-
* @throws {FirekitAuthError} If sign-in fails
|
|
106
|
-
*
|
|
107
|
-
* @example
|
|
108
|
-
* ```typescript
|
|
109
|
-
* try {
|
|
110
|
-
* const result = await firekitAuth.signInWithEmail("user@example.com", "password123");
|
|
111
|
-
* console.log("Signed in:", result.user.displayName);
|
|
112
|
-
* console.log("Is new user:", result.isNewUser);
|
|
113
|
-
* } catch (error) {
|
|
114
|
-
* console.error("Sign-in failed:", error.message);
|
|
115
|
-
* }
|
|
116
|
-
* ```
|
|
117
|
-
*/
|
|
21
|
+
private bootstrap;
|
|
22
|
+
private getAuth;
|
|
23
|
+
private syncToFirestore;
|
|
24
|
+
private profile;
|
|
118
25
|
signInWithEmail(email: string, password: string): Promise<SignInResult>;
|
|
119
|
-
/**
|
|
120
|
-
* Signs in user with Google popup
|
|
121
|
-
* @returns {Promise<OAuthSignInResult>} Promise resolving to OAuth sign-in result
|
|
122
|
-
* @throws {FirekitAuthError} If sign-in fails
|
|
123
|
-
*
|
|
124
|
-
* @example
|
|
125
|
-
* ```typescript
|
|
126
|
-
* try {
|
|
127
|
-
* const result = await firekitAuth.signInWithGoogle();
|
|
128
|
-
* console.log("Signed in with Google:", result.user.email);
|
|
129
|
-
* console.log("Is new user:", result.isNewUser);
|
|
130
|
-
* console.log("Access token:", result.accessToken);
|
|
131
|
-
* } catch (error) {
|
|
132
|
-
* if (error.code === 'auth/popup-closed-by-user') {
|
|
133
|
-
* console.log("User cancelled sign-in");
|
|
134
|
-
* }
|
|
135
|
-
* }
|
|
136
|
-
* ```
|
|
137
|
-
*/
|
|
138
26
|
signInWithGoogle(): Promise<OAuthSignInResult>;
|
|
139
|
-
/**
|
|
140
|
-
* Signs in user with Facebook popup
|
|
141
|
-
* @returns {Promise<OAuthSignInResult>} Promise resolving to OAuth sign-in result
|
|
142
|
-
* @throws {FirekitAuthError} If sign-in fails
|
|
143
|
-
*/
|
|
144
27
|
signInWithFacebook(): Promise<OAuthSignInResult>;
|
|
145
|
-
/**
|
|
146
|
-
* Signs in user with Apple popup
|
|
147
|
-
* @returns {Promise<OAuthSignInResult>} Promise resolving to OAuth sign-in result
|
|
148
|
-
* @throws {FirekitAuthError} If sign-in fails
|
|
149
|
-
*/
|
|
150
28
|
signInWithApple(): Promise<OAuthSignInResult>;
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
*
|
|
156
|
-
* @example
|
|
157
|
-
* ```typescript
|
|
158
|
-
* const result = await firekitAuth.signInAnonymously();
|
|
159
|
-
* console.log("Anonymous user:", result.user.uid);
|
|
160
|
-
* console.log("Is new user:", result.isNewUser);
|
|
161
|
-
* ```
|
|
162
|
-
*/
|
|
29
|
+
signInWithGithub(): Promise<OAuthSignInResult>;
|
|
30
|
+
signInWithTwitter(): Promise<OAuthSignInResult>;
|
|
31
|
+
signInWithMicrosoft(): Promise<OAuthSignInResult>;
|
|
32
|
+
private signInWithOAuth;
|
|
163
33
|
signInAnonymously(): Promise<SignInResult>;
|
|
164
|
-
/**
|
|
165
|
-
* Initiates phone number sign-in process
|
|
166
|
-
* @param {string} phoneNumber Phone number in international format
|
|
167
|
-
* @param {string} recaptchaContainerId ID of the reCAPTCHA container element
|
|
168
|
-
* @returns {Promise<PhoneVerificationResult>} Promise resolving to verification result
|
|
169
|
-
* @throws {FirekitAuthError} If verification initiation fails
|
|
170
|
-
*
|
|
171
|
-
* @example
|
|
172
|
-
* ```typescript
|
|
173
|
-
* const verification = await firekitAuth.signInWithPhoneNumber("+1234567890", "recaptcha-container");
|
|
174
|
-
* const user = await verification.confirm("123456");
|
|
175
|
-
* ```
|
|
176
|
-
*/
|
|
177
34
|
signInWithPhoneNumber(phoneNumber: string, recaptchaContainerId: string): Promise<PhoneVerificationResult>;
|
|
178
|
-
/**
|
|
179
|
-
* Registers new user with email and password
|
|
180
|
-
* @param {string} email User's email address
|
|
181
|
-
* @param {string} password User's password
|
|
182
|
-
* @param {string} [displayName] User's display name
|
|
183
|
-
* @param {boolean} [sendVerification=true] Whether to send email verification
|
|
184
|
-
* @returns {Promise<RegistrationResult>} Promise resolving to registration result
|
|
185
|
-
* @throws {FirekitAuthError} If registration fails
|
|
186
|
-
*
|
|
187
|
-
* @example
|
|
188
|
-
* ```typescript
|
|
189
|
-
* const result = await firekitAuth.registerWithEmail(
|
|
190
|
-
* "user@example.com",
|
|
191
|
-
* "password123",
|
|
192
|
-
* "John Doe"
|
|
193
|
-
* );
|
|
194
|
-
* console.log("Registered:", result.user.displayName);
|
|
195
|
-
* console.log("Email verification sent:", result.emailVerificationSent);
|
|
196
|
-
* ```
|
|
197
|
-
*/
|
|
198
35
|
registerWithEmail(email: string, password: string, displayName?: string, sendVerification?: boolean): Promise<RegistrationResult>;
|
|
199
|
-
|
|
200
|
-
* Sends password reset email
|
|
201
|
-
* @param {string} email User's email address
|
|
202
|
-
* @returns {Promise<void>} Promise that resolves when email is sent
|
|
203
|
-
* @throws {FirekitAuthError} If sending fails
|
|
204
|
-
*
|
|
205
|
-
* @example
|
|
206
|
-
* ```typescript
|
|
207
|
-
* await firekitAuth.sendPasswordReset("user@example.com");
|
|
208
|
-
* console.log("Password reset email sent");
|
|
209
|
-
* ```
|
|
210
|
-
*/
|
|
36
|
+
signOut(): Promise<void>;
|
|
211
37
|
sendPasswordReset(email: string): Promise<void>;
|
|
212
|
-
/**
|
|
213
|
-
* Confirms password reset with code
|
|
214
|
-
* @param {string} code Password reset code from email
|
|
215
|
-
* @param {string} newPassword New password
|
|
216
|
-
* @returns {Promise<void>} Promise that resolves when password is reset
|
|
217
|
-
* @throws {FirekitAuthError} If reset fails
|
|
218
|
-
*/
|
|
219
38
|
confirmPasswordReset(code: string, newPassword: string): Promise<void>;
|
|
220
|
-
/**
|
|
221
|
-
* Updates user password with reauthentication
|
|
222
|
-
* @param {string} newPassword New password
|
|
223
|
-
* @param {string} currentPassword Current password for reauthentication
|
|
224
|
-
* @returns {Promise<PasswordUpdateResult>} Promise resolving to update result
|
|
225
|
-
*
|
|
226
|
-
* @example
|
|
227
|
-
* ```typescript
|
|
228
|
-
* const result = await firekitAuth.updatePassword("newPassword123", "oldPassword123");
|
|
229
|
-
* if (result.success) {
|
|
230
|
-
* console.log("Password updated successfully");
|
|
231
|
-
* } else {
|
|
232
|
-
* console.error("Update failed:", result.message);
|
|
233
|
-
* }
|
|
234
|
-
* ```
|
|
235
|
-
*/
|
|
236
39
|
updatePassword(newPassword: string, currentPassword: string): Promise<PasswordUpdateResult>;
|
|
237
|
-
/**
|
|
238
|
-
* Updates user profile
|
|
239
|
-
* @param {Object} profile Profile update data
|
|
240
|
-
* @param {string} [profile.displayName] New display name
|
|
241
|
-
* @param {string} [profile.photoURL] New photo URL
|
|
242
|
-
* @returns {Promise<void>} Promise that resolves when profile is updated
|
|
243
|
-
* @throws {FirekitAuthError} If update fails
|
|
244
|
-
*
|
|
245
|
-
* @example
|
|
246
|
-
* ```typescript
|
|
247
|
-
* await firekitAuth.updateUserProfile({
|
|
248
|
-
* displayName: "John Smith",
|
|
249
|
-
* photoURL: "https://example.com/photo.jpg"
|
|
250
|
-
* });
|
|
251
|
-
* ```
|
|
252
|
-
*/
|
|
253
40
|
updateUserProfile(profile: {
|
|
254
41
|
displayName?: string;
|
|
255
42
|
photoURL?: string;
|
|
256
43
|
}): Promise<void>;
|
|
257
|
-
/**
|
|
258
|
-
* Updates user email address
|
|
259
|
-
* @param {string} newEmail New email address
|
|
260
|
-
* @returns {Promise<void>} Promise that resolves when email is updated
|
|
261
|
-
* @throws {FirekitAuthError} If update fails
|
|
262
|
-
*
|
|
263
|
-
* @example
|
|
264
|
-
* ```typescript
|
|
265
|
-
* await firekitAuth.updateEmail("newemail@example.com");
|
|
266
|
-
* ```
|
|
267
|
-
*/
|
|
268
44
|
updateEmail(newEmail: string): Promise<void>;
|
|
269
|
-
/**
|
|
270
|
-
* Sends email verification to current user
|
|
271
|
-
* @returns {Promise<void>} Promise that resolves when verification email is sent
|
|
272
|
-
* @throws {FirekitAuthError} If sending fails
|
|
273
|
-
*
|
|
274
|
-
* @example
|
|
275
|
-
* ```typescript
|
|
276
|
-
* await firekitAuth.sendEmailVerification();
|
|
277
|
-
* ```
|
|
278
|
-
*/
|
|
279
45
|
sendEmailVerification(): Promise<void>;
|
|
280
|
-
/**
|
|
281
|
-
* Reloads user to get updated data
|
|
282
|
-
* @returns {Promise<void>} Promise that resolves when user is reloaded
|
|
283
|
-
* @throws {FirekitAuthError} If reload fails
|
|
284
|
-
*
|
|
285
|
-
* @example
|
|
286
|
-
* ```typescript
|
|
287
|
-
* await firekitAuth.reloadUser();
|
|
288
|
-
* ```
|
|
289
|
-
*/
|
|
290
46
|
reloadUser(): Promise<void>;
|
|
291
|
-
/**
|
|
292
|
-
* Gets the current user's ID token
|
|
293
|
-
* @param {boolean} [forceRefresh=false] Whether to force token refresh
|
|
294
|
-
* @returns {Promise<string>} Promise resolving to ID token
|
|
295
|
-
* @throws {FirekitAuthError} If getting token fails
|
|
296
|
-
*
|
|
297
|
-
* @example
|
|
298
|
-
* ```typescript
|
|
299
|
-
* const token = await firekitAuth.getIdToken();
|
|
300
|
-
* ```
|
|
301
|
-
*/
|
|
302
47
|
getIdToken(forceRefresh?: boolean): Promise<string>;
|
|
303
|
-
/**
|
|
304
|
-
* Reauthenticates user with current password
|
|
305
|
-
* @private
|
|
306
|
-
*/
|
|
307
|
-
private reauthenticateUser;
|
|
308
|
-
/**
|
|
309
|
-
* Deletes user account
|
|
310
|
-
* @param {string} [currentPassword] Current password for reauthentication
|
|
311
|
-
* @returns {Promise<AccountDeletionResult>} Promise resolving to deletion result
|
|
312
|
-
*
|
|
313
|
-
* @example
|
|
314
|
-
* ```typescript
|
|
315
|
-
* const result = await firekitAuth.deleteAccount("currentPassword123");
|
|
316
|
-
* if (result.success) {
|
|
317
|
-
* console.log("Account deleted successfully");
|
|
318
|
-
* } else {
|
|
319
|
-
* console.error("Deletion failed:", result.message);
|
|
320
|
-
* }
|
|
321
|
-
* ```
|
|
322
|
-
*/
|
|
323
48
|
deleteAccount(currentPassword?: string): Promise<AccountDeletionResult>;
|
|
49
|
+
reauthenticate(currentPassword: string): Promise<void>;
|
|
50
|
+
signInWithCustomToken(token: string): Promise<SignInResult>;
|
|
51
|
+
/** Signs in with a SAML provider (popup). */
|
|
52
|
+
signInWithSAML(providerId: string): Promise<OAuthSignInResult>;
|
|
53
|
+
/** Signs in with a SAML provider (redirect). Pair with `getRedirectResult()` on load. */
|
|
54
|
+
signInWithSAMLRedirect(providerId: string): Promise<void>;
|
|
324
55
|
/**
|
|
325
|
-
* Signs
|
|
326
|
-
* @
|
|
327
|
-
* @
|
|
328
|
-
*
|
|
329
|
-
* @example
|
|
330
|
-
* ```typescript
|
|
331
|
-
* await firekitAuth.signOut();
|
|
332
|
-
* console.log("User signed out");
|
|
333
|
-
* ```
|
|
56
|
+
* Signs in with a generic OIDC/OAuth2 provider (popup).
|
|
57
|
+
* @param providerId Firebase provider ID, e.g. `'oidc.my-provider'`
|
|
58
|
+
* @param scopes Additional OAuth scopes to request.
|
|
334
59
|
*/
|
|
335
|
-
|
|
60
|
+
signInWithOIDC(providerId: string, scopes?: string[]): Promise<OAuthSignInResult>;
|
|
61
|
+
/** Signs in with a generic OIDC/OAuth2 provider (redirect). Pair with `getRedirectResult()` on load. */
|
|
62
|
+
signInWithOIDCRedirect(providerId: string, scopes?: string[]): Promise<void>;
|
|
63
|
+
signInWithGoogleRedirect(): Promise<void>;
|
|
64
|
+
signInWithFacebookRedirect(): Promise<void>;
|
|
65
|
+
signInWithAppleRedirect(): Promise<void>;
|
|
66
|
+
signInWithGithubRedirect(): Promise<void>;
|
|
67
|
+
signInWithTwitterRedirect(): Promise<void>;
|
|
68
|
+
signInWithMicrosoftRedirect(): Promise<void>;
|
|
336
69
|
/**
|
|
337
|
-
*
|
|
338
|
-
*
|
|
70
|
+
* Completes a redirect sign-in flow.
|
|
71
|
+
* Call this once on app load to pick up the result of a `signInWith*Redirect()` call.
|
|
72
|
+
* Returns null if no redirect sign-in is pending.
|
|
339
73
|
*/
|
|
340
|
-
|
|
74
|
+
getRedirectResult(): Promise<OAuthSignInResult | null>;
|
|
341
75
|
/**
|
|
342
|
-
*
|
|
343
|
-
*
|
|
76
|
+
* Starts phone MFA enrollment for the currently signed-in user.
|
|
77
|
+
* Returns a `verificationId` to pass to `completeMFAEnrollment()`.
|
|
344
78
|
*/
|
|
345
|
-
|
|
79
|
+
startPhoneMFAEnrollment(phoneNumber: string, recaptchaContainerId: string): Promise<string>;
|
|
346
80
|
/**
|
|
347
|
-
*
|
|
348
|
-
* @returns {boolean} True if email is verified
|
|
81
|
+
* Completes phone MFA enrollment using the SMS code.
|
|
349
82
|
*/
|
|
350
|
-
|
|
351
|
-
/**
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
getUserEmail(): string | null;
|
|
83
|
+
completeMFAEnrollment(verificationId: string, code: string, displayName?: string): Promise<void>;
|
|
84
|
+
/** Returns all enrolled MFA factors for the currently signed-in user. */
|
|
85
|
+
getMFAEnrolledFactors(): MultiFactorInfo[];
|
|
86
|
+
/** Unenrolls a specific MFA factor by its UID or `MultiFactorInfo` object. */
|
|
87
|
+
unenrollMFA(factorUidOrInfo: string | MultiFactorInfo): Promise<void>;
|
|
356
88
|
/**
|
|
357
|
-
* Gets
|
|
358
|
-
*
|
|
89
|
+
* Gets the `MultiFactorResolver` from a sign-in error that requires MFA.
|
|
90
|
+
* Catch this error from any `signIn*` method when MFA is required.
|
|
359
91
|
*/
|
|
360
|
-
|
|
92
|
+
getMFAResolver(error: MultiFactorError): MultiFactorResolver;
|
|
361
93
|
/**
|
|
362
|
-
*
|
|
363
|
-
*
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
*
|
|
368
|
-
* @returns {string | null} User's UID or null
|
|
94
|
+
* Sends an SMS code to complete an MFA sign-in challenge.
|
|
95
|
+
* Returns a `verificationId` to pass to `completeMFASignIn()`.
|
|
96
|
+
*
|
|
97
|
+
* @param resolver From `getMFAResolver(error)`.
|
|
98
|
+
* @param factorIndex Index into `resolver.hints` (default 0).
|
|
99
|
+
* @param recaptchaContainerId DOM container ID for reCAPTCHA (required for phone MFA).
|
|
369
100
|
*/
|
|
370
|
-
|
|
101
|
+
startMFASignIn(resolver: MultiFactorResolver, factorIndex: number | undefined, recaptchaContainerId: string): Promise<string>;
|
|
371
102
|
/**
|
|
372
|
-
*
|
|
373
|
-
* @returns {Promise<void>} Promise that resolves when cleanup completes
|
|
103
|
+
* Completes MFA sign-in using the SMS code.
|
|
374
104
|
*/
|
|
105
|
+
completeMFASignIn(resolver: MultiFactorResolver, verificationId: string, code: string): Promise<SignInResult>;
|
|
106
|
+
getCurrentUser(): User | null;
|
|
107
|
+
isAuthenticated(): boolean;
|
|
108
|
+
isAnonymous(): boolean;
|
|
109
|
+
isEmailVerified(): boolean;
|
|
375
110
|
cleanup(): Promise<void>;
|
|
376
111
|
}
|
|
377
|
-
/**
|
|
378
|
-
* Pre-initialized singleton instance of FirekitAuth.
|
|
379
|
-
* This is the main export that should be used throughout your application.
|
|
380
|
-
*
|
|
381
|
-
* @example
|
|
382
|
-
* ```typescript
|
|
383
|
-
* import { firekitAuth } from 'svelte-firekit';
|
|
384
|
-
*
|
|
385
|
-
* // Sign in with email
|
|
386
|
-
* await firekitAuth.signInWithEmail("user@example.com", "password");
|
|
387
|
-
*
|
|
388
|
-
* // Listen to auth state
|
|
389
|
-
* const unsubscribe = firekitAuth.onAuthStateChanged((state) => {
|
|
390
|
-
* if (state.user) {
|
|
391
|
-
* console.log("User is signed in:", state.user.email);
|
|
392
|
-
* } else {
|
|
393
|
-
* console.log("User is signed out");
|
|
394
|
-
* }
|
|
395
|
-
* });
|
|
396
|
-
*
|
|
397
|
-
* // Clean up listener
|
|
398
|
-
* unsubscribe();
|
|
399
|
-
* ```
|
|
400
|
-
*/
|
|
401
112
|
export declare const firekitAuth: FirekitAuth;
|
|
402
113
|
export {};
|