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
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { type DatabaseReference, type Database } from 'firebase/database';
|
|
2
|
-
import type { Snippet } from 'svelte';
|
|
3
|
-
type $$ComponentProps = {
|
|
4
|
-
/**
|
|
5
|
-
* Database reference path string (e.g. 'users/123')
|
|
6
|
-
*/
|
|
7
|
-
path: string;
|
|
8
|
-
/**
|
|
9
|
-
* Initial value to use before node is fetched
|
|
10
|
-
*/
|
|
11
|
-
startWith?: any;
|
|
12
|
-
/**
|
|
13
|
-
* Content to render when node is loaded
|
|
14
|
-
*/
|
|
15
|
-
children: Snippet<[any, DatabaseReference, Database]>;
|
|
16
|
-
/**
|
|
17
|
-
* Content to render while loading
|
|
18
|
-
*/
|
|
19
|
-
loading?: Snippet<[]>;
|
|
20
|
-
};
|
|
21
|
-
declare const Node: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
22
|
-
type Node = ReturnType<typeof Node>;
|
|
23
|
-
export default Node;
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { firekitAuth } from '../../services/auth.js';
|
|
3
|
-
import { getContext } from 'svelte';
|
|
4
|
-
import { goto } from '$app/navigation';
|
|
5
|
-
import { onMount, onDestroy } from 'svelte';
|
|
6
|
-
import type { UserProfile } from '../../types/auth.js';
|
|
7
|
-
import type { Auth } from 'firebase/auth';
|
|
8
|
-
import type { Snippet } from 'svelte';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Props for AuthGuard component
|
|
12
|
-
*/
|
|
13
|
-
let {
|
|
14
|
-
children,
|
|
15
|
-
requireAuth = true,
|
|
16
|
-
redirectTo = '/',
|
|
17
|
-
fallback
|
|
18
|
-
}: {
|
|
19
|
-
/**
|
|
20
|
-
* Children content to render when auth state matches requirements
|
|
21
|
-
*/
|
|
22
|
-
children: Snippet<[UserProfile, Auth, () => Promise<void>]>;
|
|
23
|
-
/**
|
|
24
|
-
* Whether authentication is required to view the content
|
|
25
|
-
* @default true
|
|
26
|
-
*/
|
|
27
|
-
requireAuth?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Path to redirect to if auth state doesn't match requirements
|
|
30
|
-
* @default '/'
|
|
31
|
-
*/
|
|
32
|
-
redirectTo?: string;
|
|
33
|
-
/**
|
|
34
|
-
* Fallback content to show while checking auth state
|
|
35
|
-
*/
|
|
36
|
-
fallback?: Snippet<[]>;
|
|
37
|
-
} = $props();
|
|
38
|
-
|
|
39
|
-
// Try to get Firebase Auth from context first, fallback to service
|
|
40
|
-
let auth: Auth | null = $state(null);
|
|
41
|
-
let unsubscribe: (() => void) | null = null;
|
|
42
|
-
let authState = $state(firekitAuth.getState());
|
|
43
|
-
|
|
44
|
-
// Sign out function
|
|
45
|
-
async function signOut() {
|
|
46
|
-
await firekitAuth.signOut();
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
onMount(async () => {
|
|
50
|
-
try {
|
|
51
|
-
// Try to get auth from context first
|
|
52
|
-
auth = getContext<Auth>('firebase/auth');
|
|
53
|
-
|
|
54
|
-
// If context doesn't exist, get from service
|
|
55
|
-
if (!auth) {
|
|
56
|
-
console.warn('Firebase Auth not found in context, using service directly');
|
|
57
|
-
const { firebaseService } = await import('../../firebase.js');
|
|
58
|
-
auth = firebaseService.getAuthInstance();
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
if (!auth) {
|
|
62
|
-
throw new Error('Firebase Auth instance not available');
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Subscribe to auth state changes
|
|
66
|
-
unsubscribe = firekitAuth.onAuthStateChanged((state) => {
|
|
67
|
-
authState = state;
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
// Initial auth check
|
|
71
|
-
checkAuthState();
|
|
72
|
-
} catch (error) {
|
|
73
|
-
console.error('Failed to initialize AuthGuard:', error);
|
|
74
|
-
authState = {
|
|
75
|
-
user: null,
|
|
76
|
-
loading: false,
|
|
77
|
-
initialized: true
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
// Check if current auth state matches requirements
|
|
83
|
-
function checkAuthState() {
|
|
84
|
-
if (authState.loading) return;
|
|
85
|
-
|
|
86
|
-
const isAuthenticated = firekitAuth.isAuthenticated();
|
|
87
|
-
const shouldRedirect = requireAuth ? !isAuthenticated : isAuthenticated;
|
|
88
|
-
|
|
89
|
-
if (shouldRedirect) {
|
|
90
|
-
goto(redirectTo);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// Watch for auth state changes
|
|
95
|
-
$effect(() => {
|
|
96
|
-
checkAuthState();
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
// Cleanup subscription on component destruction
|
|
100
|
-
onDestroy(() => {
|
|
101
|
-
if (unsubscribe) {
|
|
102
|
-
unsubscribe();
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
</script>
|
|
106
|
-
|
|
107
|
-
{#if authState.loading}
|
|
108
|
-
{#if fallback}
|
|
109
|
-
{@render fallback()}
|
|
110
|
-
{:else}
|
|
111
|
-
<div class="flex min-h-screen items-center justify-center">
|
|
112
|
-
<div class="text-center">
|
|
113
|
-
<div class="mx-auto h-8 w-8 animate-spin rounded-full border-b-2 border-gray-900"></div>
|
|
114
|
-
<p class="mt-2 text-gray-600">Loading...</p>
|
|
115
|
-
</div>
|
|
116
|
-
</div>
|
|
117
|
-
{/if}
|
|
118
|
-
{:else if auth && firekitAuth.isAuthenticated() === requireAuth}
|
|
119
|
-
{@render children(authState.user!, auth, signOut)}
|
|
120
|
-
{/if}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { UserProfile } from '../../types/auth.js';
|
|
2
|
-
import type { Auth } from 'firebase/auth';
|
|
3
|
-
import type { Snippet } from 'svelte';
|
|
4
|
-
type $$ComponentProps = {
|
|
5
|
-
/**
|
|
6
|
-
* Children content to render when auth state matches requirements
|
|
7
|
-
*/
|
|
8
|
-
children: Snippet<[UserProfile, Auth, () => Promise<void>]>;
|
|
9
|
-
/**
|
|
10
|
-
* Whether authentication is required to view the content
|
|
11
|
-
* @default true
|
|
12
|
-
*/
|
|
13
|
-
requireAuth?: boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Path to redirect to if auth state doesn't match requirements
|
|
16
|
-
* @default '/'
|
|
17
|
-
*/
|
|
18
|
-
redirectTo?: string;
|
|
19
|
-
/**
|
|
20
|
-
* Fallback content to show while checking auth state
|
|
21
|
-
*/
|
|
22
|
-
fallback?: Snippet<[]>;
|
|
23
|
-
};
|
|
24
|
-
declare const AuthGuard: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
25
|
-
type AuthGuard = ReturnType<typeof AuthGuard>;
|
|
26
|
-
export default AuthGuard;
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { firekitAuth } from '../../services/auth.js';
|
|
3
|
-
import { getContext } from 'svelte';
|
|
4
|
-
import { goto } from '$app/navigation';
|
|
5
|
-
import { onMount, onDestroy } from 'svelte';
|
|
6
|
-
import type { UserProfile } from '../../types/auth.js';
|
|
7
|
-
import type { Auth } from 'firebase/auth';
|
|
8
|
-
import type { Snippet } from 'svelte';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Props for CustomGuard component
|
|
12
|
-
*/
|
|
13
|
-
let {
|
|
14
|
-
children,
|
|
15
|
-
requireAuth = true,
|
|
16
|
-
redirectTo = '/',
|
|
17
|
-
fallback,
|
|
18
|
-
verificationChecks = []
|
|
19
|
-
}: {
|
|
20
|
-
/**
|
|
21
|
-
* Children content to render when all checks pass
|
|
22
|
-
*/
|
|
23
|
-
children: Snippet<[UserProfile, Auth, () => Promise<void>]>;
|
|
24
|
-
/**
|
|
25
|
-
* Whether authentication is required to view the content
|
|
26
|
-
* @default true
|
|
27
|
-
*/
|
|
28
|
-
requireAuth?: boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Path to redirect to if checks fail
|
|
31
|
-
* @default '/'
|
|
32
|
-
*/
|
|
33
|
-
redirectTo?: string;
|
|
34
|
-
/**
|
|
35
|
-
* Fallback content to show while checking auth state
|
|
36
|
-
*/
|
|
37
|
-
fallback?: Snippet<[]>;
|
|
38
|
-
/**
|
|
39
|
-
* Array of verification functions that must return true to allow access
|
|
40
|
-
* Each function receives the user profile and auth instance
|
|
41
|
-
*/
|
|
42
|
-
verificationChecks?: ((user: UserProfile, auth: Auth) => boolean | Promise<boolean>)[];
|
|
43
|
-
} = $props();
|
|
44
|
-
|
|
45
|
-
// Try to get Firebase Auth from context first, fallback to service
|
|
46
|
-
let auth: Auth | null = $state(null);
|
|
47
|
-
let unsubscribe: (() => void) | null = null;
|
|
48
|
-
let authState = $state(firekitAuth.getState());
|
|
49
|
-
let verificationPassed = $state(true);
|
|
50
|
-
let isVerifying = $state(false);
|
|
51
|
-
|
|
52
|
-
// Sign out function
|
|
53
|
-
async function signOut() {
|
|
54
|
-
await firekitAuth.signOut();
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// Check verification functions
|
|
58
|
-
async function runVerificationChecks(): Promise<boolean> {
|
|
59
|
-
if (!auth || !authState.user || verificationChecks.length === 0) {
|
|
60
|
-
return true;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
try {
|
|
64
|
-
const results = await Promise.all(
|
|
65
|
-
verificationChecks.map((check) => check(authState.user!, auth!))
|
|
66
|
-
);
|
|
67
|
-
return results.every((result) => result === true);
|
|
68
|
-
} catch (error) {
|
|
69
|
-
console.error('Verification check failed:', error);
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// Check if current auth state and verification checks pass
|
|
75
|
-
async function checkAccess() {
|
|
76
|
-
if (authState.loading) return;
|
|
77
|
-
|
|
78
|
-
const isAuthenticated = firekitAuth.isAuthenticated();
|
|
79
|
-
const shouldRedirect = requireAuth ? !isAuthenticated : isAuthenticated;
|
|
80
|
-
|
|
81
|
-
if (shouldRedirect) {
|
|
82
|
-
goto(redirectTo);
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// If authenticated and verification checks exist, run them
|
|
87
|
-
if (isAuthenticated && verificationChecks.length > 0) {
|
|
88
|
-
isVerifying = true;
|
|
89
|
-
try {
|
|
90
|
-
verificationPassed = await runVerificationChecks();
|
|
91
|
-
if (!verificationPassed) {
|
|
92
|
-
goto(redirectTo);
|
|
93
|
-
}
|
|
94
|
-
} finally {
|
|
95
|
-
isVerifying = false;
|
|
96
|
-
}
|
|
97
|
-
} else {
|
|
98
|
-
verificationPassed = true;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
onMount(async () => {
|
|
103
|
-
try {
|
|
104
|
-
// Try to get auth from context first
|
|
105
|
-
auth = getContext<Auth>('firebase/auth');
|
|
106
|
-
|
|
107
|
-
// If context doesn't exist, get from service
|
|
108
|
-
if (!auth) {
|
|
109
|
-
console.warn('Firebase Auth not found in context, using service directly');
|
|
110
|
-
const { firebaseService } = await import('../../firebase.js');
|
|
111
|
-
auth = firebaseService.getAuthInstance();
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
if (!auth) {
|
|
115
|
-
throw new Error('Firebase Auth instance not available');
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// Subscribe to auth state changes
|
|
119
|
-
unsubscribe = firekitAuth.onAuthStateChanged((state) => {
|
|
120
|
-
authState = state;
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
// Initial access check
|
|
124
|
-
await checkAccess();
|
|
125
|
-
} catch (error) {
|
|
126
|
-
console.error('Failed to initialize CustomGuard:', error);
|
|
127
|
-
authState = {
|
|
128
|
-
user: null,
|
|
129
|
-
loading: false,
|
|
130
|
-
initialized: true
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
// Watch for auth state changes
|
|
136
|
-
$effect(() => {
|
|
137
|
-
checkAccess();
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
// Cleanup subscription on component destruction
|
|
141
|
-
onDestroy(() => {
|
|
142
|
-
if (unsubscribe) {
|
|
143
|
-
unsubscribe();
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
</script>
|
|
147
|
-
|
|
148
|
-
{#if authState.loading || isVerifying}
|
|
149
|
-
{#if fallback}
|
|
150
|
-
{@render fallback()}
|
|
151
|
-
{:else}
|
|
152
|
-
<div class="flex min-h-screen items-center justify-center">
|
|
153
|
-
<div class="text-center">
|
|
154
|
-
<div class="mx-auto h-8 w-8 animate-spin rounded-full border-b-2 border-gray-900"></div>
|
|
155
|
-
<p class="mt-2 text-gray-600">
|
|
156
|
-
{isVerifying ? 'Verifying access...' : 'Loading...'}
|
|
157
|
-
</p>
|
|
158
|
-
</div>
|
|
159
|
-
</div>
|
|
160
|
-
{/if}
|
|
161
|
-
{:else if auth && firekitAuth.isAuthenticated() === requireAuth && verificationPassed}
|
|
162
|
-
{@render children(authState.user!, auth, signOut)}
|
|
163
|
-
{/if}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { UserProfile } from '../../types/auth.js';
|
|
2
|
-
import type { Auth } from 'firebase/auth';
|
|
3
|
-
import type { Snippet } from 'svelte';
|
|
4
|
-
type $$ComponentProps = {
|
|
5
|
-
/**
|
|
6
|
-
* Children content to render when all checks pass
|
|
7
|
-
*/
|
|
8
|
-
children: Snippet<[UserProfile, Auth, () => Promise<void>]>;
|
|
9
|
-
/**
|
|
10
|
-
* Whether authentication is required to view the content
|
|
11
|
-
* @default true
|
|
12
|
-
*/
|
|
13
|
-
requireAuth?: boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Path to redirect to if checks fail
|
|
16
|
-
* @default '/'
|
|
17
|
-
*/
|
|
18
|
-
redirectTo?: string;
|
|
19
|
-
/**
|
|
20
|
-
* Fallback content to show while checking auth state
|
|
21
|
-
*/
|
|
22
|
-
fallback?: Snippet<[]>;
|
|
23
|
-
/**
|
|
24
|
-
* Array of verification functions that must return true to allow access
|
|
25
|
-
* Each function receives the user profile and auth instance
|
|
26
|
-
*/
|
|
27
|
-
verificationChecks?: ((user: UserProfile, auth: Auth) => boolean | Promise<boolean>)[];
|
|
28
|
-
};
|
|
29
|
-
declare const CustomGuard: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
30
|
-
type CustomGuard = ReturnType<typeof CustomGuard>;
|
|
31
|
-
export default CustomGuard;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { ref, type StorageReference } from 'firebase/storage';
|
|
3
|
-
import { firebaseService } from '../../firebase.js';
|
|
4
|
-
import { firekitDownloadUrl } from '../../services/storage.svelte.js';
|
|
5
|
-
import { browser } from '$app/environment';
|
|
6
|
-
import type { Snippet } from 'svelte';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Props for DownloadURL component
|
|
10
|
-
*/
|
|
11
|
-
let {
|
|
12
|
-
ref: path,
|
|
13
|
-
children,
|
|
14
|
-
loading
|
|
15
|
-
}: {
|
|
16
|
-
/**
|
|
17
|
-
* Storage reference path string (e.g. 'images/pic.png')
|
|
18
|
-
*/
|
|
19
|
-
ref: string;
|
|
20
|
-
/**
|
|
21
|
-
* Content to render when URL is loaded
|
|
22
|
-
*/
|
|
23
|
-
children: Snippet<[string, StorageReference, any]>;
|
|
24
|
-
/**
|
|
25
|
-
* Content to render while loading
|
|
26
|
-
*/
|
|
27
|
-
loading?: Snippet<[]>;
|
|
28
|
-
} = $props();
|
|
29
|
-
|
|
30
|
-
// Get Storage instance and create references
|
|
31
|
-
let storage: any = $state(null);
|
|
32
|
-
let storageRef: StorageReference | null = $state(null);
|
|
33
|
-
let downloadUrlService: ReturnType<typeof firekitDownloadUrl> | null = $state(null);
|
|
34
|
-
|
|
35
|
-
// Track URL state
|
|
36
|
-
let urlState = $state({
|
|
37
|
-
loading: true,
|
|
38
|
-
url: null as string | null,
|
|
39
|
-
error: null as Error | null
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
// Subscribe to URL changes
|
|
43
|
-
$effect(() => {
|
|
44
|
-
if (!browser) {
|
|
45
|
-
urlState = {
|
|
46
|
-
loading: false,
|
|
47
|
-
url: null,
|
|
48
|
-
error: new Error('Storage not available in SSR')
|
|
49
|
-
};
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Initialize storage and service
|
|
54
|
-
storage = firebaseService.getStorageInstance();
|
|
55
|
-
if (!storage) {
|
|
56
|
-
urlState = {
|
|
57
|
-
loading: false,
|
|
58
|
-
url: null,
|
|
59
|
-
error: new Error('Storage instance not available')
|
|
60
|
-
};
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// Create storage reference
|
|
65
|
-
storageRef = ref(storage, path);
|
|
66
|
-
|
|
67
|
-
// Create download URL service
|
|
68
|
-
downloadUrlService = firekitDownloadUrl(path);
|
|
69
|
-
|
|
70
|
-
// The service state is reactive, so we can directly access it
|
|
71
|
-
// The effect will re-run when the service state changes
|
|
72
|
-
urlState = {
|
|
73
|
-
loading: downloadUrlService.loading,
|
|
74
|
-
url: downloadUrlService.url,
|
|
75
|
-
error: downloadUrlService.error
|
|
76
|
-
};
|
|
77
|
-
});
|
|
78
|
-
</script>
|
|
79
|
-
|
|
80
|
-
{#if !browser}
|
|
81
|
-
<div>Storage not available in SSR</div>
|
|
82
|
-
{:else if urlState.loading}
|
|
83
|
-
{#if loading}
|
|
84
|
-
{@render loading()}
|
|
85
|
-
{:else}
|
|
86
|
-
<div>Loading...</div>
|
|
87
|
-
{/if}
|
|
88
|
-
{:else if urlState.error}
|
|
89
|
-
<div class="error">Error: {urlState.error.message}</div>
|
|
90
|
-
{:else if urlState.url}
|
|
91
|
-
{@render children(urlState.url, storageRef!, storage)}
|
|
92
|
-
{/if}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { type StorageReference } from 'firebase/storage';
|
|
2
|
-
import type { Snippet } from 'svelte';
|
|
3
|
-
type $$ComponentProps = {
|
|
4
|
-
/**
|
|
5
|
-
* Storage reference path string (e.g. 'images/pic.png')
|
|
6
|
-
*/
|
|
7
|
-
ref: string;
|
|
8
|
-
/**
|
|
9
|
-
* Content to render when URL is loaded
|
|
10
|
-
*/
|
|
11
|
-
children: Snippet<[string, StorageReference, any]>;
|
|
12
|
-
/**
|
|
13
|
-
* Content to render while loading
|
|
14
|
-
*/
|
|
15
|
-
loading?: Snippet<[]>;
|
|
16
|
-
};
|
|
17
|
-
declare const DownloadUrl: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
18
|
-
type DownloadUrl = ReturnType<typeof DownloadUrl>;
|
|
19
|
-
export default DownloadUrl;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { setContext } from 'svelte';
|
|
3
|
-
import type { Snippet } from 'svelte';
|
|
4
|
-
import { browser } from '$app/environment';
|
|
5
|
-
import { firebaseService } from '../../firebase.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Props for FirebaseApp component
|
|
9
|
-
*/
|
|
10
|
-
let { children }: { children: Snippet } = $props();
|
|
11
|
-
|
|
12
|
-
// Only initialize Firebase in the browser
|
|
13
|
-
if (browser) {
|
|
14
|
-
// Get Firebase app instance from service
|
|
15
|
-
const app = firebaseService.getFirebaseApp();
|
|
16
|
-
const auth = firebaseService.getAuthInstance();
|
|
17
|
-
const firestore = firebaseService.getDbInstance();
|
|
18
|
-
const storage = firebaseService.getStorageInstance();
|
|
19
|
-
const rtdb = firebaseService.getDatabaseInstance();
|
|
20
|
-
const analytics = firebaseService.getAnalyticsInstance();
|
|
21
|
-
const functions = firebaseService.getFunctionsInstance();
|
|
22
|
-
// Set Firebase instances in context
|
|
23
|
-
setContext('firebase/app', app);
|
|
24
|
-
setContext('firebase/auth', auth);
|
|
25
|
-
setContext('firebase/firestore', firestore);
|
|
26
|
-
setContext('firebase/storage', storage);
|
|
27
|
-
setContext('firebase/rtdb', rtdb);
|
|
28
|
-
setContext('firebase/analytics', analytics);
|
|
29
|
-
setContext('firebase/functions', functions);
|
|
30
|
-
}
|
|
31
|
-
</script>
|
|
32
|
-
|
|
33
|
-
{@render children()}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { ref, type DatabaseReference, type Database } from 'firebase/database';
|
|
3
|
-
import { firebaseService } from '../../firebase.js';
|
|
4
|
-
import { firekitRealtimeList } from '../../services/realtime.svelte.js';
|
|
5
|
-
import { browser } from '$app/environment';
|
|
6
|
-
import type { Snippet } from 'svelte';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Props for NodeList component
|
|
10
|
-
*/
|
|
11
|
-
let {
|
|
12
|
-
path,
|
|
13
|
-
startWith,
|
|
14
|
-
children,
|
|
15
|
-
loading,
|
|
16
|
-
queryConstraints
|
|
17
|
-
}: {
|
|
18
|
-
/**
|
|
19
|
-
* Database reference path string (e.g. 'users')
|
|
20
|
-
*/
|
|
21
|
-
path: string;
|
|
22
|
-
/**
|
|
23
|
-
* Initial value to use before list is fetched
|
|
24
|
-
*/
|
|
25
|
-
startWith?: any[];
|
|
26
|
-
/**
|
|
27
|
-
* Content to render when list is loaded
|
|
28
|
-
*/
|
|
29
|
-
children: Snippet<[any[], DatabaseReference, Database]>;
|
|
30
|
-
/**
|
|
31
|
-
* Content to render while loading
|
|
32
|
-
*/
|
|
33
|
-
loading?: Snippet<[]>;
|
|
34
|
-
/**
|
|
35
|
-
* Query constraints for the list
|
|
36
|
-
*/
|
|
37
|
-
queryConstraints?: any[];
|
|
38
|
-
} = $props();
|
|
39
|
-
|
|
40
|
-
// Get Database instance and create references
|
|
41
|
-
let database: Database | null = $state(null);
|
|
42
|
-
let listRef: DatabaseReference | null = $state(null);
|
|
43
|
-
let listService: ReturnType<typeof firekitRealtimeList> | null = $state(null);
|
|
44
|
-
|
|
45
|
-
// Track list state
|
|
46
|
-
let listState = $state({
|
|
47
|
-
loading: true,
|
|
48
|
-
data: startWith ?? [],
|
|
49
|
-
error: null as Error | null
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
// Subscribe to list changes
|
|
53
|
-
$effect(() => {
|
|
54
|
-
if (!browser) {
|
|
55
|
-
listState = {
|
|
56
|
-
loading: false,
|
|
57
|
-
data: startWith ?? [],
|
|
58
|
-
error: new Error('Realtime Database not available in SSR')
|
|
59
|
-
};
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// Initialize database and service
|
|
64
|
-
database = firebaseService.getDatabaseInstance();
|
|
65
|
-
if (!database) {
|
|
66
|
-
listState = {
|
|
67
|
-
loading: false,
|
|
68
|
-
data: [],
|
|
69
|
-
error: new Error('Realtime Database instance not available')
|
|
70
|
-
};
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// Create database reference
|
|
75
|
-
listRef = ref(database, path);
|
|
76
|
-
|
|
77
|
-
// Create list service
|
|
78
|
-
listService = firekitRealtimeList(path, startWith);
|
|
79
|
-
|
|
80
|
-
// The service state is reactive, so we can directly access it
|
|
81
|
-
// The effect will re-run when the service state changes
|
|
82
|
-
listState = {
|
|
83
|
-
loading: listService.loading,
|
|
84
|
-
data: listService.list, // Use the processed list with IDs
|
|
85
|
-
error: listService.error
|
|
86
|
-
};
|
|
87
|
-
});
|
|
88
|
-
</script>
|
|
89
|
-
|
|
90
|
-
{#if !browser}
|
|
91
|
-
{@render children(startWith ?? [], null as any, null as any)}
|
|
92
|
-
{:else if listState.loading}
|
|
93
|
-
{#if loading}
|
|
94
|
-
{@render loading()}
|
|
95
|
-
{:else}
|
|
96
|
-
<div>Loading...</div>
|
|
97
|
-
{/if}
|
|
98
|
-
{:else if listState.error}
|
|
99
|
-
<div class="error">Error: {listState.error.message}</div>
|
|
100
|
-
{:else}
|
|
101
|
-
{@render children(listState.data, listRef!, database!)}
|
|
102
|
-
{/if}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { type DatabaseReference, type Database } from 'firebase/database';
|
|
2
|
-
import type { Snippet } from 'svelte';
|
|
3
|
-
type $$ComponentProps = {
|
|
4
|
-
/**
|
|
5
|
-
* Database reference path string (e.g. 'users')
|
|
6
|
-
*/
|
|
7
|
-
path: string;
|
|
8
|
-
/**
|
|
9
|
-
* Initial value to use before list is fetched
|
|
10
|
-
*/
|
|
11
|
-
startWith?: any[];
|
|
12
|
-
/**
|
|
13
|
-
* Content to render when list is loaded
|
|
14
|
-
*/
|
|
15
|
-
children: Snippet<[any[], DatabaseReference, Database]>;
|
|
16
|
-
/**
|
|
17
|
-
* Content to render while loading
|
|
18
|
-
*/
|
|
19
|
-
loading?: Snippet<[]>;
|
|
20
|
-
/**
|
|
21
|
-
* Query constraints for the list
|
|
22
|
-
*/
|
|
23
|
-
queryConstraints?: any[];
|
|
24
|
-
};
|
|
25
|
-
declare const NodeList: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
26
|
-
type NodeList = ReturnType<typeof NodeList>;
|
|
27
|
-
export default NodeList;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { firekitAuth } from '../../services/auth.js';
|
|
3
|
-
import { firebaseService } from '../../firebase.js';
|
|
4
|
-
import { onDestroy } from 'svelte';
|
|
5
|
-
import type { UserProfile } from '../../types/auth.js';
|
|
6
|
-
import type { Snippet } from 'svelte';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Props for SignedIn component
|
|
10
|
-
*/
|
|
11
|
-
let {
|
|
12
|
-
children
|
|
13
|
-
}: {
|
|
14
|
-
/**
|
|
15
|
-
* Children content to render when user is signed in
|
|
16
|
-
*/
|
|
17
|
-
children: Snippet<[UserProfile]>;
|
|
18
|
-
} = $props();
|
|
19
|
-
|
|
20
|
-
// Get Firebase Auth instance
|
|
21
|
-
const auth = firebaseService.getAuthInstance();
|
|
22
|
-
if (!auth) {
|
|
23
|
-
throw new Error('Firebase Auth instance not available');
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// Reactive auth state
|
|
27
|
-
let authState = $state(firekitAuth.getState());
|
|
28
|
-
|
|
29
|
-
// Subscribe to auth state changes
|
|
30
|
-
const unsubscribe = firekitAuth.onAuthStateChanged((state) => {
|
|
31
|
-
authState = state;
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
// Cleanup subscription on component destruction
|
|
35
|
-
onDestroy(() => {
|
|
36
|
-
unsubscribe();
|
|
37
|
-
});
|
|
38
|
-
</script>
|
|
39
|
-
|
|
40
|
-
{#if firekitAuth.isAuthenticated() && authState.user}
|
|
41
|
-
{@render children(authState.user)}
|
|
42
|
-
{/if}
|