svelte-firekit 0.1.9 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +550 -354
- package/dist/components/AuthGuard.svelte +64 -0
- package/dist/components/AuthGuard.svelte.d.ts +15 -0
- package/dist/components/Collection.svelte +62 -0
- package/dist/components/Collection.svelte.d.ts +39 -0
- package/dist/components/CustomGuard.svelte +87 -0
- package/dist/components/CustomGuard.svelte.d.ts +13 -0
- package/dist/components/Doc.svelte +56 -0
- package/dist/components/Doc.svelte.d.ts +36 -0
- package/dist/components/DownloadURL.svelte +48 -0
- package/dist/components/DownloadURL.svelte.d.ts +14 -0
- package/dist/components/FirebaseApp.svelte +81 -0
- package/dist/components/FirebaseApp.svelte.d.ts +12 -0
- package/dist/components/Node.svelte +54 -0
- package/dist/components/Node.svelte.d.ts +36 -0
- package/dist/components/SignedIn.svelte +22 -0
- package/dist/components/{firekit/signed-in.svelte.d.ts → SignedIn.svelte.d.ts} +1 -4
- package/dist/components/SignedOut.svelte +32 -0
- package/dist/components/{firekit/signed-out.svelte.d.ts → SignedOut.svelte.d.ts} +3 -5
- package/dist/components/UploadTask.svelte +75 -0
- package/dist/components/UploadTask.svelte.d.ts +33 -0
- package/dist/config.d.ts +29 -6
- package/dist/config.js +37 -74
- package/dist/context.d.ts +46 -0
- package/dist/context.js +56 -0
- package/dist/firebase.d.ts +25 -84
- package/dist/firebase.js +75 -125
- package/dist/index.d.ts +32 -20
- package/dist/index.js +49 -30
- package/dist/services/ai.svelte.d.ts +152 -0
- package/dist/services/ai.svelte.js +302 -0
- package/dist/services/analytics.d.ts +39 -231
- package/dist/services/analytics.js +89 -421
- package/dist/services/app-check.svelte.d.ts +82 -0
- package/dist/services/app-check.svelte.js +159 -0
- package/dist/services/auth.d.ts +63 -352
- package/dist/services/auth.js +353 -718
- package/dist/services/bundles.d.ts +42 -0
- package/dist/services/bundles.js +57 -0
- package/dist/services/callable.d.ts +57 -0
- package/dist/services/callable.js +115 -0
- package/dist/services/collection.svelte.d.ts +154 -221
- package/dist/services/collection.svelte.js +357 -663
- package/dist/services/document.svelte.d.ts +73 -254
- package/dist/services/document.svelte.js +196 -497
- package/dist/services/in-app-messaging.d.ts +46 -0
- package/dist/services/in-app-messaging.js +88 -0
- package/dist/services/messaging.svelte.d.ts +75 -0
- package/dist/services/messaging.svelte.js +190 -0
- package/dist/services/mutations.d.ts +59 -282
- package/dist/services/mutations.js +202 -951
- package/dist/services/performance.d.ts +60 -0
- package/dist/services/performance.js +118 -0
- package/dist/services/presence.svelte.d.ts +21 -89
- package/dist/services/presence.svelte.js +232 -469
- package/dist/services/realtime.svelte.d.ts +54 -125
- package/dist/services/realtime.svelte.js +111 -175
- package/dist/services/remote-config.svelte.d.ts +73 -0
- package/dist/services/remote-config.svelte.js +204 -0
- package/dist/services/storage.svelte.d.ts +81 -208
- package/dist/services/storage.svelte.js +190 -305
- package/dist/services/user.svelte.d.ts +23 -244
- package/dist/services/user.svelte.js +129 -439
- package/dist/types/analytics.d.ts +2 -36
- package/dist/types/analytics.js +0 -5
- package/dist/types/auth.d.ts +15 -85
- package/dist/types/auth.js +0 -17
- package/dist/types/collection.d.ts +31 -225
- package/dist/types/collection.js +5 -51
- package/dist/types/document.d.ts +11 -236
- package/dist/types/document.js +2 -47
- package/dist/types/firebase.d.ts +10 -13
- package/dist/types/firebase.js +3 -9
- package/dist/types/index.d.ts +5 -5
- package/dist/types/index.js +5 -4
- package/dist/types/mutations.d.ts +11 -225
- package/dist/types/mutations.js +6 -51
- package/dist/types/presence.d.ts +5 -158
- package/dist/types/presence.js +0 -20
- package/dist/utils/errors.d.ts +10 -14
- package/dist/utils/errors.js +11 -16
- package/dist/utils/firestore.d.ts +3 -4
- package/dist/utils/firestore.js +7 -10
- package/dist/utils/index.d.ts +4 -4
- package/dist/utils/index.js +4 -8
- package/dist/utils/providers.d.ts +4 -13
- package/dist/utils/providers.js +14 -13
- package/dist/utils/user.d.ts +1 -3
- package/dist/utils/user.js +1 -3
- package/package.json +41 -55
- package/dist/components/docs/doc-content.svelte +0 -19
- package/dist/components/docs/doc-content.svelte.d.ts +0 -6
- package/dist/components/docs/doc-header.svelte +0 -24
- package/dist/components/docs/doc-header.svelte.d.ts +0 -13
- package/dist/components/docs/doc-renderer.svelte +0 -27
- package/dist/components/docs/doc-renderer.svelte.d.ts +0 -8
- package/dist/components/docs/mobile-table-of-contents.svelte +0 -42
- package/dist/components/docs/mobile-table-of-contents.svelte.d.ts +0 -3
- package/dist/components/docs/table-of-contents.svelte +0 -33
- package/dist/components/docs/table-of-contents.svelte.d.ts +0 -4
- package/dist/components/docs/toc.svelte.d.ts +0 -16
- package/dist/components/docs/toc.svelte.js +0 -59
- package/dist/components/firekit/Collection.svelte +0 -122
- package/dist/components/firekit/Collection.svelte.d.ts +0 -27
- package/dist/components/firekit/Doc.svelte +0 -140
- package/dist/components/firekit/Doc.svelte.d.ts +0 -28
- package/dist/components/firekit/Node.svelte +0 -97
- package/dist/components/firekit/Node.svelte.d.ts +0 -23
- package/dist/components/firekit/auth-guard.svelte +0 -120
- package/dist/components/firekit/auth-guard.svelte.d.ts +0 -26
- package/dist/components/firekit/custom-guard.svelte +0 -163
- package/dist/components/firekit/custom-guard.svelte.d.ts +0 -31
- package/dist/components/firekit/download-url.svelte +0 -92
- package/dist/components/firekit/download-url.svelte.d.ts +0 -19
- package/dist/components/firekit/firebase-app.svelte +0 -33
- package/dist/components/firekit/firebase-app.svelte.d.ts +0 -7
- package/dist/components/firekit/node-list.svelte +0 -102
- package/dist/components/firekit/node-list.svelte.d.ts +0 -27
- package/dist/components/firekit/signed-in.svelte +0 -42
- package/dist/components/firekit/signed-out.svelte +0 -42
- package/dist/components/firekit/storage-list.svelte +0 -97
- package/dist/components/firekit/storage-list.svelte.d.ts +0 -26
- package/dist/components/firekit/upload-task.svelte +0 -108
- package/dist/components/firekit/upload-task.svelte.d.ts +0 -24
- package/dist/components/nav/app-sidebar.svelte +0 -175
- package/dist/components/nav/app-sidebar.svelte.d.ts +0 -9
- package/dist/components/nav/auto-breadcrumb.svelte +0 -41
- package/dist/components/nav/auto-breadcrumb.svelte.d.ts +0 -3
- package/dist/components/nav/dark-mode-toggle.svelte +0 -17
- package/dist/components/nav/dark-mode-toggle.svelte.d.ts +0 -18
- package/dist/components/nav/nav-components.svelte +0 -24
- package/dist/components/nav/nav-components.svelte.d.ts +0 -11
- package/dist/components/nav/nav-main.svelte +0 -45
- package/dist/components/nav/nav-main.svelte.d.ts +0 -11
- package/dist/components/nav/nav-secondary.svelte +0 -32
- package/dist/components/nav/nav-secondary.svelte.d.ts +0 -14
- package/dist/components/nav/site-header.svelte +0 -32
- package/dist/components/nav/site-header.svelte.d.ts +0 -18
- package/dist/components/ui/avatar/avatar-fallback.svelte +0 -17
- package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +0 -4
- package/dist/components/ui/avatar/avatar-image.svelte +0 -17
- package/dist/components/ui/avatar/avatar-image.svelte.d.ts +0 -4
- package/dist/components/ui/avatar/avatar.svelte +0 -19
- package/dist/components/ui/avatar/avatar.svelte.d.ts +0 -4
- package/dist/components/ui/avatar/index.d.ts +0 -4
- package/dist/components/ui/avatar/index.js +0 -6
- package/dist/components/ui/badge/badge.svelte +0 -50
- package/dist/components/ui/badge/badge.svelte.d.ts +0 -32
- package/dist/components/ui/badge/index.d.ts +0 -2
- package/dist/components/ui/badge/index.js +0 -2
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +0 -20
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +0 -31
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +0 -11
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +0 -23
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +0 -27
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/breadcrumb.svelte +0 -21
- package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +0 -5
- package/dist/components/ui/breadcrumb/index.d.ts +0 -8
- package/dist/components/ui/breadcrumb/index.js +0 -10
- package/dist/components/ui/button/button.svelte +0 -80
- package/dist/components/ui/button/button.svelte.d.ts +0 -58
- package/dist/components/ui/button/index.d.ts +0 -2
- package/dist/components/ui/button/index.js +0 -4
- package/dist/components/ui/card/card-action.svelte +0 -20
- package/dist/components/ui/card/card-action.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-content.svelte +0 -15
- package/dist/components/ui/card/card-content.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-description.svelte +0 -20
- package/dist/components/ui/card/card-description.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-footer.svelte +0 -20
- package/dist/components/ui/card/card-footer.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-header.svelte +0 -23
- package/dist/components/ui/card/card-header.svelte.d.ts +0 -5
- package/dist/components/ui/card/card-title.svelte +0 -20
- package/dist/components/ui/card/card-title.svelte.d.ts +0 -5
- package/dist/components/ui/card/card.svelte +0 -23
- package/dist/components/ui/card/card.svelte.d.ts +0 -5
- package/dist/components/ui/card/index.d.ts +0 -8
- package/dist/components/ui/card/index.js +0 -10
- package/dist/components/ui/chart/chart-container.svelte +0 -80
- package/dist/components/ui/chart/chart-container.svelte.d.ts +0 -9
- package/dist/components/ui/chart/chart-style.svelte +0 -36
- package/dist/components/ui/chart/chart-style.svelte.d.ts +0 -8
- package/dist/components/ui/chart/chart-tooltip.svelte +0 -159
- package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +0 -27
- package/dist/components/ui/chart/chart-utils.d.ts +0 -36
- package/dist/components/ui/chart/chart-utils.js +0 -33
- package/dist/components/ui/chart/index.d.ts +0 -4
- package/dist/components/ui/chart/index.js +0 -4
- package/dist/components/ui/checkbox/checkbox.svelte +0 -36
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +0 -4
- package/dist/components/ui/checkbox/index.d.ts +0 -2
- package/dist/components/ui/checkbox/index.js +0 -4
- package/dist/components/ui/data-table/data-table.svelte.d.ts +0 -40
- package/dist/components/ui/data-table/data-table.svelte.js +0 -110
- package/dist/components/ui/data-table/flex-render.svelte +0 -36
- package/dist/components/ui/data-table/flex-render.svelte.d.ts +0 -30
- package/dist/components/ui/data-table/index.d.ts +0 -3
- package/dist/components/ui/data-table/index.js +0 -3
- package/dist/components/ui/data-table/render-helpers.d.ts +0 -90
- package/dist/components/ui/data-table/render-helpers.js +0 -99
- package/dist/components/ui/dialog/dialog-close.svelte +0 -7
- package/dist/components/ui/dialog/dialog-close.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-content.svelte +0 -43
- package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -11
- package/dist/components/ui/dialog/dialog-description.svelte +0 -17
- package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-footer.svelte +0 -20
- package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -5
- package/dist/components/ui/dialog/dialog-header.svelte +0 -20
- package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -5
- package/dist/components/ui/dialog/dialog-overlay.svelte +0 -20
- package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-title.svelte +0 -17
- package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-trigger.svelte +0 -7
- package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/index.d.ts +0 -11
- package/dist/components/ui/dialog/index.js +0 -14
- package/dist/components/ui/drawer/drawer-close.svelte +0 -7
- package/dist/components/ui/drawer/drawer-close.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer-content.svelte +0 -37
- package/dist/components/ui/drawer/drawer-content.svelte.d.ts +0 -7
- package/dist/components/ui/drawer/drawer-description.svelte +0 -17
- package/dist/components/ui/drawer/drawer-description.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer-footer.svelte +0 -20
- package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +0 -5
- package/dist/components/ui/drawer/drawer-header.svelte +0 -20
- package/dist/components/ui/drawer/drawer-header.svelte.d.ts +0 -5
- package/dist/components/ui/drawer/drawer-nested.svelte +0 -12
- package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +0 -3
- package/dist/components/ui/drawer/drawer-overlay.svelte +0 -20
- package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer-title.svelte +0 -17
- package/dist/components/ui/drawer/drawer-title.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer-trigger.svelte +0 -7
- package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/drawer/drawer.svelte +0 -12
- package/dist/components/ui/drawer/drawer.svelte.d.ts +0 -3
- package/dist/components/ui/drawer/index.d.ts +0 -13
- package/dist/components/ui/drawer/index.js +0 -15
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +0 -41
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +0 -9
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +0 -27
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +0 -22
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +0 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +0 -27
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +0 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +0 -24
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +0 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +0 -16
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +0 -31
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +0 -17
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +0 -20
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +0 -5
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +0 -20
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +0 -29
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +0 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/dropdown-menu/index.d.ts +0 -25
- package/dist/components/ui/dropdown-menu/index.js +0 -17
- package/dist/components/ui/input/index.d.ts +0 -2
- package/dist/components/ui/input/index.js +0 -4
- package/dist/components/ui/input/input.svelte +0 -51
- package/dist/components/ui/input/input.svelte.d.ts +0 -13
- package/dist/components/ui/label/index.d.ts +0 -2
- package/dist/components/ui/label/index.js +0 -4
- package/dist/components/ui/label/label.svelte +0 -20
- package/dist/components/ui/label/label.svelte.d.ts +0 -4
- package/dist/components/ui/scroll-area/index.d.ts +0 -3
- package/dist/components/ui/scroll-area/index.js +0 -5
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +0 -31
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +0 -4
- package/dist/components/ui/scroll-area/scroll-area.svelte +0 -40
- package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +0 -10
- package/dist/components/ui/select/index.d.ts +0 -11
- package/dist/components/ui/select/index.js +0 -14
- package/dist/components/ui/select/select-content.svelte +0 -40
- package/dist/components/ui/select/select-content.svelte.d.ts +0 -8
- package/dist/components/ui/select/select-group-heading.svelte +0 -21
- package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -10
- package/dist/components/ui/select/select-group.svelte +0 -7
- package/dist/components/ui/select/select-group.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-item.svelte +0 -38
- package/dist/components/ui/select/select-item.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-label.svelte +0 -20
- package/dist/components/ui/select/select-label.svelte.d.ts +0 -6
- package/dist/components/ui/select/select-scroll-down-button.svelte +0 -20
- package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-scroll-up-button.svelte +0 -20
- package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-separator.svelte +0 -18
- package/dist/components/ui/select/select-separator.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-trigger.svelte +0 -29
- package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -8
- package/dist/components/ui/separator/index.d.ts +0 -2
- package/dist/components/ui/separator/index.js +0 -4
- package/dist/components/ui/separator/separator.svelte +0 -20
- package/dist/components/ui/separator/separator.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/index.d.ts +0 -11
- package/dist/components/ui/sheet/index.js +0 -14
- package/dist/components/ui/sheet/sheet-close.svelte +0 -7
- package/dist/components/ui/sheet/sheet-close.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-content.svelte +0 -58
- package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -35
- package/dist/components/ui/sheet/sheet-description.svelte +0 -17
- package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
- package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -5
- package/dist/components/ui/sheet/sheet-header.svelte +0 -20
- package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -5
- package/dist/components/ui/sheet/sheet-overlay.svelte +0 -20
- package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-title.svelte +0 -17
- package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-trigger.svelte +0 -7
- package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/sidebar/constants.d.ts +0 -6
- package/dist/components/ui/sidebar/constants.js +0 -6
- package/dist/components/ui/sidebar/context.svelte.d.ts +0 -42
- package/dist/components/ui/sidebar/context.svelte.js +0 -54
- package/dist/components/ui/sidebar/index.d.ts +0 -25
- package/dist/components/ui/sidebar/index.js +0 -27
- package/dist/components/ui/sidebar/sidebar-content.svelte +0 -24
- package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-footer.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-group-action.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +0 -11
- package/dist/components/ui/sidebar/sidebar-group-content.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-group-label.svelte +0 -34
- package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +0 -11
- package/dist/components/ui/sidebar/sidebar-group.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-header.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-input.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +0 -11
- package/dist/components/ui/sidebar/sidebar-inset.svelte +0 -24
- package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte +0 -43
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +0 -12
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +0 -29
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte +0 -103
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +0 -51
- package/dist/components/ui/sidebar/sidebar-menu-item.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +0 -8
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +0 -43
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +0 -13
- package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +0 -25
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-menu.svelte +0 -21
- package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-provider.svelte +0 -53
- package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +0 -9
- package/dist/components/ui/sidebar/sidebar-rail.svelte +0 -36
- package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +0 -5
- package/dist/components/ui/sidebar/sidebar-separator.svelte +0 -19
- package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +0 -13
- package/dist/components/ui/sidebar/sidebar-trigger.svelte +0 -35
- package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +0 -8
- package/dist/components/ui/sidebar/sidebar.svelte +0 -104
- package/dist/components/ui/sidebar/sidebar.svelte.d.ts +0 -10
- package/dist/components/ui/skeleton/index.d.ts +0 -2
- package/dist/components/ui/skeleton/index.js +0 -4
- package/dist/components/ui/skeleton/skeleton.svelte +0 -17
- package/dist/components/ui/skeleton/skeleton.svelte.d.ts +0 -5
- package/dist/components/ui/table/index.d.ts +0 -9
- package/dist/components/ui/table/index.js +0 -11
- package/dist/components/ui/table/table-body.svelte +0 -20
- package/dist/components/ui/table/table-body.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-caption.svelte +0 -20
- package/dist/components/ui/table/table-caption.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-cell.svelte +0 -20
- package/dist/components/ui/table/table-cell.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-footer.svelte +0 -20
- package/dist/components/ui/table/table-footer.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-head.svelte +0 -23
- package/dist/components/ui/table/table-head.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-header.svelte +0 -20
- package/dist/components/ui/table/table-header.svelte.d.ts +0 -5
- package/dist/components/ui/table/table-row.svelte +0 -23
- package/dist/components/ui/table/table-row.svelte.d.ts +0 -5
- package/dist/components/ui/table/table.svelte +0 -22
- package/dist/components/ui/table/table.svelte.d.ts +0 -5
- package/dist/components/ui/tabs/index.d.ts +0 -5
- package/dist/components/ui/tabs/index.js +0 -7
- package/dist/components/ui/tabs/tabs-content.svelte +0 -17
- package/dist/components/ui/tabs/tabs-content.svelte.d.ts +0 -4
- package/dist/components/ui/tabs/tabs-list.svelte +0 -20
- package/dist/components/ui/tabs/tabs-list.svelte.d.ts +0 -4
- package/dist/components/ui/tabs/tabs-trigger.svelte +0 -20
- package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/tabs/tabs.svelte +0 -19
- package/dist/components/ui/tabs/tabs.svelte.d.ts +0 -4
- package/dist/components/ui/toggle/index.d.ts +0 -3
- package/dist/components/ui/toggle/index.js +0 -5
- package/dist/components/ui/toggle/toggle.svelte +0 -52
- package/dist/components/ui/toggle/toggle.svelte.d.ts +0 -43
- package/dist/components/ui/toggle-group/index.d.ts +0 -3
- package/dist/components/ui/toggle-group/index.js +0 -5
- package/dist/components/ui/toggle-group/toggle-group-item.svelte +0 -34
- package/dist/components/ui/toggle-group/toggle-group-item.svelte.d.ts +0 -6
- package/dist/components/ui/toggle-group/toggle-group.svelte +0 -47
- package/dist/components/ui/toggle-group/toggle-group.svelte.d.ts +0 -8
- package/dist/components/ui/tooltip/index.d.ts +0 -7
- package/dist/components/ui/tooltip/index.js +0 -9
- package/dist/components/ui/tooltip/tooltip-content.svelte +0 -47
- package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -7
- package/dist/components/ui/tooltip/tooltip-trigger.svelte +0 -7
- package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +0 -4
- package/dist/hooks/is-mobile.svelte.d.ts +0 -4
- package/dist/hooks/is-mobile.svelte.js +0 -7
- package/dist/services/index.d.ts +0 -9
- package/dist/services/index.js +0 -10
- package/dist/types/docs.d.ts +0 -67
- package/dist/types/docs.js +0 -1
- package/dist/utils.d.ts +0 -15
- package/dist/utils.js +0 -44
package/dist/types/presence.d.ts
CHANGED
|
@@ -1,54 +1,25 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Presence types and interfaces for FirekitPresence
|
|
3
|
-
* @module PresenceTypes
|
|
4
|
-
* @version 1.0.0
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Geolocation configuration options
|
|
8
|
-
*/
|
|
9
1
|
export interface GeolocationConfig {
|
|
10
|
-
/** Whether geolocation tracking is enabled */
|
|
11
2
|
enabled: boolean;
|
|
12
|
-
/** Type of geolocation service to use */
|
|
13
3
|
type: 'browser' | 'ip' | 'custom';
|
|
14
|
-
/** Custom function for retrieving geolocation */
|
|
15
4
|
customGeolocationFn?: () => Promise<{
|
|
16
5
|
latitude: number;
|
|
17
6
|
longitude: number;
|
|
18
7
|
}>;
|
|
19
|
-
/** URL for IP-based geolocation service */
|
|
20
8
|
ipServiceUrl?: string;
|
|
21
|
-
/** Whether user consent is required for location tracking */
|
|
22
9
|
requireConsent?: boolean;
|
|
23
|
-
/** High accuracy GPS tracking */
|
|
24
10
|
enableHighAccuracy?: boolean;
|
|
25
|
-
/** Location timeout in milliseconds */
|
|
26
11
|
timeout?: number;
|
|
27
|
-
/** Maximum age of cached location in milliseconds */
|
|
28
12
|
maximumAge?: number;
|
|
29
13
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Presence service configuration options
|
|
32
|
-
*/
|
|
33
14
|
export interface PresenceConfig {
|
|
34
|
-
/** Geolocation settings */
|
|
35
15
|
geolocation?: GeolocationConfig;
|
|
36
|
-
/** Session timeout in milliseconds (default: 30 minutes) */
|
|
37
16
|
sessionTTL?: number;
|
|
38
|
-
/** Presence update interval in milliseconds (default: 1 minute) */
|
|
39
17
|
updateInterval?: number;
|
|
40
|
-
|
|
41
|
-
customMetadata?: Record<string, any>;
|
|
42
|
-
/** Whether to track device information */
|
|
18
|
+
customMetadata?: Record<string, unknown>;
|
|
43
19
|
trackDeviceInfo?: boolean;
|
|
44
|
-
/** Custom session collection path in Firebase */
|
|
45
20
|
sessionPath?: string;
|
|
46
|
-
/** Whether to enable automatic status detection based on page visibility */
|
|
47
21
|
enableAutoStatusDetection?: boolean;
|
|
48
22
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Location data structure
|
|
51
|
-
*/
|
|
52
23
|
export interface Location {
|
|
53
24
|
latitude: number;
|
|
54
25
|
longitude: number;
|
|
@@ -60,9 +31,6 @@ export interface Location {
|
|
|
60
31
|
lastUpdated: string;
|
|
61
32
|
source: 'browser' | 'ip' | 'custom';
|
|
62
33
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Device information structure
|
|
65
|
-
*/
|
|
66
34
|
export interface DeviceInfo {
|
|
67
35
|
id: string;
|
|
68
36
|
type: 'desktop' | 'mobile' | 'tablet' | 'unknown';
|
|
@@ -74,9 +42,6 @@ export interface DeviceInfo {
|
|
|
74
42
|
screenResolution?: string;
|
|
75
43
|
timezone?: string;
|
|
76
44
|
}
|
|
77
|
-
/**
|
|
78
|
-
* Session data structure
|
|
79
|
-
*/
|
|
80
45
|
export interface SessionData {
|
|
81
46
|
id: string;
|
|
82
47
|
userId: string;
|
|
@@ -85,13 +50,10 @@ export interface SessionData {
|
|
|
85
50
|
lastSeen: string;
|
|
86
51
|
location?: Location;
|
|
87
52
|
device?: DeviceInfo;
|
|
88
|
-
metadata?: Record<string,
|
|
53
|
+
metadata?: Record<string, unknown>;
|
|
89
54
|
connectionType?: 'wifi' | 'cellular' | 'ethernet' | 'unknown';
|
|
90
55
|
lastActivity?: string;
|
|
91
56
|
}
|
|
92
|
-
/**
|
|
93
|
-
* User presence summary
|
|
94
|
-
*/
|
|
95
57
|
export interface UserPresence {
|
|
96
58
|
userId: string;
|
|
97
59
|
status: SessionData['status'];
|
|
@@ -101,9 +63,6 @@ export interface UserPresence {
|
|
|
101
63
|
primarySession?: SessionData;
|
|
102
64
|
location?: Location;
|
|
103
65
|
}
|
|
104
|
-
/**
|
|
105
|
-
* Presence statistics
|
|
106
|
-
*/
|
|
107
66
|
export interface PresenceStats {
|
|
108
67
|
totalSessions: number;
|
|
109
68
|
onlineSessions: number;
|
|
@@ -113,120 +72,20 @@ export interface PresenceStats {
|
|
|
113
72
|
averageSessionDuration: number;
|
|
114
73
|
lastActivity: string;
|
|
115
74
|
}
|
|
116
|
-
/**
|
|
117
|
-
* Geolocation provider interface
|
|
118
|
-
*/
|
|
119
75
|
export interface GeolocationProvider {
|
|
120
76
|
getCurrentLocation(): Promise<Location | null>;
|
|
121
77
|
watchPosition?(callback: (location: Location | null) => void): number;
|
|
122
78
|
clearWatch?(watchId: number): void;
|
|
123
79
|
requestPermission?(): Promise<boolean>;
|
|
124
80
|
}
|
|
125
|
-
/**
|
|
126
|
-
* Session storage interface
|
|
127
|
-
*/
|
|
128
|
-
export interface SessionStorage {
|
|
129
|
-
saveSession(userId: string, session: SessionData): Promise<void>;
|
|
130
|
-
loadSessions(userId: string): Promise<SessionData[]>;
|
|
131
|
-
deleteSession(userId: string, sessionId: string): Promise<void>;
|
|
132
|
-
cleanupExpiredSessions(userId: string, ttl: number): Promise<void>;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Presence service interface
|
|
136
|
-
*/
|
|
137
81
|
export interface PresenceService {
|
|
138
|
-
initialize(user:
|
|
82
|
+
initialize(user: unknown, config?: PresenceConfig): Promise<void>;
|
|
139
83
|
setPresence(status: SessionData['status']): Promise<void>;
|
|
140
84
|
getCurrentSession(): SessionData | null;
|
|
141
85
|
getAllSessions(): SessionData[];
|
|
142
86
|
getPresenceStats(): PresenceStats;
|
|
143
87
|
dispose(): Promise<void>;
|
|
144
88
|
}
|
|
145
|
-
/**
|
|
146
|
-
* Connection info structure
|
|
147
|
-
*/
|
|
148
|
-
export interface ConnectionInfo {
|
|
149
|
-
effectiveType?: 'slow-2g' | '2g' | '3g' | '4g';
|
|
150
|
-
type?: 'bluetooth' | 'cellular' | 'ethernet' | 'none' | 'wifi' | 'wimax' | 'other' | 'unknown';
|
|
151
|
-
downlink?: number;
|
|
152
|
-
rtt?: number;
|
|
153
|
-
saveData?: boolean;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Browser capability detection
|
|
157
|
-
*/
|
|
158
|
-
export interface BrowserCapabilities {
|
|
159
|
-
geolocation: boolean;
|
|
160
|
-
notifications: boolean;
|
|
161
|
-
serviceWorker: boolean;
|
|
162
|
-
indexedDB: boolean;
|
|
163
|
-
webRTC: boolean;
|
|
164
|
-
websockets: boolean;
|
|
165
|
-
localStorage: boolean;
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Presence filter options
|
|
169
|
-
*/
|
|
170
|
-
export interface PresenceFilter {
|
|
171
|
-
status?: SessionData['status'][];
|
|
172
|
-
deviceTypes?: DeviceInfo['type'][];
|
|
173
|
-
timeRange?: {
|
|
174
|
-
start: string;
|
|
175
|
-
end: string;
|
|
176
|
-
};
|
|
177
|
-
hasLocation?: boolean;
|
|
178
|
-
activeOnly?: boolean;
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Bulk presence update
|
|
182
|
-
*/
|
|
183
|
-
export interface BulkPresenceUpdate {
|
|
184
|
-
userId: string;
|
|
185
|
-
updates: Partial<SessionData>[];
|
|
186
|
-
timestamp: string;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Presence query options
|
|
190
|
-
*/
|
|
191
|
-
export interface PresenceQueryOptions {
|
|
192
|
-
limit?: number;
|
|
193
|
-
orderBy?: 'lastSeen' | 'createdAt' | 'status';
|
|
194
|
-
direction?: 'asc' | 'desc';
|
|
195
|
-
filter?: PresenceFilter;
|
|
196
|
-
includeExpired?: boolean;
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Custom presence status
|
|
200
|
-
*/
|
|
201
|
-
export interface CustomPresenceStatus {
|
|
202
|
-
key: string;
|
|
203
|
-
label: string;
|
|
204
|
-
color?: string;
|
|
205
|
-
icon?: string;
|
|
206
|
-
priority?: number;
|
|
207
|
-
autoDetect?: boolean;
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Presence analytics data
|
|
211
|
-
*/
|
|
212
|
-
export interface PresenceAnalytics {
|
|
213
|
-
userId: string;
|
|
214
|
-
dailyActiveTime: number;
|
|
215
|
-
weeklyActiveTime: number;
|
|
216
|
-
monthlyActiveTime: number;
|
|
217
|
-
mostActiveDevice: string;
|
|
218
|
-
mostActiveHour: number;
|
|
219
|
-
averageSessionLength: number;
|
|
220
|
-
locationHistory: Location[];
|
|
221
|
-
statusHistory: Array<{
|
|
222
|
-
status: SessionData['status'];
|
|
223
|
-
timestamp: string;
|
|
224
|
-
duration: number;
|
|
225
|
-
}>;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Error types for presence service
|
|
229
|
-
*/
|
|
230
89
|
export declare enum PresenceErrorCode {
|
|
231
90
|
INITIALIZATION_FAILED = "presence/initialization-failed",
|
|
232
91
|
USER_NOT_AUTHENTICATED = "presence/user-not-authenticated",
|
|
@@ -240,23 +99,11 @@ export declare enum PresenceErrorCode {
|
|
|
240
99
|
NETWORK_ERROR = "presence/network-error",
|
|
241
100
|
PERMISSION_DENIED = "presence/permission-denied"
|
|
242
101
|
}
|
|
243
|
-
/**
|
|
244
|
-
* Custom presence error class
|
|
245
|
-
*/
|
|
246
102
|
export declare class PresenceError extends Error {
|
|
247
103
|
code: PresenceErrorCode;
|
|
248
|
-
originalError?:
|
|
249
|
-
constructor(code: PresenceErrorCode, message: string, originalError?:
|
|
250
|
-
/**
|
|
251
|
-
* Get user-friendly error message
|
|
252
|
-
*/
|
|
104
|
+
originalError?: unknown | undefined;
|
|
105
|
+
constructor(code: PresenceErrorCode, message: string, originalError?: unknown | undefined);
|
|
253
106
|
getFriendlyMessage(): string;
|
|
254
|
-
/**
|
|
255
|
-
* Check if error is retryable
|
|
256
|
-
*/
|
|
257
107
|
isRetryable(): boolean;
|
|
258
|
-
/**
|
|
259
|
-
* Check if error requires user action
|
|
260
|
-
*/
|
|
261
108
|
requiresUserAction(): boolean;
|
|
262
109
|
}
|
package/dist/types/presence.js
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Presence types and interfaces for FirekitPresence
|
|
3
|
-
* @module PresenceTypes
|
|
4
|
-
* @version 1.0.0
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Error types for presence service
|
|
8
|
-
*/
|
|
9
1
|
export var PresenceErrorCode;
|
|
10
2
|
(function (PresenceErrorCode) {
|
|
11
3
|
PresenceErrorCode["INITIALIZATION_FAILED"] = "presence/initialization-failed";
|
|
@@ -20,9 +12,6 @@ export var PresenceErrorCode;
|
|
|
20
12
|
PresenceErrorCode["NETWORK_ERROR"] = "presence/network-error";
|
|
21
13
|
PresenceErrorCode["PERMISSION_DENIED"] = "presence/permission-denied";
|
|
22
14
|
})(PresenceErrorCode || (PresenceErrorCode = {}));
|
|
23
|
-
/**
|
|
24
|
-
* Custom presence error class
|
|
25
|
-
*/
|
|
26
15
|
export class PresenceError extends Error {
|
|
27
16
|
code;
|
|
28
17
|
originalError;
|
|
@@ -32,9 +21,6 @@ export class PresenceError extends Error {
|
|
|
32
21
|
this.originalError = originalError;
|
|
33
22
|
this.name = 'PresenceError';
|
|
34
23
|
}
|
|
35
|
-
/**
|
|
36
|
-
* Get user-friendly error message
|
|
37
|
-
*/
|
|
38
24
|
getFriendlyMessage() {
|
|
39
25
|
switch (this.code) {
|
|
40
26
|
case PresenceErrorCode.GEOLOCATION_DENIED:
|
|
@@ -55,9 +41,6 @@ export class PresenceError extends Error {
|
|
|
55
41
|
return this.message || 'An unknown error occurred.';
|
|
56
42
|
}
|
|
57
43
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Check if error is retryable
|
|
60
|
-
*/
|
|
61
44
|
isRetryable() {
|
|
62
45
|
const retryableCodes = [
|
|
63
46
|
PresenceErrorCode.NETWORK_ERROR,
|
|
@@ -66,9 +49,6 @@ export class PresenceError extends Error {
|
|
|
66
49
|
];
|
|
67
50
|
return retryableCodes.includes(this.code);
|
|
68
51
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Check if error requires user action
|
|
71
|
-
*/
|
|
72
52
|
requiresUserAction() {
|
|
73
53
|
const userActionCodes = [
|
|
74
54
|
PresenceErrorCode.GEOLOCATION_DENIED,
|
package/dist/utils/errors.d.ts
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
import { FirekitAuthError } from '../types/auth.js';
|
|
2
2
|
/**
|
|
3
|
-
* Creates a standardized FirekitAuthError
|
|
4
|
-
* @param {any} error Original error object
|
|
5
|
-
* @param {string} context Context of the operation that failed
|
|
6
|
-
* @returns {FirekitAuthError} Standardized error object
|
|
3
|
+
* Creates a standardized FirekitAuthError from a raw Firebase error.
|
|
7
4
|
*/
|
|
8
|
-
export declare function createAuthError(error:
|
|
5
|
+
export declare function createAuthError(error: unknown, context: string): FirekitAuthError;
|
|
9
6
|
/**
|
|
10
|
-
* Validates that a current user exists and returns
|
|
11
|
-
* @
|
|
12
|
-
* @returns {any} Current Firebase user
|
|
13
|
-
* @throws {FirekitAuthError} If no authenticated user found
|
|
7
|
+
* Validates that a current user exists and returns it.
|
|
8
|
+
* @throws {FirekitAuthError} If no authenticated user found.
|
|
14
9
|
*/
|
|
15
|
-
export declare function validateCurrentUser(auth:
|
|
10
|
+
export declare function validateCurrentUser(auth: {
|
|
11
|
+
currentUser: unknown;
|
|
12
|
+
}): NonNullable<unknown>;
|
|
16
13
|
/**
|
|
17
|
-
*
|
|
18
|
-
* @
|
|
19
|
-
* @returns {never} Never returns, always throws
|
|
14
|
+
* Converts any Firebase auth error into a FirekitAuthError with a friendly message.
|
|
15
|
+
* @throws {FirekitAuthError} Always throws.
|
|
20
16
|
*/
|
|
21
|
-
export declare function handleAuthError(error:
|
|
17
|
+
export declare function handleAuthError(error: unknown): never;
|
package/dist/utils/errors.js
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import { FirekitAuthError, AuthErrorCode } from '../types/auth.js';
|
|
2
2
|
/**
|
|
3
|
-
* Creates a standardized FirekitAuthError
|
|
4
|
-
* @param {any} error Original error object
|
|
5
|
-
* @param {string} context Context of the operation that failed
|
|
6
|
-
* @returns {FirekitAuthError} Standardized error object
|
|
3
|
+
* Creates a standardized FirekitAuthError from a raw Firebase error.
|
|
7
4
|
*/
|
|
8
5
|
export function createAuthError(error, context) {
|
|
9
|
-
const
|
|
10
|
-
|
|
6
|
+
const firebaseError = error;
|
|
7
|
+
const code = firebaseError.code || `${context}-failed`;
|
|
8
|
+
return new FirekitAuthError(code, `Failed to ${context}: ${firebaseError.message ?? 'unknown error'}`);
|
|
11
9
|
}
|
|
12
10
|
/**
|
|
13
|
-
* Validates that a current user exists and returns
|
|
14
|
-
* @
|
|
15
|
-
* @returns {any} Current Firebase user
|
|
16
|
-
* @throws {FirekitAuthError} If no authenticated user found
|
|
11
|
+
* Validates that a current user exists and returns it.
|
|
12
|
+
* @throws {FirekitAuthError} If no authenticated user found.
|
|
17
13
|
*/
|
|
18
14
|
export function validateCurrentUser(auth) {
|
|
19
15
|
const user = auth.currentUser;
|
|
@@ -23,13 +19,12 @@ export function validateCurrentUser(auth) {
|
|
|
23
19
|
return user;
|
|
24
20
|
}
|
|
25
21
|
/**
|
|
26
|
-
*
|
|
27
|
-
* @
|
|
28
|
-
* @returns {never} Never returns, always throws
|
|
22
|
+
* Converts any Firebase auth error into a FirekitAuthError with a friendly message.
|
|
23
|
+
* @throws {FirekitAuthError} Always throws.
|
|
29
24
|
*/
|
|
30
25
|
export function handleAuthError(error) {
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
|
|
26
|
+
const firebaseError = error;
|
|
27
|
+
const code = firebaseError.code || AuthErrorCode.INTERNAL_ERROR;
|
|
28
|
+
const firekitError = new FirekitAuthError(code, firebaseError.message ?? 'Unknown error', error);
|
|
34
29
|
throw new FirekitAuthError(code, firekitError.getFriendlyMessage(), error);
|
|
35
30
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { Firestore } from 'firebase/firestore';
|
|
2
2
|
import type { User } from 'firebase/auth';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* @returns {Promise<void>} Promise that resolves when update completes
|
|
4
|
+
* Upserts user profile data into the `users/{uid}` Firestore document.
|
|
5
|
+
* Uses merge so existing fields not present in User are preserved.
|
|
6
|
+
* Silently swallows errors so auth operations are never blocked by Firestore failures.
|
|
8
7
|
*/
|
|
9
8
|
export declare function updateUserInFirestore(firestore: Firestore, user: User): Promise<void>;
|
package/dist/utils/firestore.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { doc, setDoc, serverTimestamp } from 'firebase/firestore';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* @returns {Promise<void>} Promise that resolves when update completes
|
|
3
|
+
* Upserts user profile data into the `users/{uid}` Firestore document.
|
|
4
|
+
* Uses merge so existing fields not present in User are preserved.
|
|
5
|
+
* Silently swallows errors so auth operations are never blocked by Firestore failures.
|
|
7
6
|
*/
|
|
8
7
|
export async function updateUserInFirestore(firestore, user) {
|
|
9
8
|
try {
|
|
10
9
|
const userRef = doc(firestore, 'users', user.uid);
|
|
11
|
-
|
|
10
|
+
await setDoc(userRef, {
|
|
12
11
|
uid: user.uid,
|
|
13
12
|
email: user.email,
|
|
14
13
|
emailVerified: user.emailVerified,
|
|
@@ -23,11 +22,9 @@ export async function updateUserInFirestore(firestore, user) {
|
|
|
23
22
|
lastSignInTime: user.metadata.lastSignInTime
|
|
24
23
|
},
|
|
25
24
|
lastUpdated: serverTimestamp()
|
|
26
|
-
};
|
|
27
|
-
await setDoc(userRef, userData, { merge: true });
|
|
25
|
+
}, { merge: true });
|
|
28
26
|
}
|
|
29
|
-
catch
|
|
30
|
-
|
|
31
|
-
// Don't throw here to avoid blocking auth operations
|
|
27
|
+
catch {
|
|
28
|
+
// Intentionally silent — never block auth flows due to a Firestore write failure
|
|
32
29
|
}
|
|
33
30
|
}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
1
|
+
export * from './errors.js';
|
|
2
|
+
export * from './providers.js';
|
|
3
|
+
export * from './user.js';
|
|
4
|
+
export * from './firestore.js';
|
package/dist/utils/index.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
// Error handling utilities
|
|
6
|
-
export { createAuthError, validateCurrentUser, handleAuthError } from './errors.js';
|
|
7
|
-
// Provider utilities
|
|
8
|
-
export { createGoogleProvider, createFacebookProvider, createAppleProvider } from './providers.js';
|
|
1
|
+
export * from './errors.js';
|
|
2
|
+
export * from './providers.js';
|
|
3
|
+
export * from './user.js';
|
|
4
|
+
export * from './firestore.js';
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
import { GoogleAuthProvider, FacebookAuthProvider, OAuthProvider } from 'firebase/auth';
|
|
2
|
-
/**
|
|
3
|
-
* Creates a configured Google Auth provider
|
|
4
|
-
* @returns {GoogleAuthProvider} Configured Google provider
|
|
5
|
-
*/
|
|
1
|
+
import { GoogleAuthProvider, FacebookAuthProvider, OAuthProvider, GithubAuthProvider, TwitterAuthProvider } from 'firebase/auth';
|
|
6
2
|
export declare function createGoogleProvider(): GoogleAuthProvider;
|
|
7
|
-
/**
|
|
8
|
-
* Creates a configured Facebook Auth provider
|
|
9
|
-
* @returns {FacebookAuthProvider} Configured Facebook provider
|
|
10
|
-
*/
|
|
11
3
|
export declare function createFacebookProvider(): FacebookAuthProvider;
|
|
12
|
-
/**
|
|
13
|
-
* Creates a configured Apple Auth provider
|
|
14
|
-
* @returns {OAuthProvider} Configured Apple provider
|
|
15
|
-
*/
|
|
16
4
|
export declare function createAppleProvider(): OAuthProvider;
|
|
5
|
+
export declare function createGithubProvider(): GithubAuthProvider;
|
|
6
|
+
export declare function createTwitterProvider(): TwitterAuthProvider;
|
|
7
|
+
export declare function createMicrosoftProvider(): OAuthProvider;
|
package/dist/utils/providers.js
CHANGED
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import { GoogleAuthProvider, FacebookAuthProvider, OAuthProvider } from 'firebase/auth';
|
|
2
|
-
/**
|
|
3
|
-
* Creates a configured Google Auth provider
|
|
4
|
-
* @returns {GoogleAuthProvider} Configured Google provider
|
|
5
|
-
*/
|
|
1
|
+
import { GoogleAuthProvider, FacebookAuthProvider, OAuthProvider, GithubAuthProvider, TwitterAuthProvider } from 'firebase/auth';
|
|
6
2
|
export function createGoogleProvider() {
|
|
7
3
|
const provider = new GoogleAuthProvider();
|
|
8
4
|
provider.addScope('email');
|
|
9
5
|
provider.addScope('profile');
|
|
10
6
|
return provider;
|
|
11
7
|
}
|
|
12
|
-
/**
|
|
13
|
-
* Creates a configured Facebook Auth provider
|
|
14
|
-
* @returns {FacebookAuthProvider} Configured Facebook provider
|
|
15
|
-
*/
|
|
16
8
|
export function createFacebookProvider() {
|
|
17
9
|
const provider = new FacebookAuthProvider();
|
|
18
10
|
provider.addScope('email');
|
|
19
11
|
return provider;
|
|
20
12
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Creates a configured Apple Auth provider
|
|
23
|
-
* @returns {OAuthProvider} Configured Apple provider
|
|
24
|
-
*/
|
|
25
13
|
export function createAppleProvider() {
|
|
26
14
|
const provider = new OAuthProvider('apple.com');
|
|
27
15
|
provider.addScope('email');
|
|
28
16
|
provider.addScope('name');
|
|
29
17
|
return provider;
|
|
30
18
|
}
|
|
19
|
+
export function createGithubProvider() {
|
|
20
|
+
const provider = new GithubAuthProvider();
|
|
21
|
+
provider.addScope('user:email');
|
|
22
|
+
return provider;
|
|
23
|
+
}
|
|
24
|
+
export function createTwitterProvider() {
|
|
25
|
+
return new TwitterAuthProvider();
|
|
26
|
+
}
|
|
27
|
+
export function createMicrosoftProvider() {
|
|
28
|
+
const provider = new OAuthProvider('microsoft.com');
|
|
29
|
+
provider.addScope('user.read');
|
|
30
|
+
return provider;
|
|
31
|
+
}
|
package/dist/utils/user.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { User } from 'firebase/auth';
|
|
2
2
|
import type { UserProfile } from '../types/auth.js';
|
|
3
3
|
/**
|
|
4
|
-
* Maps Firebase User to UserProfile interface
|
|
5
|
-
* @param {User} user Firebase user object
|
|
6
|
-
* @returns {UserProfile} Mapped user profile
|
|
4
|
+
* Maps a Firebase User object to the Firekit UserProfile interface.
|
|
7
5
|
*/
|
|
8
6
|
export declare function mapFirebaseUserToProfile(user: User): UserProfile;
|
package/dist/utils/user.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Maps Firebase User to UserProfile interface
|
|
3
|
-
* @param {User} user Firebase user object
|
|
4
|
-
* @returns {UserProfile} Mapped user profile
|
|
2
|
+
* Maps a Firebase User object to the Firekit UserProfile interface.
|
|
5
3
|
*/
|
|
6
4
|
export function mapFirebaseUserToProfile(user) {
|
|
7
5
|
return {
|
package/package.json
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svelte-firekit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "A Svelte library for Firebase integration",
|
|
4
5
|
"license": "MIT",
|
|
6
|
+
"author": "Giovani Rodriguez",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/codegio/svelte-firekit.git"
|
|
10
|
+
},
|
|
5
11
|
"scripts": {
|
|
6
12
|
"dev": "vite dev",
|
|
7
13
|
"build": "vite build && npm run prepack",
|
|
@@ -10,21 +16,11 @@
|
|
|
10
16
|
"prepack": "svelte-kit sync && svelte-package && publint",
|
|
11
17
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
12
18
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
19
|
+
"lint": "prettier --check . && eslint .",
|
|
13
20
|
"format": "prettier --write .",
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
"repository": {
|
|
17
|
-
"type": "git",
|
|
18
|
-
"url": "git+https://github.com/code-gio/svelte-firekit.git"
|
|
21
|
+
"test:unit": "vitest",
|
|
22
|
+
"test": "npm run test:unit -- --run"
|
|
19
23
|
},
|
|
20
|
-
"description": "A Svelte library for Firebase integration",
|
|
21
|
-
"keywords": [
|
|
22
|
-
"svelte",
|
|
23
|
-
"firebase",
|
|
24
|
-
"library",
|
|
25
|
-
"frontend"
|
|
26
|
-
],
|
|
27
|
-
"author": "Giovani Rodriguez",
|
|
28
24
|
"files": [
|
|
29
25
|
"dist",
|
|
30
26
|
"!dist/**/*.test.*",
|
|
@@ -43,51 +39,41 @@
|
|
|
43
39
|
}
|
|
44
40
|
},
|
|
45
41
|
"peerDependencies": {
|
|
46
|
-
"firebase": "^11.9.1",
|
|
47
42
|
"svelte": "^5.0.0",
|
|
48
|
-
"
|
|
43
|
+
"firebase": "^12.10.0"
|
|
49
44
|
},
|
|
50
45
|
"devDependencies": {
|
|
51
|
-
"@
|
|
52
|
-
"@
|
|
53
|
-
"@
|
|
54
|
-
"@
|
|
55
|
-
"@
|
|
56
|
-
"@
|
|
57
|
-
"@
|
|
58
|
-
"@
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"prettier-plugin-tailwindcss": "^0.6.11",
|
|
75
|
-
"publint": "^0.3.2",
|
|
76
|
-
"shiki": "^3.7.0",
|
|
77
|
-
"svelte": "^5.0.0",
|
|
78
|
-
"svelte-check": "^4.0.0",
|
|
79
|
-
"svelte-sonner": "^1.0.5",
|
|
80
|
-
"tailwind-merge": "^3.3.1",
|
|
81
|
-
"tailwind-variants": "^1.0.0",
|
|
82
|
-
"tailwindcss": "^4.0.0",
|
|
83
|
-
"tw-animate-css": "^1.3.4",
|
|
84
|
-
"typescript": "^5.0.0",
|
|
85
|
-
"vaul-svelte": "^1.0.0-next.7",
|
|
86
|
-
"vite": "^6.2.6",
|
|
87
|
-
"zod": "^3.25.67"
|
|
46
|
+
"@eslint/compat": "^2.0.2",
|
|
47
|
+
"@eslint/js": "^9.39.2",
|
|
48
|
+
"@sveltejs/adapter-auto": "^7.0.0",
|
|
49
|
+
"@sveltejs/kit": "^2.50.2",
|
|
50
|
+
"@sveltejs/package": "^2.5.7",
|
|
51
|
+
"@sveltejs/vite-plugin-svelte": "^6.2.4",
|
|
52
|
+
"@types/node": "^24",
|
|
53
|
+
"@vitest/browser-playwright": "^4.1.0",
|
|
54
|
+
"eslint": "^9.39.2",
|
|
55
|
+
"eslint-config-prettier": "^10.1.8",
|
|
56
|
+
"eslint-plugin-svelte": "^3.14.0",
|
|
57
|
+
"globals": "^17.3.0",
|
|
58
|
+
"playwright": "^1.58.2",
|
|
59
|
+
"prettier": "^3.8.1",
|
|
60
|
+
"prettier-plugin-svelte": "^3.4.1",
|
|
61
|
+
"publint": "^0.3.17",
|
|
62
|
+
"svelte": "^5.51.0",
|
|
63
|
+
"svelte-check": "^4.4.2",
|
|
64
|
+
"typescript": "^5.9.3",
|
|
65
|
+
"typescript-eslint": "^8.54.0",
|
|
66
|
+
"vite": "^7.3.1",
|
|
67
|
+
"vitest": "^4.1.0",
|
|
68
|
+
"vitest-browser-svelte": "^2.0.2"
|
|
88
69
|
},
|
|
70
|
+
"keywords": [
|
|
71
|
+
"svelte",
|
|
72
|
+
"firebase",
|
|
73
|
+
"library",
|
|
74
|
+
"frontend"
|
|
75
|
+
],
|
|
89
76
|
"dependencies": {
|
|
90
|
-
"firebase": "^
|
|
91
|
-
"mode-watcher": "^1.1.0"
|
|
77
|
+
"firebase": "^12.10.0"
|
|
92
78
|
}
|
|
93
79
|
}
|