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,19 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { onMount } from 'svelte';
|
|
3
|
-
import { TableOfContents } from './toc.svelte.js';
|
|
4
|
-
|
|
5
|
-
let contentRef: HTMLElement | undefined = $state();
|
|
6
|
-
let { data }: { data: any } = $props();
|
|
7
|
-
|
|
8
|
-
let toc = $state(TableOfContents.getInstance());
|
|
9
|
-
|
|
10
|
-
onMount(() => {
|
|
11
|
-
if (contentRef) {
|
|
12
|
-
toc.updateContentRef(contentRef);
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
</script>
|
|
16
|
-
|
|
17
|
-
<div class="prose prose-slate dark:prose-invert mx-auto max-w-4xl" bind:this={contentRef}>
|
|
18
|
-
<data.doc />
|
|
19
|
-
</div>
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import { page } from '$app/state';
|
|
3
|
-
|
|
4
|
-
let { title, description } = $props();
|
|
5
|
-
</script>
|
|
6
|
-
|
|
7
|
-
<header class="mb-4 border-b border-gray-200 pb-2 dark:border-neutral-700 sm:mb-4 sm:pb-6">
|
|
8
|
-
{#if page.params.slug}
|
|
9
|
-
<p class="mb-2 text-sm font-semibold capitalize text-primary">
|
|
10
|
-
{page.params.slug
|
|
11
|
-
.replace(/-/g, ' ')
|
|
12
|
-
.replace(/\b\w/g, (char) => char.toUpperCase())
|
|
13
|
-
.replace('/', ': ')}
|
|
14
|
-
</p>
|
|
15
|
-
{:else}
|
|
16
|
-
<p class="mb-2 text-sm font-semibold capitalize text-primary">Docs</p>
|
|
17
|
-
{/if}
|
|
18
|
-
<h1 class="mb-2 block text-2xl font-bold sm:text-3xl">
|
|
19
|
-
{title}
|
|
20
|
-
</h1>
|
|
21
|
-
<p class="mt-2 text-gray-800 dark:text-neutral-400 sm:text-lg">
|
|
22
|
-
{description}
|
|
23
|
-
</p>
|
|
24
|
-
</header>
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export default DocHeader;
|
|
2
|
-
type DocHeader = {
|
|
3
|
-
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
|
-
$set?(props: Partial<$$ComponentProps>): void;
|
|
5
|
-
};
|
|
6
|
-
declare const DocHeader: import("svelte").Component<{
|
|
7
|
-
title: any;
|
|
8
|
-
description: any;
|
|
9
|
-
}, {}, "">;
|
|
10
|
-
type $$ComponentProps = {
|
|
11
|
-
title: any;
|
|
12
|
-
description: any;
|
|
13
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import Separator from '../ui/separator/separator.svelte';
|
|
3
|
-
import DocContent from './doc-content.svelte';
|
|
4
|
-
import DocHeader from './doc-header.svelte';
|
|
5
|
-
import TableOfContents from './table-of-contents.svelte';
|
|
6
|
-
import MobileTableOfContents from './mobile-table-of-contents.svelte';
|
|
7
|
-
|
|
8
|
-
let { title, description, data }: { title: string; description: string; data: any } = $props();
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
<div class="flex flex-col gap-6 sm:flex-row sm:justify-between">
|
|
12
|
-
<div>
|
|
13
|
-
<DocHeader {title} {description} />
|
|
14
|
-
<DocContent {data} />
|
|
15
|
-
</div>
|
|
16
|
-
<div>
|
|
17
|
-
<div class="sticky top-4 flex w-72 flex-col gap-4">
|
|
18
|
-
<div class="hidden sm:block">
|
|
19
|
-
<TableOfContents />
|
|
20
|
-
<Separator />
|
|
21
|
-
</div>
|
|
22
|
-
<div class="block sm:hidden">
|
|
23
|
-
<MobileTableOfContents />
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import * as Dialog from '../ui/dialog/index.js';
|
|
3
|
-
import { TableOfContents } from './toc.svelte.js';
|
|
4
|
-
import Button, { buttonVariants } from '../ui/button/button.svelte';
|
|
5
|
-
import { IconAlignLeft, IconChevronRight } from '@tabler/icons-svelte';
|
|
6
|
-
import { ScrollArea } from '../ui/scroll-area/index.js';
|
|
7
|
-
|
|
8
|
-
let toc = $state(TableOfContents.getInstance());
|
|
9
|
-
let opened = $state(false);
|
|
10
|
-
</script>
|
|
11
|
-
|
|
12
|
-
<Dialog.Root bind:open={opened}>
|
|
13
|
-
<Dialog.Trigger class="fixed right-2 bottom-2 {buttonVariants({ variant: 'default' })}">
|
|
14
|
-
<IconAlignLeft />
|
|
15
|
-
On This Page
|
|
16
|
-
</Dialog.Trigger>
|
|
17
|
-
<Dialog.Content>
|
|
18
|
-
<Dialog.Header>
|
|
19
|
-
<Dialog.Title>On this page</Dialog.Title>
|
|
20
|
-
</Dialog.Header>
|
|
21
|
-
<ScrollArea class="h-80">
|
|
22
|
-
<ul>
|
|
23
|
-
{#each toc.headings as heading}
|
|
24
|
-
<li>
|
|
25
|
-
<Button
|
|
26
|
-
variant="link"
|
|
27
|
-
href="#{heading.id}"
|
|
28
|
-
style="margin-left: {(heading.level - 1) * 1}rem"
|
|
29
|
-
class="font-base text-sm text-gray-800 dark:text-neutral-300"
|
|
30
|
-
onclick={() => (opened = false)}
|
|
31
|
-
>
|
|
32
|
-
{#if heading.level > 1}
|
|
33
|
-
<IconChevronRight class="mt-[5px] size-3.5 shrink-0" />
|
|
34
|
-
{/if}
|
|
35
|
-
{heading.text}
|
|
36
|
-
</Button>
|
|
37
|
-
</li>
|
|
38
|
-
{/each}
|
|
39
|
-
</ul>
|
|
40
|
-
</ScrollArea>
|
|
41
|
-
</Dialog.Content>
|
|
42
|
-
</Dialog.Root>
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import Button from '../ui/button/button.svelte';
|
|
3
|
-
import { TableOfContents } from './toc.svelte.js';
|
|
4
|
-
|
|
5
|
-
import { IconChevronRight } from '@tabler/icons-svelte';
|
|
6
|
-
let toc = $state(TableOfContents.getInstance());
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<div>
|
|
10
|
-
<h5
|
|
11
|
-
id="docs-on-this-page-sidebar-label"
|
|
12
|
-
class="mb-3 text-sm font-semibold text-gray-800 dark:text-neutral-300"
|
|
13
|
-
>
|
|
14
|
-
On this page
|
|
15
|
-
</h5>
|
|
16
|
-
<ul>
|
|
17
|
-
{#each toc.headings as heading}
|
|
18
|
-
<li>
|
|
19
|
-
<Button
|
|
20
|
-
variant="link"
|
|
21
|
-
href="#{heading.id}"
|
|
22
|
-
style="margin-left: {(heading.level - 1) * 1}rem"
|
|
23
|
-
class="font-base text-sm text-gray-800 dark:text-neutral-300"
|
|
24
|
-
>
|
|
25
|
-
{#if heading.level > 1}
|
|
26
|
-
<IconChevronRight class="mt-[5px] size-3.5 shrink-0" />
|
|
27
|
-
{/if}
|
|
28
|
-
{heading.text}
|
|
29
|
-
</Button>
|
|
30
|
-
</li>
|
|
31
|
-
{/each}
|
|
32
|
-
</ul>
|
|
33
|
-
</div>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export declare class TableOfContents {
|
|
2
|
-
contentRef: HTMLElement | undefined;
|
|
3
|
-
headings: Array<{
|
|
4
|
-
id: string;
|
|
5
|
-
text: string;
|
|
6
|
-
level: number;
|
|
7
|
-
}>;
|
|
8
|
-
private observer;
|
|
9
|
-
private static instance;
|
|
10
|
-
private constructor();
|
|
11
|
-
static getInstance(contentRef?: HTMLElement): TableOfContents;
|
|
12
|
-
updateContentRef(newRef: HTMLElement | undefined): void;
|
|
13
|
-
private extractHeadings;
|
|
14
|
-
private initializeObserver;
|
|
15
|
-
destroy(): void;
|
|
16
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
export class TableOfContents {
|
|
2
|
-
contentRef;
|
|
3
|
-
headings = $state([]);
|
|
4
|
-
observer = null;
|
|
5
|
-
static instance;
|
|
6
|
-
constructor(contentRef) {
|
|
7
|
-
this.contentRef = contentRef;
|
|
8
|
-
if (contentRef) {
|
|
9
|
-
this.initializeObserver();
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
static getInstance(contentRef) {
|
|
13
|
-
if (!TableOfContents.instance) {
|
|
14
|
-
TableOfContents.instance = new TableOfContents(contentRef);
|
|
15
|
-
}
|
|
16
|
-
else if (contentRef) {
|
|
17
|
-
TableOfContents.instance.updateContentRef(contentRef);
|
|
18
|
-
}
|
|
19
|
-
return TableOfContents.instance;
|
|
20
|
-
}
|
|
21
|
-
updateContentRef(newRef) {
|
|
22
|
-
this.observer?.disconnect();
|
|
23
|
-
this.contentRef = newRef;
|
|
24
|
-
if (newRef) {
|
|
25
|
-
this.initializeObserver();
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
this.headings = [];
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
extractHeadings() {
|
|
32
|
-
if (!this.contentRef)
|
|
33
|
-
return;
|
|
34
|
-
const headingElements = this.contentRef.querySelectorAll('h1, h2, h3, h4, h5, h6');
|
|
35
|
-
this.headings = Array.from(headingElements)
|
|
36
|
-
.map((heading) => {
|
|
37
|
-
const level = parseInt(heading.tagName.charAt(1));
|
|
38
|
-
const text = heading.textContent || '';
|
|
39
|
-
const id = heading.id || text.toLowerCase().replace(/[^a-z0-9]+/g, '-');
|
|
40
|
-
if (!heading.id)
|
|
41
|
-
heading.id = id;
|
|
42
|
-
return { id, text, level };
|
|
43
|
-
})
|
|
44
|
-
.filter((heading) => heading.text !== null && heading.text !== '');
|
|
45
|
-
}
|
|
46
|
-
initializeObserver() {
|
|
47
|
-
this.extractHeadings();
|
|
48
|
-
this.observer = new MutationObserver(() => this.extractHeadings());
|
|
49
|
-
if (!this.contentRef)
|
|
50
|
-
return;
|
|
51
|
-
this.observer.observe(this.contentRef, {
|
|
52
|
-
childList: true,
|
|
53
|
-
subtree: true
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
destroy() {
|
|
57
|
-
this.observer?.disconnect();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { firekitCollection } from '../../services/collection.svelte.js';
|
|
3
|
-
import { firebaseService } from '../../firebase.js';
|
|
4
|
-
import { collection } from 'firebase/firestore';
|
|
5
|
-
import { browser } from '$app/environment';
|
|
6
|
-
import type {
|
|
7
|
-
CollectionReference,
|
|
8
|
-
Query,
|
|
9
|
-
DocumentData,
|
|
10
|
-
Firestore,
|
|
11
|
-
QueryConstraint
|
|
12
|
-
} from 'firebase/firestore';
|
|
13
|
-
import type { Snippet } from 'svelte';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Props for Collection component
|
|
17
|
-
*/
|
|
18
|
-
let {
|
|
19
|
-
ref,
|
|
20
|
-
startWith,
|
|
21
|
-
children,
|
|
22
|
-
loading,
|
|
23
|
-
queryConstraints = []
|
|
24
|
-
}: {
|
|
25
|
-
/**
|
|
26
|
-
* Firestore collection reference, query reference, or path string
|
|
27
|
-
*/
|
|
28
|
-
ref: CollectionReference | Query | string;
|
|
29
|
-
/**
|
|
30
|
-
* Initial value to use before collection is fetched
|
|
31
|
-
*/
|
|
32
|
-
startWith?: DocumentData[];
|
|
33
|
-
/**
|
|
34
|
-
* Content to render when collection is loaded
|
|
35
|
-
*/
|
|
36
|
-
children: Snippet<[DocumentData[], CollectionReference | Query, Firestore, number]>;
|
|
37
|
-
/**
|
|
38
|
-
* Content to render while loading
|
|
39
|
-
*/
|
|
40
|
-
loading?: Snippet<[]>;
|
|
41
|
-
/**
|
|
42
|
-
* Optional query constraints to apply to the collection
|
|
43
|
-
*/
|
|
44
|
-
queryConstraints?: QueryConstraint[];
|
|
45
|
-
} = $props();
|
|
46
|
-
|
|
47
|
-
// Get Firestore instance only in browser environment
|
|
48
|
-
let firestore = $derived(browser ? firebaseService.getDbInstance() : null);
|
|
49
|
-
|
|
50
|
-
// Create collection reference if path string is provided
|
|
51
|
-
let collectionRef = $derived(
|
|
52
|
-
firestore && typeof ref === 'string'
|
|
53
|
-
? collection(firestore, ref)
|
|
54
|
-
: (ref as CollectionReference | Query)
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
// Create collection service with derived path
|
|
58
|
-
let collectionPath = $derived(typeof ref === 'string' ? ref : (ref as CollectionReference).path);
|
|
59
|
-
let collectionService = $state<ReturnType<typeof firekitCollection> | null>(null);
|
|
60
|
-
|
|
61
|
-
// Track collection state using derived computations
|
|
62
|
-
let collectionState = $derived({
|
|
63
|
-
loading: !browser
|
|
64
|
-
? false
|
|
65
|
-
: !firestore
|
|
66
|
-
? false
|
|
67
|
-
: !collectionService
|
|
68
|
-
? true
|
|
69
|
-
: collectionService.loading,
|
|
70
|
-
data: !browser
|
|
71
|
-
? (startWith ?? [])
|
|
72
|
-
: !firestore
|
|
73
|
-
? []
|
|
74
|
-
: !collectionService
|
|
75
|
-
? (startWith ?? [])
|
|
76
|
-
: collectionService.data,
|
|
77
|
-
error: !browser
|
|
78
|
-
? null
|
|
79
|
-
: !firestore
|
|
80
|
-
? new Error('Firestore instance not available')
|
|
81
|
-
: !collectionService
|
|
82
|
-
? null
|
|
83
|
-
: collectionService.error,
|
|
84
|
-
count: !browser
|
|
85
|
-
? (startWith?.length ?? 0)
|
|
86
|
-
: !firestore
|
|
87
|
-
? 0
|
|
88
|
-
: !collectionService
|
|
89
|
-
? (startWith?.length ?? 0)
|
|
90
|
-
: collectionService.size
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
// Set up collection service
|
|
94
|
-
$effect(() => {
|
|
95
|
-
if (!browser || !collectionPath) {
|
|
96
|
-
collectionService = null;
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// Create new service when path or constraints change
|
|
101
|
-
const newService = firekitCollection(collectionPath, queryConstraints);
|
|
102
|
-
collectionService = newService;
|
|
103
|
-
|
|
104
|
-
return () => {
|
|
105
|
-
newService?.dispose();
|
|
106
|
-
};
|
|
107
|
-
});
|
|
108
|
-
</script>
|
|
109
|
-
|
|
110
|
-
{#if !browser}
|
|
111
|
-
{@render children(startWith ?? [], null as any, null as any, startWith?.length ?? 0)}
|
|
112
|
-
{:else if collectionState.loading}
|
|
113
|
-
{#if loading}
|
|
114
|
-
{@render loading()}
|
|
115
|
-
{:else}
|
|
116
|
-
<div>Loading...</div>
|
|
117
|
-
{/if}
|
|
118
|
-
{:else if collectionState.error}
|
|
119
|
-
<div class="error">Error: {collectionState.error.message}</div>
|
|
120
|
-
{:else}
|
|
121
|
-
{@render children(collectionState.data, collectionRef!, firestore!, collectionState.count)}
|
|
122
|
-
{/if}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { CollectionReference, Query, DocumentData, Firestore, QueryConstraint } from 'firebase/firestore';
|
|
2
|
-
import type { Snippet } from 'svelte';
|
|
3
|
-
type $$ComponentProps = {
|
|
4
|
-
/**
|
|
5
|
-
* Firestore collection reference, query reference, or path string
|
|
6
|
-
*/
|
|
7
|
-
ref: CollectionReference | Query | string;
|
|
8
|
-
/**
|
|
9
|
-
* Initial value to use before collection is fetched
|
|
10
|
-
*/
|
|
11
|
-
startWith?: DocumentData[];
|
|
12
|
-
/**
|
|
13
|
-
* Content to render when collection is loaded
|
|
14
|
-
*/
|
|
15
|
-
children: Snippet<[DocumentData[], CollectionReference | Query, Firestore, number]>;
|
|
16
|
-
/**
|
|
17
|
-
* Content to render while loading
|
|
18
|
-
*/
|
|
19
|
-
loading?: Snippet<[]>;
|
|
20
|
-
/**
|
|
21
|
-
* Optional query constraints to apply to the collection
|
|
22
|
-
*/
|
|
23
|
-
queryConstraints?: QueryConstraint[];
|
|
24
|
-
};
|
|
25
|
-
declare const Collection: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
26
|
-
type Collection = ReturnType<typeof Collection>;
|
|
27
|
-
export default Collection;
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { firekitDoc } from '../../services/document.svelte.js';
|
|
3
|
-
import { firebaseService } from '../../firebase.js';
|
|
4
|
-
import { doc } from 'firebase/firestore';
|
|
5
|
-
import { browser } from '$app/environment';
|
|
6
|
-
import type { DocumentReference, DocumentData, Firestore } from 'firebase/firestore';
|
|
7
|
-
import type { Snippet } from 'svelte';
|
|
8
|
-
import type { DocumentOptions } from '../../types/document.js';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Props for Doc component
|
|
12
|
-
*/
|
|
13
|
-
let {
|
|
14
|
-
ref,
|
|
15
|
-
startWith,
|
|
16
|
-
children,
|
|
17
|
-
loading,
|
|
18
|
-
options = {}
|
|
19
|
-
}: {
|
|
20
|
-
/**
|
|
21
|
-
* Firestore document reference or path string
|
|
22
|
-
*/
|
|
23
|
-
ref: DocumentReference | string;
|
|
24
|
-
/**
|
|
25
|
-
* Initial value to use before document is fetched
|
|
26
|
-
*/
|
|
27
|
-
startWith?: DocumentData | null;
|
|
28
|
-
/**
|
|
29
|
-
* Content to render when document is loaded
|
|
30
|
-
*/
|
|
31
|
-
children: Snippet<[DocumentData | null, DocumentReference, Firestore]>;
|
|
32
|
-
/**
|
|
33
|
-
* Content to render while loading
|
|
34
|
-
*/
|
|
35
|
-
loading?: Snippet<[]>;
|
|
36
|
-
/**
|
|
37
|
-
* Document options for configuration
|
|
38
|
-
*/
|
|
39
|
-
options?: DocumentOptions;
|
|
40
|
-
} = $props();
|
|
41
|
-
|
|
42
|
-
// Get Firestore instance only in browser environment
|
|
43
|
-
let firestore = $derived(browser ? firebaseService.getDbInstance() : null);
|
|
44
|
-
|
|
45
|
-
// Create document reference if path string is provided
|
|
46
|
-
let docRef = $derived(
|
|
47
|
-
firestore && typeof ref === 'string' ? doc(firestore, ref) : (ref as DocumentReference)
|
|
48
|
-
);
|
|
49
|
-
|
|
50
|
-
// Create document service with derived path
|
|
51
|
-
let documentPath = $derived(typeof ref === 'string' ? ref : (ref as DocumentReference).path);
|
|
52
|
-
let documentService = $state<ReturnType<typeof firekitDoc> | null>(null);
|
|
53
|
-
|
|
54
|
-
// Track document state using derived computations
|
|
55
|
-
let documentState = $derived({
|
|
56
|
-
loading: !browser
|
|
57
|
-
? false
|
|
58
|
-
: !firestore
|
|
59
|
-
? false
|
|
60
|
-
: !documentService
|
|
61
|
-
? true
|
|
62
|
-
: documentService.loading,
|
|
63
|
-
data: !browser
|
|
64
|
-
? (startWith ?? null)
|
|
65
|
-
: !firestore
|
|
66
|
-
? null
|
|
67
|
-
: !documentService
|
|
68
|
-
? (startWith ?? null)
|
|
69
|
-
: documentService.data,
|
|
70
|
-
error: !browser
|
|
71
|
-
? null
|
|
72
|
-
: !firestore
|
|
73
|
-
? new Error('Firestore instance not available')
|
|
74
|
-
: !documentService
|
|
75
|
-
? null
|
|
76
|
-
: documentService.error,
|
|
77
|
-
canRefresh: !browser
|
|
78
|
-
? false
|
|
79
|
-
: !firestore
|
|
80
|
-
? false
|
|
81
|
-
: !documentService
|
|
82
|
-
? false
|
|
83
|
-
: documentService.canRefresh
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
// Set up document service and event listener
|
|
87
|
-
$effect(() => {
|
|
88
|
-
if (!browser || !documentPath) {
|
|
89
|
-
documentService = null;
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// Create new service when path or options change
|
|
94
|
-
const newService = firekitDoc(documentPath, startWith ?? undefined, options);
|
|
95
|
-
documentService = newService;
|
|
96
|
-
|
|
97
|
-
return () => {
|
|
98
|
-
newService?.dispose();
|
|
99
|
-
};
|
|
100
|
-
});
|
|
101
|
-
</script>
|
|
102
|
-
|
|
103
|
-
{#if !browser}
|
|
104
|
-
{@render children(startWith ?? null, null as any, null as any)}
|
|
105
|
-
{:else if !firestore}
|
|
106
|
-
<div class="flex min-h-screen items-center justify-center">
|
|
107
|
-
<div class="text-center">
|
|
108
|
-
<div class="mb-2 text-lg font-semibold text-red-500">Firestore Not Available</div>
|
|
109
|
-
<p class="text-gray-600">Firestore instance is not available.</p>
|
|
110
|
-
</div>
|
|
111
|
-
</div>
|
|
112
|
-
{:else if documentState.loading}
|
|
113
|
-
{#if loading}
|
|
114
|
-
{@render loading()}
|
|
115
|
-
{:else}
|
|
116
|
-
<div class="flex min-h-screen items-center justify-center">
|
|
117
|
-
<div class="text-center">
|
|
118
|
-
<div class="mx-auto h-8 w-8 animate-spin rounded-full border-b-2 border-gray-900"></div>
|
|
119
|
-
<p class="mt-2 text-gray-600">Loading document...</p>
|
|
120
|
-
</div>
|
|
121
|
-
</div>
|
|
122
|
-
{/if}
|
|
123
|
-
{:else if documentState.error}
|
|
124
|
-
<div class="flex min-h-screen items-center justify-center">
|
|
125
|
-
<div class="text-center">
|
|
126
|
-
<div class="mb-2 text-lg font-semibold text-red-500">Error Loading Document</div>
|
|
127
|
-
<p class="mb-4 text-gray-600">{documentState.error.message}</p>
|
|
128
|
-
{#if documentState.canRefresh}
|
|
129
|
-
<button
|
|
130
|
-
class="rounded bg-blue-500 px-4 py-2 text-white hover:bg-blue-600"
|
|
131
|
-
onclick={() => documentService?.refresh()}
|
|
132
|
-
>
|
|
133
|
-
Retry
|
|
134
|
-
</button>
|
|
135
|
-
{/if}
|
|
136
|
-
</div>
|
|
137
|
-
</div>
|
|
138
|
-
{:else}
|
|
139
|
-
{@render children(documentState.data, docRef!, firestore!)}
|
|
140
|
-
{/if}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { DocumentReference, DocumentData, Firestore } from 'firebase/firestore';
|
|
2
|
-
import type { Snippet } from 'svelte';
|
|
3
|
-
import type { DocumentOptions } from '../../types/document.js';
|
|
4
|
-
type $$ComponentProps = {
|
|
5
|
-
/**
|
|
6
|
-
* Firestore document reference or path string
|
|
7
|
-
*/
|
|
8
|
-
ref: DocumentReference | string;
|
|
9
|
-
/**
|
|
10
|
-
* Initial value to use before document is fetched
|
|
11
|
-
*/
|
|
12
|
-
startWith?: DocumentData | null;
|
|
13
|
-
/**
|
|
14
|
-
* Content to render when document is loaded
|
|
15
|
-
*/
|
|
16
|
-
children: Snippet<[DocumentData | null, DocumentReference, Firestore]>;
|
|
17
|
-
/**
|
|
18
|
-
* Content to render while loading
|
|
19
|
-
*/
|
|
20
|
-
loading?: Snippet<[]>;
|
|
21
|
-
/**
|
|
22
|
-
* Document options for configuration
|
|
23
|
-
*/
|
|
24
|
-
options?: DocumentOptions;
|
|
25
|
-
};
|
|
26
|
-
declare const Doc: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
27
|
-
type Doc = ReturnType<typeof Doc>;
|
|
28
|
-
export default Doc;
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { ref, type DatabaseReference, type Database } from 'firebase/database';
|
|
3
|
-
import { firebaseService } from '../../firebase.js';
|
|
4
|
-
import { firekitRealtimeDB } from '../../services/realtime.svelte.js';
|
|
5
|
-
import { browser } from '$app/environment';
|
|
6
|
-
import type { Snippet } from 'svelte';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Props for Node component
|
|
10
|
-
*/
|
|
11
|
-
let {
|
|
12
|
-
path,
|
|
13
|
-
startWith,
|
|
14
|
-
children,
|
|
15
|
-
loading
|
|
16
|
-
}: {
|
|
17
|
-
/**
|
|
18
|
-
* Database reference path string (e.g. 'users/123')
|
|
19
|
-
*/
|
|
20
|
-
path: string;
|
|
21
|
-
/**
|
|
22
|
-
* Initial value to use before node is fetched
|
|
23
|
-
*/
|
|
24
|
-
startWith?: any;
|
|
25
|
-
/**
|
|
26
|
-
* Content to render when node is loaded
|
|
27
|
-
*/
|
|
28
|
-
children: Snippet<[any, DatabaseReference, Database]>;
|
|
29
|
-
/**
|
|
30
|
-
* Content to render while loading
|
|
31
|
-
*/
|
|
32
|
-
loading?: Snippet<[]>;
|
|
33
|
-
} = $props();
|
|
34
|
-
|
|
35
|
-
// Get Database instance and create references
|
|
36
|
-
let database: Database | null = $state(null);
|
|
37
|
-
let nodeRef: DatabaseReference | null = $state(null);
|
|
38
|
-
let nodeService: ReturnType<typeof firekitRealtimeDB> | null = $state(null);
|
|
39
|
-
|
|
40
|
-
// Track node state
|
|
41
|
-
let nodeState = $state({
|
|
42
|
-
loading: true,
|
|
43
|
-
data: startWith ?? null,
|
|
44
|
-
error: null as Error | null
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
// Subscribe to node changes
|
|
48
|
-
$effect(() => {
|
|
49
|
-
if (!browser) {
|
|
50
|
-
nodeState = {
|
|
51
|
-
loading: false,
|
|
52
|
-
data: startWith ?? null,
|
|
53
|
-
error: new Error('Realtime Database not available in SSR')
|
|
54
|
-
};
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Initialize database and service
|
|
59
|
-
database = firebaseService.getDatabaseInstance();
|
|
60
|
-
if (!database) {
|
|
61
|
-
nodeState = {
|
|
62
|
-
loading: false,
|
|
63
|
-
data: null,
|
|
64
|
-
error: new Error('Realtime Database instance not available')
|
|
65
|
-
};
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Create database reference
|
|
70
|
-
nodeRef = ref(database, path);
|
|
71
|
-
|
|
72
|
-
// Create node service
|
|
73
|
-
nodeService = firekitRealtimeDB(path, startWith);
|
|
74
|
-
|
|
75
|
-
// The service state is reactive, so we can directly access it
|
|
76
|
-
// The effect will re-run when the service state changes
|
|
77
|
-
nodeState = {
|
|
78
|
-
loading: nodeService.loading,
|
|
79
|
-
data: nodeService.data,
|
|
80
|
-
error: nodeService.error
|
|
81
|
-
};
|
|
82
|
-
});
|
|
83
|
-
</script>
|
|
84
|
-
|
|
85
|
-
{#if !browser}
|
|
86
|
-
{@render children(startWith ?? null, null as any, null as any)}
|
|
87
|
-
{:else if nodeState.loading}
|
|
88
|
-
{#if loading}
|
|
89
|
-
{@render loading()}
|
|
90
|
-
{:else}
|
|
91
|
-
<div>Loading...</div>
|
|
92
|
-
{/if}
|
|
93
|
-
{:else if nodeState.error}
|
|
94
|
-
<div class="error">Error: {nodeState.error.message}</div>
|
|
95
|
-
{:else}
|
|
96
|
-
{@render children(nodeState.data, nodeRef!, database!)}
|
|
97
|
-
{/if}
|