svelte-firekit 0.1.9 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +550 -354
- package/dist/components/AuthGuard.svelte +64 -0
- package/dist/components/AuthGuard.svelte.d.ts +15 -0
- package/dist/components/Collection.svelte +62 -0
- package/dist/components/Collection.svelte.d.ts +39 -0
- package/dist/components/CustomGuard.svelte +87 -0
- package/dist/components/CustomGuard.svelte.d.ts +13 -0
- package/dist/components/Doc.svelte +56 -0
- package/dist/components/Doc.svelte.d.ts +36 -0
- package/dist/components/DownloadURL.svelte +48 -0
- package/dist/components/DownloadURL.svelte.d.ts +14 -0
- package/dist/components/FirebaseApp.svelte +81 -0
- package/dist/components/FirebaseApp.svelte.d.ts +12 -0
- package/dist/components/Node.svelte +54 -0
- package/dist/components/Node.svelte.d.ts +36 -0
- package/dist/components/SignedIn.svelte +22 -0
- package/dist/components/{firekit/signed-in.svelte.d.ts → SignedIn.svelte.d.ts} +1 -4
- package/dist/components/SignedOut.svelte +32 -0
- package/dist/components/{firekit/signed-out.svelte.d.ts → SignedOut.svelte.d.ts} +3 -5
- package/dist/components/UploadTask.svelte +75 -0
- package/dist/components/UploadTask.svelte.d.ts +33 -0
- package/dist/config.d.ts +29 -6
- package/dist/config.js +37 -74
- package/dist/context.d.ts +46 -0
- package/dist/context.js +56 -0
- package/dist/firebase.d.ts +25 -84
- package/dist/firebase.js +75 -125
- package/dist/index.d.ts +32 -20
- package/dist/index.js +49 -30
- package/dist/services/ai.svelte.d.ts +152 -0
- package/dist/services/ai.svelte.js +302 -0
- package/dist/services/analytics.d.ts +39 -231
- package/dist/services/analytics.js +89 -421
- package/dist/services/app-check.svelte.d.ts +82 -0
- package/dist/services/app-check.svelte.js +159 -0
- package/dist/services/auth.d.ts +63 -352
- package/dist/services/auth.js +353 -718
- package/dist/services/bundles.d.ts +42 -0
- package/dist/services/bundles.js +57 -0
- package/dist/services/callable.d.ts +57 -0
- package/dist/services/callable.js +115 -0
- package/dist/services/collection.svelte.d.ts +154 -221
- package/dist/services/collection.svelte.js +357 -663
- package/dist/services/document.svelte.d.ts +73 -254
- package/dist/services/document.svelte.js +196 -497
- package/dist/services/in-app-messaging.d.ts +46 -0
- package/dist/services/in-app-messaging.js +88 -0
- package/dist/services/messaging.svelte.d.ts +75 -0
- package/dist/services/messaging.svelte.js +190 -0
- package/dist/services/mutations.d.ts +59 -282
- package/dist/services/mutations.js +202 -951
- package/dist/services/performance.d.ts +60 -0
- package/dist/services/performance.js +118 -0
- package/dist/services/presence.svelte.d.ts +21 -89
- package/dist/services/presence.svelte.js +232 -469
- package/dist/services/realtime.svelte.d.ts +54 -125
- package/dist/services/realtime.svelte.js +111 -175
- package/dist/services/remote-config.svelte.d.ts +73 -0
- package/dist/services/remote-config.svelte.js +204 -0
- package/dist/services/storage.svelte.d.ts +81 -208
- package/dist/services/storage.svelte.js +190 -305
- package/dist/services/user.svelte.d.ts +23 -244
- package/dist/services/user.svelte.js +129 -439
- package/dist/types/analytics.d.ts +2 -36
- package/dist/types/analytics.js +0 -5
- package/dist/types/auth.d.ts +15 -85
- package/dist/types/auth.js +0 -17
- package/dist/types/collection.d.ts +31 -225
- package/dist/types/collection.js +5 -51
- package/dist/types/document.d.ts +11 -236
- package/dist/types/document.js +2 -47
- package/dist/types/firebase.d.ts +10 -13
- package/dist/types/firebase.js +3 -9
- package/dist/types/index.d.ts +5 -5
- package/dist/types/index.js +5 -4
- package/dist/types/mutations.d.ts +11 -225
- package/dist/types/mutations.js +6 -51
- package/dist/types/presence.d.ts +5 -158
- package/dist/types/presence.js +0 -20
- package/dist/utils/errors.d.ts +10 -14
- package/dist/utils/errors.js +11 -16
- package/dist/utils/firestore.d.ts +3 -4
- package/dist/utils/firestore.js +7 -10
- package/dist/utils/index.d.ts +4 -4
- package/dist/utils/index.js +4 -8
- package/dist/utils/providers.d.ts +4 -13
- package/dist/utils/providers.js +14 -13
- package/dist/utils/user.d.ts +1 -3
- package/dist/utils/user.js +1 -3
- package/package.json +41 -55
- package/dist/components/docs/doc-content.svelte +0 -19
- package/dist/components/docs/doc-content.svelte.d.ts +0 -6
- package/dist/components/docs/doc-header.svelte +0 -24
- package/dist/components/docs/doc-header.svelte.d.ts +0 -13
- package/dist/components/docs/doc-renderer.svelte +0 -27
- package/dist/components/docs/doc-renderer.svelte.d.ts +0 -8
- package/dist/components/docs/mobile-table-of-contents.svelte +0 -42
- package/dist/components/docs/mobile-table-of-contents.svelte.d.ts +0 -3
- package/dist/components/docs/table-of-contents.svelte +0 -33
- package/dist/components/docs/table-of-contents.svelte.d.ts +0 -4
- package/dist/components/docs/toc.svelte.d.ts +0 -16
- package/dist/components/docs/toc.svelte.js +0 -59
- package/dist/components/firekit/Collection.svelte +0 -122
- package/dist/components/firekit/Collection.svelte.d.ts +0 -27
- package/dist/components/firekit/Doc.svelte +0 -140
- package/dist/components/firekit/Doc.svelte.d.ts +0 -28
- package/dist/components/firekit/Node.svelte +0 -97
- package/dist/components/firekit/Node.svelte.d.ts +0 -23
- package/dist/components/firekit/auth-guard.svelte +0 -120
- package/dist/components/firekit/auth-guard.svelte.d.ts +0 -26
- package/dist/components/firekit/custom-guard.svelte +0 -163
- package/dist/components/firekit/custom-guard.svelte.d.ts +0 -31
- package/dist/components/firekit/download-url.svelte +0 -92
- package/dist/components/firekit/download-url.svelte.d.ts +0 -19
- package/dist/components/firekit/firebase-app.svelte +0 -33
- package/dist/components/firekit/firebase-app.svelte.d.ts +0 -7
- package/dist/components/firekit/node-list.svelte +0 -102
- package/dist/components/firekit/node-list.svelte.d.ts +0 -27
- package/dist/components/firekit/signed-in.svelte +0 -42
- package/dist/components/firekit/signed-out.svelte +0 -42
- package/dist/components/firekit/storage-list.svelte +0 -97
- package/dist/components/firekit/storage-list.svelte.d.ts +0 -26
- package/dist/components/firekit/upload-task.svelte +0 -108
- package/dist/components/firekit/upload-task.svelte.d.ts +0 -24
- package/dist/components/nav/app-sidebar.svelte +0 -175
- package/dist/components/nav/app-sidebar.svelte.d.ts +0 -9
- package/dist/components/nav/auto-breadcrumb.svelte +0 -41
- package/dist/components/nav/auto-breadcrumb.svelte.d.ts +0 -3
- package/dist/components/nav/dark-mode-toggle.svelte +0 -17
- package/dist/components/nav/dark-mode-toggle.svelte.d.ts +0 -18
- package/dist/components/nav/nav-components.svelte +0 -24
- package/dist/components/nav/nav-components.svelte.d.ts +0 -11
- package/dist/components/nav/nav-main.svelte +0 -45
- package/dist/components/nav/nav-main.svelte.d.ts +0 -11
- package/dist/components/nav/nav-secondary.svelte +0 -32
- package/dist/components/nav/nav-secondary.svelte.d.ts +0 -14
- package/dist/components/nav/site-header.svelte +0 -32
- package/dist/components/nav/site-header.svelte.d.ts +0 -18
- package/dist/components/ui/avatar/avatar-fallback.svelte +0 -17
- package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +0 -4
- package/dist/components/ui/avatar/avatar-image.svelte +0 -17
- package/dist/components/ui/avatar/avatar-image.svelte.d.ts +0 -4
- package/dist/components/ui/avatar/avatar.svelte +0 -19
- package/dist/components/ui/avatar/avatar.svelte.d.ts +0 -4
- package/dist/components/ui/avatar/index.d.ts +0 -4
- package/dist/components/ui/avatar/index.js +0 -6
- package/dist/components/ui/badge/badge.svelte +0 -50
- package/dist/components/ui/badge/badge.svelte.d.ts +0 -32
- package/dist/components/ui/badge/index.d.ts +0 -2
- package/dist/components/ui/badge/index.js +0 -2
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +0 -20
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +0 -31
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +0 -11
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +0 -27
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb.svelte +0 -21
- package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/index.d.ts +0 -8
- package/dist/components/ui/breadcrumb/index.js +0 -10
- package/dist/components/ui/button/button.svelte +0 -80
- package/dist/components/ui/button/button.svelte.d.ts +0 -58
- package/dist/components/ui/button/index.d.ts +0 -2
- package/dist/components/ui/button/index.js +0 -4
- package/dist/components/ui/card/card-action.svelte +0 -20
- package/dist/components/ui/card/card-action.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-content.svelte +0 -15
- package/dist/components/ui/card/card-content.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-description.svelte +0 -20
- package/dist/components/ui/card/card-description.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-footer.svelte +0 -20
- package/dist/components/ui/card/card-footer.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-header.svelte +0 -23
- package/dist/components/ui/card/card-header.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-title.svelte +0 -20
- package/dist/components/ui/card/card-title.svelte.d.ts +0 -5
- package/dist/components/ui/card/card.svelte +0 -23
- package/dist/components/ui/card/card.svelte.d.ts +0 -5
- package/dist/components/ui/card/index.d.ts +0 -8
- package/dist/components/ui/card/index.js +0 -10
- package/dist/components/ui/chart/chart-container.svelte +0 -80
- package/dist/components/ui/chart/chart-container.svelte.d.ts +0 -9
- package/dist/components/ui/chart/chart-style.svelte +0 -36
- package/dist/components/ui/chart/chart-style.svelte.d.ts +0 -8
- package/dist/components/ui/chart/chart-tooltip.svelte +0 -159
- package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +0 -27
- package/dist/components/ui/chart/chart-utils.d.ts +0 -36
- package/dist/components/ui/chart/chart-utils.js +0 -33
- package/dist/components/ui/chart/index.d.ts +0 -4
- package/dist/components/ui/chart/index.js +0 -4
- package/dist/components/ui/checkbox/checkbox.svelte +0 -36
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +0 -4
- package/dist/components/ui/checkbox/index.d.ts +0 -2
- package/dist/components/ui/checkbox/index.js +0 -4
- package/dist/components/ui/data-table/data-table.svelte.d.ts +0 -40
- package/dist/components/ui/data-table/data-table.svelte.js +0 -110
- package/dist/components/ui/data-table/flex-render.svelte +0 -36
- package/dist/components/ui/data-table/flex-render.svelte.d.ts +0 -30
- package/dist/components/ui/data-table/index.d.ts +0 -3
- package/dist/components/ui/data-table/index.js +0 -3
- package/dist/components/ui/data-table/render-helpers.d.ts +0 -90
- package/dist/components/ui/data-table/render-helpers.js +0 -99
- package/dist/components/ui/dialog/dialog-close.svelte +0 -7
- package/dist/components/ui/dialog/dialog-close.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-content.svelte +0 -43
- package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -11
- package/dist/components/ui/dialog/dialog-description.svelte +0 -17
- package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-footer.svelte +0 -20
- package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -5
- package/dist/components/ui/dialog/dialog-header.svelte +0 -20
- package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -5
- package/dist/components/ui/dialog/dialog-overlay.svelte +0 -20
- package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-title.svelte +0 -17
- package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-trigger.svelte +0 -7
- package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/index.d.ts +0 -11
- package/dist/components/ui/dialog/index.js +0 -14
- package/dist/components/ui/drawer/drawer-close.svelte +0 -7
- package/dist/components/ui/drawer/drawer-close.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer-content.svelte +0 -37
- package/dist/components/ui/drawer/drawer-content.svelte.d.ts +0 -7
- package/dist/components/ui/drawer/drawer-description.svelte +0 -17
- package/dist/components/ui/drawer/drawer-description.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer-footer.svelte +0 -20
- package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +0 -5
- package/dist/components/ui/drawer/drawer-header.svelte +0 -20
- package/dist/components/ui/drawer/drawer-header.svelte.d.ts +0 -5
- package/dist/components/ui/drawer/drawer-nested.svelte +0 -12
- package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +0 -3
- package/dist/components/ui/drawer/drawer-overlay.svelte +0 -20
- package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer-title.svelte +0 -17
- package/dist/components/ui/drawer/drawer-title.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer-trigger.svelte +0 -7
- package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer.svelte +0 -12
- package/dist/components/ui/drawer/drawer.svelte.d.ts +0 -3
- package/dist/components/ui/drawer/index.d.ts +0 -13
- package/dist/components/ui/drawer/index.js +0 -15
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +0 -41
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +0 -9
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +0 -27
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +0 -22
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +0 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +0 -27
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +0 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +0 -24
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +0 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +0 -16
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +0 -31
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +0 -17
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +0 -20
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +0 -5
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +0 -20
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +0 -29
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/index.d.ts +0 -25
- package/dist/components/ui/dropdown-menu/index.js +0 -17
- package/dist/components/ui/input/index.d.ts +0 -2
- package/dist/components/ui/input/index.js +0 -4
- package/dist/components/ui/input/input.svelte +0 -51
- package/dist/components/ui/input/input.svelte.d.ts +0 -13
- package/dist/components/ui/label/index.d.ts +0 -2
- package/dist/components/ui/label/index.js +0 -4
- package/dist/components/ui/label/label.svelte +0 -20
- package/dist/components/ui/label/label.svelte.d.ts +0 -4
- package/dist/components/ui/scroll-area/index.d.ts +0 -3
- package/dist/components/ui/scroll-area/index.js +0 -5
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +0 -31
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +0 -4
- package/dist/components/ui/scroll-area/scroll-area.svelte +0 -40
- package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +0 -10
- package/dist/components/ui/select/index.d.ts +0 -11
- package/dist/components/ui/select/index.js +0 -14
- package/dist/components/ui/select/select-content.svelte +0 -40
- package/dist/components/ui/select/select-content.svelte.d.ts +0 -8
- package/dist/components/ui/select/select-group-heading.svelte +0 -21
- package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -10
- package/dist/components/ui/select/select-group.svelte +0 -7
- package/dist/components/ui/select/select-group.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-item.svelte +0 -38
- package/dist/components/ui/select/select-item.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-label.svelte +0 -20
- package/dist/components/ui/select/select-label.svelte.d.ts +0 -6
- package/dist/components/ui/select/select-scroll-down-button.svelte +0 -20
- package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-scroll-up-button.svelte +0 -20
- package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-separator.svelte +0 -18
- package/dist/components/ui/select/select-separator.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-trigger.svelte +0 -29
- package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -8
- package/dist/components/ui/separator/index.d.ts +0 -2
- package/dist/components/ui/separator/index.js +0 -4
- package/dist/components/ui/separator/separator.svelte +0 -20
- package/dist/components/ui/separator/separator.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/index.d.ts +0 -11
- package/dist/components/ui/sheet/index.js +0 -14
- package/dist/components/ui/sheet/sheet-close.svelte +0 -7
- package/dist/components/ui/sheet/sheet-close.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-content.svelte +0 -58
- package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -35
- package/dist/components/ui/sheet/sheet-description.svelte +0 -17
- package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
- package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -5
- package/dist/components/ui/sheet/sheet-header.svelte +0 -20
- package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -5
- package/dist/components/ui/sheet/sheet-overlay.svelte +0 -20
- package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-title.svelte +0 -17
- package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-trigger.svelte +0 -7
- package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/constants.d.ts +0 -6
- package/dist/components/ui/sidebar/constants.js +0 -6
- package/dist/components/ui/sidebar/context.svelte.d.ts +0 -42
- package/dist/components/ui/sidebar/context.svelte.js +0 -54
- package/dist/components/ui/sidebar/index.d.ts +0 -25
- package/dist/components/ui/sidebar/index.js +0 -27
- package/dist/components/ui/sidebar/sidebar-content.svelte +0 -24
- package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-footer.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-group-action.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +0 -11
- package/dist/components/ui/sidebar/sidebar-group-content.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-group-label.svelte +0 -34
- package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +0 -11
- package/dist/components/ui/sidebar/sidebar-group.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-header.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-input.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +0 -11
- package/dist/components/ui/sidebar/sidebar-inset.svelte +0 -24
- package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte +0 -43
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +0 -12
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +0 -29
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte +0 -103
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +0 -51
- package/dist/components/ui/sidebar/sidebar-menu-item.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +0 -8
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +0 -43
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +0 -13
- package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +0 -25
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-provider.svelte +0 -53
- package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +0 -9
- package/dist/components/ui/sidebar/sidebar-rail.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-separator.svelte +0 -19
- package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +0 -13
- package/dist/components/ui/sidebar/sidebar-trigger.svelte +0 -35
- package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +0 -8
- package/dist/components/ui/sidebar/sidebar.svelte +0 -104
- package/dist/components/ui/sidebar/sidebar.svelte.d.ts +0 -10
- package/dist/components/ui/skeleton/index.d.ts +0 -2
- package/dist/components/ui/skeleton/index.js +0 -4
- package/dist/components/ui/skeleton/skeleton.svelte +0 -17
- package/dist/components/ui/skeleton/skeleton.svelte.d.ts +0 -5
- package/dist/components/ui/table/index.d.ts +0 -9
- package/dist/components/ui/table/index.js +0 -11
- package/dist/components/ui/table/table-body.svelte +0 -20
- package/dist/components/ui/table/table-body.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-caption.svelte +0 -20
- package/dist/components/ui/table/table-caption.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-cell.svelte +0 -20
- package/dist/components/ui/table/table-cell.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-footer.svelte +0 -20
- package/dist/components/ui/table/table-footer.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-head.svelte +0 -23
- package/dist/components/ui/table/table-head.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-header.svelte +0 -20
- package/dist/components/ui/table/table-header.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-row.svelte +0 -23
- package/dist/components/ui/table/table-row.svelte.d.ts +0 -5
- package/dist/components/ui/table/table.svelte +0 -22
- package/dist/components/ui/table/table.svelte.d.ts +0 -5
- package/dist/components/ui/tabs/index.d.ts +0 -5
- package/dist/components/ui/tabs/index.js +0 -7
- package/dist/components/ui/tabs/tabs-content.svelte +0 -17
- package/dist/components/ui/tabs/tabs-content.svelte.d.ts +0 -4
- package/dist/components/ui/tabs/tabs-list.svelte +0 -20
- package/dist/components/ui/tabs/tabs-list.svelte.d.ts +0 -4
- package/dist/components/ui/tabs/tabs-trigger.svelte +0 -20
- package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/tabs/tabs.svelte +0 -19
- package/dist/components/ui/tabs/tabs.svelte.d.ts +0 -4
- package/dist/components/ui/toggle/index.d.ts +0 -3
- package/dist/components/ui/toggle/index.js +0 -5
- package/dist/components/ui/toggle/toggle.svelte +0 -52
- package/dist/components/ui/toggle/toggle.svelte.d.ts +0 -43
- package/dist/components/ui/toggle-group/index.d.ts +0 -3
- package/dist/components/ui/toggle-group/index.js +0 -5
- package/dist/components/ui/toggle-group/toggle-group-item.svelte +0 -34
- package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +0 -6
- package/dist/components/ui/toggle-group/toggle-group.svelte +0 -47
- package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +0 -8
- package/dist/components/ui/tooltip/index.d.ts +0 -7
- package/dist/components/ui/tooltip/index.js +0 -9
- package/dist/components/ui/tooltip/tooltip-content.svelte +0 -47
- package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -7
- package/dist/components/ui/tooltip/tooltip-trigger.svelte +0 -7
- package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +0 -4
- package/dist/hooks/is-mobile.svelte.d.ts +0 -4
- package/dist/hooks/is-mobile.svelte.js +0 -7
- package/dist/services/index.d.ts +0 -9
- package/dist/services/index.js +0 -10
- package/dist/types/docs.d.ts +0 -67
- package/dist/types/docs.js +0 -1
- package/dist/utils.d.ts +0 -15
- package/dist/utils.js +0 -44
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reactive Firebase In-App Messaging service.
|
|
3
|
+
*
|
|
4
|
+
* In-App Messaging displays contextual messages to users while they are actively
|
|
5
|
+
* using your app. Messages are configured in the Firebase console and triggered
|
|
6
|
+
* by Analytics events. This service lets you control whether messages are shown.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { firekitInAppMessaging } from 'svelte-firekit';
|
|
11
|
+
*
|
|
12
|
+
* // Suppress messages during a critical flow (e.g. checkout)
|
|
13
|
+
* firekitInAppMessaging.suppress();
|
|
14
|
+
*
|
|
15
|
+
* // Re-enable after the flow completes
|
|
16
|
+
* firekitInAppMessaging.unsuppress();
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
declare class FirekitInAppMessaging {
|
|
20
|
+
private static instance;
|
|
21
|
+
private _suppressed;
|
|
22
|
+
private _supported;
|
|
23
|
+
private _initialized;
|
|
24
|
+
private _iam;
|
|
25
|
+
private constructor();
|
|
26
|
+
static getInstance(): FirekitInAppMessaging;
|
|
27
|
+
get suppressed(): boolean;
|
|
28
|
+
get supported(): boolean;
|
|
29
|
+
get initialized(): boolean;
|
|
30
|
+
private _init;
|
|
31
|
+
/**
|
|
32
|
+
* Suppresses all In-App Messaging messages.
|
|
33
|
+
* Useful during critical flows such as checkout or sensitive forms.
|
|
34
|
+
*/
|
|
35
|
+
suppress(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Re-enables In-App Messaging after suppression.
|
|
38
|
+
*/
|
|
39
|
+
unsuppress(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Toggles suppression state.
|
|
42
|
+
*/
|
|
43
|
+
toggleSuppression(): void;
|
|
44
|
+
}
|
|
45
|
+
export declare const firekitInAppMessaging: FirekitInAppMessaging;
|
|
46
|
+
export {};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { getInAppMessaging, setMessagesDisplaySuppressed, isSupported } from 'firebase/in-app-messaging';
|
|
2
|
+
import { firebaseService } from '../firebase.js';
|
|
3
|
+
function getApp() {
|
|
4
|
+
const app = firebaseService.getFirebaseApp();
|
|
5
|
+
if (!app)
|
|
6
|
+
throw new Error('Firebase app is not initialized.');
|
|
7
|
+
return app;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Reactive Firebase In-App Messaging service.
|
|
11
|
+
*
|
|
12
|
+
* In-App Messaging displays contextual messages to users while they are actively
|
|
13
|
+
* using your app. Messages are configured in the Firebase console and triggered
|
|
14
|
+
* by Analytics events. This service lets you control whether messages are shown.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { firekitInAppMessaging } from 'svelte-firekit';
|
|
19
|
+
*
|
|
20
|
+
* // Suppress messages during a critical flow (e.g. checkout)
|
|
21
|
+
* firekitInAppMessaging.suppress();
|
|
22
|
+
*
|
|
23
|
+
* // Re-enable after the flow completes
|
|
24
|
+
* firekitInAppMessaging.unsuppress();
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
class FirekitInAppMessaging {
|
|
28
|
+
static instance;
|
|
29
|
+
_suppressed = $state(false);
|
|
30
|
+
_supported = $state(false);
|
|
31
|
+
_initialized = $state(false);
|
|
32
|
+
_iam = null;
|
|
33
|
+
constructor() {
|
|
34
|
+
this._init();
|
|
35
|
+
}
|
|
36
|
+
static getInstance() {
|
|
37
|
+
if (!FirekitInAppMessaging.instance) {
|
|
38
|
+
FirekitInAppMessaging.instance = new FirekitInAppMessaging();
|
|
39
|
+
}
|
|
40
|
+
return FirekitInAppMessaging.instance;
|
|
41
|
+
}
|
|
42
|
+
get suppressed() { return this._suppressed; }
|
|
43
|
+
get supported() { return this._supported; }
|
|
44
|
+
get initialized() { return this._initialized; }
|
|
45
|
+
async _init() {
|
|
46
|
+
if (typeof window === 'undefined')
|
|
47
|
+
return;
|
|
48
|
+
try {
|
|
49
|
+
const supported = await isSupported();
|
|
50
|
+
this._supported = supported;
|
|
51
|
+
if (!supported)
|
|
52
|
+
return;
|
|
53
|
+
this._iam = getInAppMessaging(getApp());
|
|
54
|
+
// messagesDisplaySuppressed is a property on the InAppMessaging instance
|
|
55
|
+
this._suppressed = this._iam.messagesDisplaySuppressed;
|
|
56
|
+
this._initialized = true;
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// In-App Messaging is optional — failures are non-fatal
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Suppresses all In-App Messaging messages.
|
|
64
|
+
* Useful during critical flows such as checkout or sensitive forms.
|
|
65
|
+
*/
|
|
66
|
+
suppress() {
|
|
67
|
+
if (!this._iam)
|
|
68
|
+
return;
|
|
69
|
+
setMessagesDisplaySuppressed(this._iam, true);
|
|
70
|
+
this._suppressed = true;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Re-enables In-App Messaging after suppression.
|
|
74
|
+
*/
|
|
75
|
+
unsuppress() {
|
|
76
|
+
if (!this._iam)
|
|
77
|
+
return;
|
|
78
|
+
setMessagesDisplaySuppressed(this._iam, false);
|
|
79
|
+
this._suppressed = false;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Toggles suppression state.
|
|
83
|
+
*/
|
|
84
|
+
toggleSuppression() {
|
|
85
|
+
this._suppressed ? this.unsuppress() : this.suppress();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
export const firekitInAppMessaging = FirekitInAppMessaging.getInstance();
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type MessagePayload } from 'firebase/messaging';
|
|
2
|
+
/**
|
|
3
|
+
* Reactive Firebase Cloud Messaging service.
|
|
4
|
+
*
|
|
5
|
+
* Handles FCM token registration, foreground message listening,
|
|
6
|
+
* and notification permission requests.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```svelte
|
|
10
|
+
* <script lang="ts">
|
|
11
|
+
* import { firekitMessaging } from 'svelte-firekit';
|
|
12
|
+
* await firekitMessaging.requestPermission('YOUR_VAPID_KEY');
|
|
13
|
+
* </script>
|
|
14
|
+
* {#if firekitMessaging.token}
|
|
15
|
+
* FCM token: {firekitMessaging.token}
|
|
16
|
+
* {/if}
|
|
17
|
+
* {#if firekitMessaging.lastMessage}
|
|
18
|
+
* New: {firekitMessaging.lastMessage.notification?.title}
|
|
19
|
+
* {/if}
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
declare class FirekitMessaging {
|
|
23
|
+
private static instance;
|
|
24
|
+
private _token;
|
|
25
|
+
private _loading;
|
|
26
|
+
private _error;
|
|
27
|
+
private _permission;
|
|
28
|
+
private _lastMessage;
|
|
29
|
+
private _messages;
|
|
30
|
+
private _supported;
|
|
31
|
+
readonly hasToken: boolean;
|
|
32
|
+
readonly isGranted: boolean;
|
|
33
|
+
private _messaging;
|
|
34
|
+
private _unsubscribeMessage;
|
|
35
|
+
private _requesting;
|
|
36
|
+
private constructor();
|
|
37
|
+
static getInstance(): FirekitMessaging;
|
|
38
|
+
get token(): string | null;
|
|
39
|
+
get loading(): boolean;
|
|
40
|
+
get error(): Error | null;
|
|
41
|
+
get permission(): NotificationPermission;
|
|
42
|
+
get lastMessage(): MessagePayload | null;
|
|
43
|
+
get messages(): MessagePayload[];
|
|
44
|
+
get supported(): boolean;
|
|
45
|
+
private _initPermissionState;
|
|
46
|
+
private _getMessaging;
|
|
47
|
+
/**
|
|
48
|
+
* Requests notification permission, registers the FCM token,
|
|
49
|
+
* and starts listening for foreground messages.
|
|
50
|
+
*
|
|
51
|
+
* @param vapidKey - Your VAPID public key from the Firebase console.
|
|
52
|
+
* @param serviceWorkerRegistration - Optional custom service worker registration.
|
|
53
|
+
*/
|
|
54
|
+
requestPermission(vapidKey: string, serviceWorkerRegistration?: ServiceWorkerRegistration): Promise<string | null>;
|
|
55
|
+
/**
|
|
56
|
+
* Refreshes the FCM token.
|
|
57
|
+
* Call this after deleting or if your token may have rotated.
|
|
58
|
+
*/
|
|
59
|
+
refreshToken(vapidKey: string, serviceWorkerRegistration?: ServiceWorkerRegistration): Promise<string | null>;
|
|
60
|
+
/**
|
|
61
|
+
* Deletes the current FCM token and unregisters from push notifications.
|
|
62
|
+
*/
|
|
63
|
+
deleteToken(): Promise<boolean>;
|
|
64
|
+
private _listenForMessages;
|
|
65
|
+
/**
|
|
66
|
+
* Registers a callback for foreground messages.
|
|
67
|
+
* Returns an unsubscribe function.
|
|
68
|
+
*/
|
|
69
|
+
onMessage(handler: (payload: MessagePayload) => void): Promise<() => void>;
|
|
70
|
+
/** Clears the accumulated foreground message list. */
|
|
71
|
+
clearMessages(): void;
|
|
72
|
+
dispose(): void;
|
|
73
|
+
}
|
|
74
|
+
export declare const firekitMessaging: FirekitMessaging;
|
|
75
|
+
export type { MessagePayload };
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { getMessaging, getToken, deleteToken, onMessage, isSupported } from 'firebase/messaging';
|
|
2
|
+
import { firebaseService } from '../firebase.js';
|
|
3
|
+
function getApp() {
|
|
4
|
+
const app = firebaseService.getFirebaseApp();
|
|
5
|
+
if (!app)
|
|
6
|
+
throw new Error('Firebase app is not initialized.');
|
|
7
|
+
return app;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Reactive Firebase Cloud Messaging service.
|
|
11
|
+
*
|
|
12
|
+
* Handles FCM token registration, foreground message listening,
|
|
13
|
+
* and notification permission requests.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```svelte
|
|
17
|
+
* <script lang="ts">
|
|
18
|
+
* import { firekitMessaging } from 'svelte-firekit';
|
|
19
|
+
* await firekitMessaging.requestPermission('YOUR_VAPID_KEY');
|
|
20
|
+
* </script>
|
|
21
|
+
* {#if firekitMessaging.token}
|
|
22
|
+
* FCM token: {firekitMessaging.token}
|
|
23
|
+
* {/if}
|
|
24
|
+
* {#if firekitMessaging.lastMessage}
|
|
25
|
+
* New: {firekitMessaging.lastMessage.notification?.title}
|
|
26
|
+
* {/if}
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
class FirekitMessaging {
|
|
30
|
+
static instance;
|
|
31
|
+
_token = $state(null);
|
|
32
|
+
_loading = $state(false);
|
|
33
|
+
_error = $state(null);
|
|
34
|
+
_permission = $state('default');
|
|
35
|
+
_lastMessage = $state(null);
|
|
36
|
+
_messages = $state([]);
|
|
37
|
+
_supported = $state(false);
|
|
38
|
+
hasToken = $derived(this._token !== null);
|
|
39
|
+
isGranted = $derived(this._permission === 'granted');
|
|
40
|
+
_messaging = null;
|
|
41
|
+
_unsubscribeMessage = null;
|
|
42
|
+
_requesting = false;
|
|
43
|
+
constructor() {
|
|
44
|
+
this._initPermissionState();
|
|
45
|
+
}
|
|
46
|
+
static getInstance() {
|
|
47
|
+
if (!FirekitMessaging.instance) {
|
|
48
|
+
FirekitMessaging.instance = new FirekitMessaging();
|
|
49
|
+
}
|
|
50
|
+
return FirekitMessaging.instance;
|
|
51
|
+
}
|
|
52
|
+
get token() { return this._token; }
|
|
53
|
+
get loading() { return this._loading; }
|
|
54
|
+
get error() { return this._error; }
|
|
55
|
+
get permission() { return this._permission; }
|
|
56
|
+
get lastMessage() { return this._lastMessage; }
|
|
57
|
+
get messages() { return this._messages; }
|
|
58
|
+
get supported() { return this._supported; }
|
|
59
|
+
_initPermissionState() {
|
|
60
|
+
if (typeof window === 'undefined' || !('Notification' in window))
|
|
61
|
+
return;
|
|
62
|
+
this._permission = Notification.permission;
|
|
63
|
+
}
|
|
64
|
+
async _getMessaging() {
|
|
65
|
+
if (this._messaging)
|
|
66
|
+
return this._messaging;
|
|
67
|
+
if (typeof window === 'undefined')
|
|
68
|
+
return null;
|
|
69
|
+
const supported = await isSupported();
|
|
70
|
+
this._supported = supported;
|
|
71
|
+
if (!supported)
|
|
72
|
+
return null;
|
|
73
|
+
const app = getApp();
|
|
74
|
+
this._messaging = getMessaging(app);
|
|
75
|
+
return this._messaging;
|
|
76
|
+
}
|
|
77
|
+
// ── Permission & token ────────────────────────────────────────────────────
|
|
78
|
+
/**
|
|
79
|
+
* Requests notification permission, registers the FCM token,
|
|
80
|
+
* and starts listening for foreground messages.
|
|
81
|
+
*
|
|
82
|
+
* @param vapidKey - Your VAPID public key from the Firebase console.
|
|
83
|
+
* @param serviceWorkerRegistration - Optional custom service worker registration.
|
|
84
|
+
*/
|
|
85
|
+
async requestPermission(vapidKey, serviceWorkerRegistration) {
|
|
86
|
+
if (this._requesting)
|
|
87
|
+
return this._token;
|
|
88
|
+
this._requesting = true;
|
|
89
|
+
this._loading = true;
|
|
90
|
+
this._error = null;
|
|
91
|
+
try {
|
|
92
|
+
const msg = await this._getMessaging();
|
|
93
|
+
if (!msg) {
|
|
94
|
+
this._error = new Error('Firebase Messaging is not supported in this browser.');
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
const permission = await Notification.requestPermission();
|
|
98
|
+
this._permission = permission;
|
|
99
|
+
if (permission !== 'granted')
|
|
100
|
+
return null;
|
|
101
|
+
const tokenOptions = { vapidKey };
|
|
102
|
+
if (serviceWorkerRegistration) {
|
|
103
|
+
tokenOptions.serviceWorkerRegistration = serviceWorkerRegistration;
|
|
104
|
+
}
|
|
105
|
+
this._token = await getToken(msg, tokenOptions);
|
|
106
|
+
this._listenForMessages(msg);
|
|
107
|
+
return this._token;
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
this._error = err instanceof Error ? err : new Error(String(err));
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
finally {
|
|
114
|
+
this._loading = false;
|
|
115
|
+
this._requesting = false;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Refreshes the FCM token.
|
|
120
|
+
* Call this after deleting or if your token may have rotated.
|
|
121
|
+
*/
|
|
122
|
+
async refreshToken(vapidKey, serviceWorkerRegistration) {
|
|
123
|
+
this._loading = true;
|
|
124
|
+
this._error = null;
|
|
125
|
+
try {
|
|
126
|
+
const msg = await this._getMessaging();
|
|
127
|
+
if (!msg)
|
|
128
|
+
return null;
|
|
129
|
+
const tokenOptions = { vapidKey };
|
|
130
|
+
if (serviceWorkerRegistration) {
|
|
131
|
+
tokenOptions.serviceWorkerRegistration = serviceWorkerRegistration;
|
|
132
|
+
}
|
|
133
|
+
this._token = await getToken(msg, tokenOptions);
|
|
134
|
+
return this._token;
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
this._error = err instanceof Error ? err : new Error(String(err));
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
finally {
|
|
141
|
+
this._loading = false;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Deletes the current FCM token and unregisters from push notifications.
|
|
146
|
+
*/
|
|
147
|
+
async deleteToken() {
|
|
148
|
+
const msg = await this._getMessaging();
|
|
149
|
+
if (!msg)
|
|
150
|
+
return false;
|
|
151
|
+
try {
|
|
152
|
+
const deleted = await deleteToken(msg);
|
|
153
|
+
if (deleted)
|
|
154
|
+
this._token = null;
|
|
155
|
+
return deleted;
|
|
156
|
+
}
|
|
157
|
+
catch (err) {
|
|
158
|
+
this._error = err instanceof Error ? err : new Error(String(err));
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// ── Foreground messages ───────────────────────────────────────────────────
|
|
163
|
+
_listenForMessages(msg) {
|
|
164
|
+
this._unsubscribeMessage?.();
|
|
165
|
+
this._unsubscribeMessage = onMessage(msg, (payload) => {
|
|
166
|
+
this._lastMessage = payload;
|
|
167
|
+
this._messages = [...this._messages, payload];
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Registers a callback for foreground messages.
|
|
172
|
+
* Returns an unsubscribe function.
|
|
173
|
+
*/
|
|
174
|
+
async onMessage(handler) {
|
|
175
|
+
const msg = await this._getMessaging();
|
|
176
|
+
if (!msg)
|
|
177
|
+
return () => { };
|
|
178
|
+
return onMessage(msg, handler);
|
|
179
|
+
}
|
|
180
|
+
/** Clears the accumulated foreground message list. */
|
|
181
|
+
clearMessages() {
|
|
182
|
+
this._messages = [];
|
|
183
|
+
this._lastMessage = null;
|
|
184
|
+
}
|
|
185
|
+
dispose() {
|
|
186
|
+
this._unsubscribeMessage?.();
|
|
187
|
+
this._unsubscribeMessage = null;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
export const firekitMessaging = FirekitMessaging.getInstance();
|