@stackframe/tanstack-start 0.0.1 → 2.8.92
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/LICENSE +7 -0
- package/README.md +26 -0
- package/dist/chunk-BE-pF4vm.js +34 -0
- package/dist/components/api-key-dialogs.d.ts +28 -0
- package/dist/components/api-key-dialogs.d.ts.map +1 -0
- package/dist/components/api-key-dialogs.js +163 -0
- package/dist/components/api-key-dialogs.js.map +1 -0
- package/dist/components/api-key-table.d.ts +10 -0
- package/dist/components/api-key-table.d.ts.map +1 -0
- package/dist/components/api-key-table.js +144 -0
- package/dist/components/api-key-table.js.map +1 -0
- package/dist/components/credential-sign-in.d.ts +7 -0
- package/dist/components/credential-sign-in.d.ts.map +1 -0
- package/dist/components/credential-sign-in.js +87 -0
- package/dist/components/credential-sign-in.js.map +1 -0
- package/dist/components/credential-sign-up.d.ts +9 -0
- package/dist/components/credential-sign-up.d.ts.map +1 -0
- package/dist/components/credential-sign-up.js +121 -0
- package/dist/components/credential-sign-up.js.map +1 -0
- package/dist/components/elements/form-warning.d.ts +11 -0
- package/dist/components/elements/form-warning.d.ts.map +1 -0
- package/dist/components/elements/form-warning.js +18 -0
- package/dist/components/elements/form-warning.js.map +1 -0
- package/dist/components/elements/maybe-full-page.d.ts +16 -0
- package/dist/components/elements/maybe-full-page.d.ts.map +1 -0
- package/dist/components/elements/maybe-full-page.js +41 -0
- package/dist/components/elements/maybe-full-page.js.map +1 -0
- package/dist/components/elements/separator-with-text.d.ts +11 -0
- package/dist/components/elements/separator-with-text.d.ts.map +1 -0
- package/dist/components/elements/separator-with-text.js +31 -0
- package/dist/components/elements/separator-with-text.js.map +1 -0
- package/dist/components/elements/sidebar-layout.d.ts +21 -0
- package/dist/components/elements/sidebar-layout.d.ts.map +1 -0
- package/dist/components/elements/sidebar-layout.js +135 -0
- package/dist/components/elements/sidebar-layout.js.map +1 -0
- package/dist/components/elements/ssr-layout-effect.d.ts +10 -0
- package/dist/components/elements/ssr-layout-effect.d.ts.map +1 -0
- package/dist/components/elements/ssr-layout-effect.js +22 -0
- package/dist/components/elements/ssr-layout-effect.js.map +1 -0
- package/dist/components/elements/user-avatar.d.ts +15 -0
- package/dist/components/elements/user-avatar.d.ts.map +1 -0
- package/dist/components/elements/user-avatar.js +30 -0
- package/dist/components/elements/user-avatar.js.map +1 -0
- package/dist/components/link.d.ts +16 -0
- package/dist/components/link.d.ts.map +1 -0
- package/dist/components/link.js +29 -0
- package/dist/components/link.js.map +1 -0
- package/dist/components/magic-link-sign-in.d.ts +7 -0
- package/dist/components/magic-link-sign-in.d.ts.map +1 -0
- package/dist/components/magic-link-sign-in.js +138 -0
- package/dist/components/magic-link-sign-in.js.map +1 -0
- package/dist/components/message-cards/known-error-message-card.d.ts +14 -0
- package/dist/components/message-cards/known-error-message-card.d.ts.map +1 -0
- package/dist/components/message-cards/known-error-message-card.js +24 -0
- package/dist/components/message-cards/known-error-message-card.js.map +1 -0
- package/dist/components/message-cards/message-card.d.ts +19 -0
- package/dist/components/message-cards/message-card.d.ts.map +1 -0
- package/dist/components/message-cards/message-card.js +46 -0
- package/dist/components/message-cards/message-card.js.map +1 -0
- package/dist/components/message-cards/predefined-message-card.d.ts +13 -0
- package/dist/components/message-cards/predefined-message-card.d.ts.map +1 -0
- package/dist/components/message-cards/predefined-message-card.js +73 -0
- package/dist/components/message-cards/predefined-message-card.js.map +1 -0
- package/dist/components/oauth-button-group.d.ts +19 -0
- package/dist/components/oauth-button-group.d.ts.map +1 -0
- package/dist/components/oauth-button-group.js +24 -0
- package/dist/components/oauth-button-group.js.map +1 -0
- package/dist/components/oauth-button.d.ts +17 -0
- package/dist/components/oauth-button.d.ts.map +1 -0
- package/dist/components/oauth-button.js +173 -0
- package/dist/components/oauth-button.js.map +1 -0
- package/dist/components/passkey-button.d.ts +11 -0
- package/dist/components/passkey-button.d.ts.map +1 -0
- package/dist/components/passkey-button.js +33 -0
- package/dist/components/passkey-button.js.map +1 -0
- package/dist/components/profile-image-editor.d.ts +15 -0
- package/dist/components/profile-image-editor.d.ts.map +1 -0
- package/dist/components/profile-image-editor.js +171 -0
- package/dist/components/profile-image-editor.js.map +1 -0
- package/dist/components/selected-team-switcher.d.ts +31 -0
- package/dist/components/selected-team-switcher.d.ts.map +1 -0
- package/dist/components/selected-team-switcher.js +59 -0
- package/dist/components/selected-team-switcher.js.map +1 -0
- package/dist/components/team-icon.d.ts +10 -0
- package/dist/components/team-icon.d.ts.map +1 -0
- package/dist/components/team-icon.js +31 -0
- package/dist/components/team-icon.js.map +1 -0
- package/dist/components/team-switcher.d.ts +31 -0
- package/dist/components/team-switcher.d.ts.map +1 -0
- package/dist/components/team-switcher.js +123 -0
- package/dist/components/team-switcher.js.map +1 -0
- package/dist/components/use-in-iframe.d.ts +5 -0
- package/dist/components/use-in-iframe.d.ts.map +1 -0
- package/dist/components/use-in-iframe.js +18 -0
- package/dist/components/use-in-iframe.js.map +1 -0
- package/dist/components/user-button.d.ts +22 -0
- package/dist/components/user-button.d.ts.map +1 -0
- package/dist/components/user-button.js +134 -0
- package/dist/components/user-button.js.map +1 -0
- package/dist/components-page/account-settings/active-sessions/active-sessions-page.d.ts +20 -0
- package/dist/components-page/account-settings/active-sessions/active-sessions-page.d.ts.map +1 -0
- package/dist/components-page/account-settings/active-sessions/active-sessions-page.js +208 -0
- package/dist/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -0
- package/dist/components-page/account-settings/api-keys/api-keys-page.d.ts +16 -0
- package/dist/components-page/account-settings/api-keys/api-keys-page.d.ts.map +1 -0
- package/dist/components-page/account-settings/api-keys/api-keys-page.js +115 -0
- package/dist/components-page/account-settings/api-keys/api-keys-page.js.map +1 -0
- package/dist/components-page/account-settings/editable-text.d.ts +10 -0
- package/dist/components-page/account-settings/editable-text.d.ts.map +1 -0
- package/dist/components-page/account-settings/editable-text.js +49 -0
- package/dist/components-page/account-settings/editable-text.js.map +1 -0
- package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.d.ts +9 -0
- package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.d.ts.map +1 -0
- package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.js +24 -0
- package/dist/components-page/account-settings/email-and-auth/email-and-auth-page.js.map +1 -0
- package/dist/components-page/account-settings/email-and-auth/emails-section.d.ts +9 -0
- package/dist/components-page/account-settings/email-and-auth/emails-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/email-and-auth/emails-section.js +181 -0
- package/dist/components-page/account-settings/email-and-auth/emails-section.js.map +1 -0
- package/dist/components-page/account-settings/email-and-auth/mfa-section.d.ts +9 -0
- package/dist/components-page/account-settings/email-and-auth/mfa-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/email-and-auth/mfa-section.js +121 -0
- package/dist/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -0
- package/dist/components-page/account-settings/email-and-auth/otp-section.d.ts +9 -0
- package/dist/components-page/account-settings/email-and-auth/otp-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/email-and-auth/otp-section.js +80 -0
- package/dist/components-page/account-settings/email-and-auth/otp-section.js.map +1 -0
- package/dist/components-page/account-settings/email-and-auth/passkey-section.d.ts +9 -0
- package/dist/components-page/account-settings/email-and-auth/passkey-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/email-and-auth/passkey-section.js +89 -0
- package/dist/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -0
- package/dist/components-page/account-settings/email-and-auth/password-section.d.ts +9 -0
- package/dist/components-page/account-settings/email-and-auth/password-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/email-and-auth/password-section.js +161 -0
- package/dist/components-page/account-settings/email-and-auth/password-section.js.map +1 -0
- package/dist/components-page/account-settings/notifications/notifications-page.d.ts +7 -0
- package/dist/components-page/account-settings/notifications/notifications-page.d.ts.map +1 -0
- package/dist/components-page/account-settings/notifications/notifications-page.js +42 -0
- package/dist/components-page/account-settings/notifications/notifications-page.js.map +1 -0
- package/dist/components-page/account-settings/page-layout.d.ts +9 -0
- package/dist/components-page/account-settings/page-layout.d.ts.map +1 -0
- package/dist/components-page/account-settings/page-layout.js +15 -0
- package/dist/components-page/account-settings/page-layout.js.map +1 -0
- package/dist/components-page/account-settings/payments/payments-page.d.ts +12 -0
- package/dist/components-page/account-settings/payments/payments-page.d.ts.map +1 -0
- package/dist/components-page/account-settings/payments/payments-page.js +55 -0
- package/dist/components-page/account-settings/payments/payments-page.js.map +1 -0
- package/dist/components-page/account-settings/payments/payments-panel.d.ts +61 -0
- package/dist/components-page/account-settings/payments/payments-panel.d.ts.map +1 -0
- package/dist/components-page/account-settings/payments/payments-panel.js +466 -0
- package/dist/components-page/account-settings/payments/payments-panel.js.map +1 -0
- package/dist/components-page/account-settings/profile-page/profile-page.d.ts +12 -0
- package/dist/components-page/account-settings/profile-page/profile-page.d.ts.map +1 -0
- package/dist/components-page/account-settings/profile-page/profile-page.js +46 -0
- package/dist/components-page/account-settings/profile-page/profile-page.js.map +1 -0
- package/dist/components-page/account-settings/section.d.ts +11 -0
- package/dist/components-page/account-settings/section.d.ts.map +1 -0
- package/dist/components-page/account-settings/section.js +29 -0
- package/dist/components-page/account-settings/section.js.map +1 -0
- package/dist/components-page/account-settings/settings/delete-account-section.d.ts +9 -0
- package/dist/components-page/account-settings/settings/delete-account-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/settings/delete-account-section.js +70 -0
- package/dist/components-page/account-settings/settings/delete-account-section.js.map +1 -0
- package/dist/components-page/account-settings/settings/settings-page.d.ts +9 -0
- package/dist/components-page/account-settings/settings/settings-page.d.ts.map +1 -0
- package/dist/components-page/account-settings/settings/settings-page.js +15 -0
- package/dist/components-page/account-settings/settings/settings-page.js.map +1 -0
- package/dist/components-page/account-settings/settings/sign-out-section.d.ts +9 -0
- package/dist/components-page/account-settings/settings/sign-out-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/settings/sign-out-section.js +33 -0
- package/dist/components-page/account-settings/settings/sign-out-section.js.map +1 -0
- package/dist/components-page/account-settings/teams/leave-team-section.d.ts +10 -0
- package/dist/components-page/account-settings/teams/leave-team-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/teams/leave-team-section.js +48 -0
- package/dist/components-page/account-settings/teams/leave-team-section.js.map +1 -0
- package/dist/components-page/account-settings/teams/team-api-keys-section.d.ts +10 -0
- package/dist/components-page/account-settings/teams/team-api-keys-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/teams/team-api-keys-section.js +57 -0
- package/dist/components-page/account-settings/teams/team-api-keys-section.js.map +1 -0
- package/dist/components-page/account-settings/teams/team-creation-page.d.ts +9 -0
- package/dist/components-page/account-settings/teams/team-creation-page.d.ts.map +1 -0
- package/dist/components-page/account-settings/teams/team-creation-page.js +67 -0
- package/dist/components-page/account-settings/teams/team-creation-page.js.map +1 -0
- package/dist/components-page/account-settings/teams/team-display-name-section.d.ts +10 -0
- package/dist/components-page/account-settings/teams/team-display-name-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/teams/team-display-name-section.js +25 -0
- package/dist/components-page/account-settings/teams/team-display-name-section.js.map +1 -0
- package/dist/components-page/account-settings/teams/team-member-invitation-section.d.ts +10 -0
- package/dist/components-page/account-settings/teams/team-member-invitation-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/teams/team-member-invitation-section.js +114 -0
- package/dist/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -0
- package/dist/components-page/account-settings/teams/team-member-list-section.d.ts +10 -0
- package/dist/components-page/account-settings/teams/team-member-list-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/teams/team-member-list-section.js +40 -0
- package/dist/components-page/account-settings/teams/team-member-list-section.js.map +1 -0
- package/dist/components-page/account-settings/teams/team-page.d.ts +10 -0
- package/dist/components-page/account-settings/teams/team-page.d.ts.map +1 -0
- package/dist/components-page/account-settings/teams/team-page.js +28 -0
- package/dist/components-page/account-settings/teams/team-page.js.map +1 -0
- package/dist/components-page/account-settings/teams/team-profile-image-section.d.ts +10 -0
- package/dist/components-page/account-settings/teams/team-profile-image-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/teams/team-profile-image-section.js +27 -0
- package/dist/components-page/account-settings/teams/team-profile-image-section.js.map +1 -0
- package/dist/components-page/account-settings/teams/team-profile-user-section.d.ts +10 -0
- package/dist/components-page/account-settings/teams/team-profile-user-section.d.ts.map +1 -0
- package/dist/components-page/account-settings/teams/team-profile-user-section.js +27 -0
- package/dist/components-page/account-settings/teams/team-profile-user-section.js.map +1 -0
- package/dist/components-page/account-settings.d.ts +58 -0
- package/dist/components-page/account-settings.d.ts.map +1 -0
- package/dist/components-page/account-settings.js +267 -0
- package/dist/components-page/account-settings.js.map +1 -0
- package/dist/components-page/auth-page.d.ts +26 -0
- package/dist/components-page/auth-page.d.ts.map +1 -0
- package/dist/components-page/auth-page.js +163 -0
- package/dist/components-page/auth-page.js.map +1 -0
- package/dist/components-page/cli-auth-confirm.d.ts +21 -0
- package/dist/components-page/cli-auth-confirm.d.ts.map +1 -0
- package/dist/components-page/cli-auth-confirm.js +216 -0
- package/dist/components-page/cli-auth-confirm.js.map +1 -0
- package/dist/components-page/cli-auth-confirm.test.d.ts +1 -0
- package/dist/components-page/cli-auth-confirm.test.js +176 -0
- package/dist/components-page/cli-auth-confirm.test.js.map +1 -0
- package/dist/components-page/email-verification.d.ts +10 -0
- package/dist/components-page/email-verification.d.ts.map +1 -0
- package/dist/components-page/email-verification.js +60 -0
- package/dist/components-page/email-verification.js.map +1 -0
- package/dist/components-page/error-page.d.ts +10 -0
- package/dist/components-page/error-page.d.ts.map +1 -0
- package/dist/components-page/error-page.js +77 -0
- package/dist/components-page/error-page.js.map +1 -0
- package/dist/components-page/forgot-password.d.ts +14 -0
- package/dist/components-page/forgot-password.d.ts.map +1 -0
- package/dist/components-page/forgot-password.js +103 -0
- package/dist/components-page/forgot-password.js.map +1 -0
- package/dist/components-page/magic-link-callback.d.ts +10 -0
- package/dist/components-page/magic-link-callback.d.ts.map +1 -0
- package/dist/components-page/magic-link-callback.js +75 -0
- package/dist/components-page/magic-link-callback.js.map +1 -0
- package/dist/components-page/mfa.d.ts +11 -0
- package/dist/components-page/mfa.d.ts.map +1 -0
- package/dist/components-page/mfa.js +166 -0
- package/dist/components-page/mfa.js.map +1 -0
- package/dist/components-page/oauth-callback.d.ts +11 -0
- package/dist/components-page/oauth-callback.d.ts.map +1 -0
- package/dist/components-page/oauth-callback.js +72 -0
- package/dist/components-page/oauth-callback.js.map +1 -0
- package/dist/components-page/onboarding.d.ts +9 -0
- package/dist/components-page/onboarding.d.ts.map +1 -0
- package/dist/components-page/onboarding.js +140 -0
- package/dist/components-page/onboarding.js.map +1 -0
- package/dist/components-page/password-reset.d.ts +17 -0
- package/dist/components-page/password-reset.d.ts.map +1 -0
- package/dist/components-page/password-reset.js +161 -0
- package/dist/components-page/password-reset.js.map +1 -0
- package/dist/components-page/section.d.ts +1 -0
- package/dist/components-page/section.js +2 -0
- package/dist/components-page/sign-in.d.ts +23 -0
- package/dist/components-page/sign-in.d.ts.map +1 -0
- package/dist/components-page/sign-in.js +20 -0
- package/dist/components-page/sign-in.js.map +1 -0
- package/dist/components-page/sign-out.d.ts +9 -0
- package/dist/components-page/sign-out.d.ts.map +1 -0
- package/dist/components-page/sign-out.js +26 -0
- package/dist/components-page/sign-out.js.map +1 -0
- package/dist/components-page/sign-up.d.ts +13 -0
- package/dist/components-page/sign-up.d.ts.map +1 -0
- package/dist/components-page/sign-up.js +22 -0
- package/dist/components-page/sign-up.js.map +1 -0
- package/dist/components-page/stack-handler-client.d.ts +50 -0
- package/dist/components-page/stack-handler-client.d.ts.map +1 -0
- package/dist/components-page/stack-handler-client.js +235 -0
- package/dist/components-page/stack-handler-client.js.map +1 -0
- package/dist/components-page/stack-handler.d.ts +32 -0
- package/dist/components-page/stack-handler.d.ts.map +1 -0
- package/dist/components-page/stack-handler.js +12 -0
- package/dist/components-page/stack-handler.js.map +1 -0
- package/dist/components-page/team-creation.d.ts +9 -0
- package/dist/components-page/team-creation.d.ts.map +1 -0
- package/dist/components-page/team-creation.js +80 -0
- package/dist/components-page/team-creation.js.map +1 -0
- package/dist/components-page/team-invitation.d.ts +13 -0
- package/dist/components-page/team-invitation.d.ts.map +1 -0
- package/dist/components-page/team-invitation.js +109 -0
- package/dist/components-page/team-invitation.js.map +1 -0
- package/dist/dev-tool/dev-tool-core.d.ts +7 -0
- package/dist/dev-tool/dev-tool-core.d.ts.map +1 -0
- package/dist/dev-tool/dev-tool-core.js +2107 -0
- package/dist/dev-tool/dev-tool-core.js.map +1 -0
- package/dist/dev-tool/dev-tool-styles.d.ts +5 -0
- package/dist/dev-tool/dev-tool-styles.d.ts.map +1 -0
- package/dist/dev-tool/dev-tool-styles.js +2757 -0
- package/dist/dev-tool/dev-tool-styles.js.map +1 -0
- package/dist/dev-tool/dev-tool-trigger-position.d.ts +36 -0
- package/dist/dev-tool/dev-tool-trigger-position.d.ts.map +1 -0
- package/dist/dev-tool/dev-tool-trigger-position.js +70 -0
- package/dist/dev-tool/dev-tool-trigger-position.js.map +1 -0
- package/dist/dev-tool/dev-tool-trigger-position.test.d.ts +1 -0
- package/dist/dev-tool/dev-tool-trigger-position.test.js +155 -0
- package/dist/dev-tool/dev-tool-trigger-position.test.js.map +1 -0
- package/dist/dev-tool/index.d.ts +19 -0
- package/dist/dev-tool/index.d.ts.map +1 -0
- package/dist/dev-tool/index.js +119 -0
- package/dist/dev-tool/index.js.map +1 -0
- package/dist/esm/components/api-key-dialogs.d.ts +28 -0
- package/dist/esm/components/api-key-dialogs.d.ts.map +1 -0
- package/dist/esm/components/api-key-dialogs.js +158 -0
- package/dist/esm/components/api-key-dialogs.js.map +1 -0
- package/dist/esm/components/api-key-table.d.ts +10 -0
- package/dist/esm/components/api-key-table.d.ts.map +1 -0
- package/dist/esm/components/api-key-table.js +142 -0
- package/dist/esm/components/api-key-table.js.map +1 -0
- package/dist/esm/components/credential-sign-in.d.ts +7 -0
- package/dist/esm/components/credential-sign-in.d.ts.map +1 -0
- package/dist/esm/components/credential-sign-in.js +85 -0
- package/dist/esm/components/credential-sign-in.js.map +1 -0
- package/dist/esm/components/credential-sign-up.d.ts +9 -0
- package/dist/esm/components/credential-sign-up.d.ts.map +1 -0
- package/dist/esm/components/credential-sign-up.js +117 -0
- package/dist/esm/components/credential-sign-up.js.map +1 -0
- package/dist/esm/components/elements/form-warning.d.ts +11 -0
- package/dist/esm/components/elements/form-warning.d.ts.map +1 -0
- package/dist/esm/components/elements/form-warning.js +16 -0
- package/dist/esm/components/elements/form-warning.js.map +1 -0
- package/dist/esm/components/elements/maybe-full-page.d.ts +16 -0
- package/dist/esm/components/elements/maybe-full-page.d.ts.map +1 -0
- package/dist/esm/components/elements/maybe-full-page.js +38 -0
- package/dist/esm/components/elements/maybe-full-page.js.map +1 -0
- package/dist/esm/components/elements/separator-with-text.d.ts +11 -0
- package/dist/esm/components/elements/separator-with-text.d.ts.map +1 -0
- package/dist/esm/components/elements/separator-with-text.js +29 -0
- package/dist/esm/components/elements/separator-with-text.js.map +1 -0
- package/dist/esm/components/elements/sidebar-layout.d.ts +21 -0
- package/dist/esm/components/elements/sidebar-layout.d.ts.map +1 -0
- package/dist/esm/components/elements/sidebar-layout.js +132 -0
- package/dist/esm/components/elements/sidebar-layout.js.map +1 -0
- package/dist/esm/components/elements/ssr-layout-effect.d.ts +10 -0
- package/dist/esm/components/elements/ssr-layout-effect.d.ts.map +1 -0
- package/dist/esm/components/elements/ssr-layout-effect.js +20 -0
- package/dist/esm/components/elements/ssr-layout-effect.js.map +1 -0
- package/dist/esm/components/elements/user-avatar.d.ts +15 -0
- package/dist/esm/components/elements/user-avatar.d.ts.map +1 -0
- package/dist/esm/components/elements/user-avatar.js +28 -0
- package/dist/esm/components/elements/user-avatar.js.map +1 -0
- package/dist/esm/components/link.d.ts +16 -0
- package/dist/esm/components/link.d.ts.map +1 -0
- package/dist/esm/components/link.js +26 -0
- package/dist/esm/components/link.js.map +1 -0
- package/dist/esm/components/magic-link-sign-in.d.ts +7 -0
- package/dist/esm/components/magic-link-sign-in.d.ts.map +1 -0
- package/dist/esm/components/magic-link-sign-in.js +136 -0
- package/dist/esm/components/magic-link-sign-in.js.map +1 -0
- package/dist/esm/components/message-cards/known-error-message-card.d.ts +14 -0
- package/dist/esm/components/message-cards/known-error-message-card.d.ts.map +1 -0
- package/dist/esm/components/message-cards/known-error-message-card.js +22 -0
- package/dist/esm/components/message-cards/known-error-message-card.js.map +1 -0
- package/dist/esm/components/message-cards/message-card.d.ts +19 -0
- package/dist/esm/components/message-cards/message-card.d.ts.map +1 -0
- package/dist/esm/components/message-cards/message-card.js +43 -0
- package/dist/esm/components/message-cards/message-card.js.map +1 -0
- package/dist/esm/components/message-cards/predefined-message-card.d.ts +13 -0
- package/dist/esm/components/message-cards/predefined-message-card.d.ts.map +1 -0
- package/dist/esm/components/message-cards/predefined-message-card.js +71 -0
- package/dist/esm/components/message-cards/predefined-message-card.js.map +1 -0
- package/dist/esm/components/oauth-button-group.d.ts +19 -0
- package/dist/esm/components/oauth-button-group.d.ts.map +1 -0
- package/dist/esm/components/oauth-button-group.js +22 -0
- package/dist/esm/components/oauth-button-group.js.map +1 -0
- package/dist/esm/components/oauth-button.d.ts +17 -0
- package/dist/esm/components/oauth-button.d.ts.map +1 -0
- package/dist/esm/components/oauth-button.js +170 -0
- package/dist/esm/components/oauth-button.js.map +1 -0
- package/dist/esm/components/passkey-button.d.ts +11 -0
- package/dist/esm/components/passkey-button.d.ts.map +1 -0
- package/dist/esm/components/passkey-button.js +31 -0
- package/dist/esm/components/passkey-button.js.map +1 -0
- package/dist/esm/components/profile-image-editor.d.ts +15 -0
- package/dist/esm/components/profile-image-editor.d.ts.map +1 -0
- package/dist/esm/components/profile-image-editor.js +165 -0
- package/dist/esm/components/profile-image-editor.js.map +1 -0
- package/dist/esm/components/selected-team-switcher.d.ts +31 -0
- package/dist/esm/components/selected-team-switcher.d.ts.map +1 -0
- package/dist/esm/components/selected-team-switcher.js +57 -0
- package/dist/esm/components/selected-team-switcher.js.map +1 -0
- package/dist/esm/components/team-icon.d.ts +10 -0
- package/dist/esm/components/team-icon.d.ts.map +1 -0
- package/dist/esm/components/team-icon.js +29 -0
- package/dist/esm/components/team-icon.js.map +1 -0
- package/dist/esm/components/team-switcher.d.ts +31 -0
- package/dist/esm/components/team-switcher.d.ts.map +1 -0
- package/dist/esm/components/team-switcher.js +121 -0
- package/dist/esm/components/team-switcher.js.map +1 -0
- package/dist/esm/components/use-in-iframe.d.ts +5 -0
- package/dist/esm/components/use-in-iframe.d.ts.map +1 -0
- package/dist/esm/components/use-in-iframe.js +16 -0
- package/dist/esm/components/use-in-iframe.js.map +1 -0
- package/dist/esm/components/user-button.d.ts +22 -0
- package/dist/esm/components/user-button.d.ts.map +1 -0
- package/dist/esm/components/user-button.js +131 -0
- package/dist/esm/components/user-button.js.map +1 -0
- package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.d.ts +20 -0
- package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.js +206 -0
- package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -0
- package/dist/esm/components-page/account-settings/api-keys/api-keys-page.d.ts +16 -0
- package/dist/esm/components-page/account-settings/api-keys/api-keys-page.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/api-keys/api-keys-page.js +113 -0
- package/dist/esm/components-page/account-settings/api-keys/api-keys-page.js.map +1 -0
- package/dist/esm/components-page/account-settings/editable-text.d.ts +10 -0
- package/dist/esm/components-page/account-settings/editable-text.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/editable-text.js +47 -0
- package/dist/esm/components-page/account-settings/editable-text.js.map +1 -0
- package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.d.ts +9 -0
- package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.js +22 -0
- package/dist/esm/components-page/account-settings/email-and-auth/email-and-auth-page.js.map +1 -0
- package/dist/esm/components-page/account-settings/email-and-auth/emails-section.d.ts +9 -0
- package/dist/esm/components-page/account-settings/email-and-auth/emails-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js +179 -0
- package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.d.ts +9 -0
- package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js +118 -0
- package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/email-and-auth/otp-section.d.ts +9 -0
- package/dist/esm/components-page/account-settings/email-and-auth/otp-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/email-and-auth/otp-section.js +78 -0
- package/dist/esm/components-page/account-settings/email-and-auth/otp-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.d.ts +9 -0
- package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.js +87 -0
- package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/email-and-auth/password-section.d.ts +9 -0
- package/dist/esm/components-page/account-settings/email-and-auth/password-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/email-and-auth/password-section.js +158 -0
- package/dist/esm/components-page/account-settings/email-and-auth/password-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/notifications/notifications-page.d.ts +7 -0
- package/dist/esm/components-page/account-settings/notifications/notifications-page.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/notifications/notifications-page.js +40 -0
- package/dist/esm/components-page/account-settings/notifications/notifications-page.js.map +1 -0
- package/dist/esm/components-page/account-settings/page-layout.d.ts +9 -0
- package/dist/esm/components-page/account-settings/page-layout.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/page-layout.js +13 -0
- package/dist/esm/components-page/account-settings/page-layout.js.map +1 -0
- package/dist/esm/components-page/account-settings/payments/payments-page.d.ts +12 -0
- package/dist/esm/components-page/account-settings/payments/payments-page.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/payments/payments-page.js +53 -0
- package/dist/esm/components-page/account-settings/payments/payments-page.js.map +1 -0
- package/dist/esm/components-page/account-settings/payments/payments-panel.d.ts +61 -0
- package/dist/esm/components-page/account-settings/payments/payments-panel.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/payments/payments-panel.js +464 -0
- package/dist/esm/components-page/account-settings/payments/payments-panel.js.map +1 -0
- package/dist/esm/components-page/account-settings/profile-page/profile-page.d.ts +12 -0
- package/dist/esm/components-page/account-settings/profile-page/profile-page.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/profile-page/profile-page.js +44 -0
- package/dist/esm/components-page/account-settings/profile-page/profile-page.js.map +1 -0
- package/dist/esm/components-page/account-settings/section.d.ts +11 -0
- package/dist/esm/components-page/account-settings/section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/section.js +27 -0
- package/dist/esm/components-page/account-settings/section.js.map +1 -0
- package/dist/esm/components-page/account-settings/settings/delete-account-section.d.ts +9 -0
- package/dist/esm/components-page/account-settings/settings/delete-account-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/settings/delete-account-section.js +68 -0
- package/dist/esm/components-page/account-settings/settings/delete-account-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/settings/settings-page.d.ts +9 -0
- package/dist/esm/components-page/account-settings/settings/settings-page.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/settings/settings-page.js +13 -0
- package/dist/esm/components-page/account-settings/settings/settings-page.js.map +1 -0
- package/dist/esm/components-page/account-settings/settings/sign-out-section.d.ts +9 -0
- package/dist/esm/components-page/account-settings/settings/sign-out-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/settings/sign-out-section.js +31 -0
- package/dist/esm/components-page/account-settings/settings/sign-out-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/teams/leave-team-section.d.ts +10 -0
- package/dist/esm/components-page/account-settings/teams/leave-team-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/teams/leave-team-section.js +46 -0
- package/dist/esm/components-page/account-settings/teams/leave-team-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-api-keys-section.d.ts +10 -0
- package/dist/esm/components-page/account-settings/teams/team-api-keys-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js +55 -0
- package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-creation-page.d.ts +9 -0
- package/dist/esm/components-page/account-settings/teams/team-creation-page.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-creation-page.js +65 -0
- package/dist/esm/components-page/account-settings/teams/team-creation-page.js.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-display-name-section.d.ts +10 -0
- package/dist/esm/components-page/account-settings/teams/team-display-name-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-display-name-section.js +23 -0
- package/dist/esm/components-page/account-settings/teams/team-display-name-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.d.ts +10 -0
- package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js +112 -0
- package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-member-list-section.d.ts +10 -0
- package/dist/esm/components-page/account-settings/teams/team-member-list-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-member-list-section.js +38 -0
- package/dist/esm/components-page/account-settings/teams/team-member-list-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-page.d.ts +10 -0
- package/dist/esm/components-page/account-settings/teams/team-page.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-page.js +26 -0
- package/dist/esm/components-page/account-settings/teams/team-page.js.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-profile-image-section.d.ts +10 -0
- package/dist/esm/components-page/account-settings/teams/team-profile-image-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-profile-image-section.js +25 -0
- package/dist/esm/components-page/account-settings/teams/team-profile-image-section.js.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-profile-user-section.d.ts +10 -0
- package/dist/esm/components-page/account-settings/teams/team-profile-user-section.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings/teams/team-profile-user-section.js +25 -0
- package/dist/esm/components-page/account-settings/teams/team-profile-user-section.js.map +1 -0
- package/dist/esm/components-page/account-settings.d.ts +58 -0
- package/dist/esm/components-page/account-settings.d.ts.map +1 -0
- package/dist/esm/components-page/account-settings.js +264 -0
- package/dist/esm/components-page/account-settings.js.map +1 -0
- package/dist/esm/components-page/auth-page.d.ts +26 -0
- package/dist/esm/components-page/auth-page.d.ts.map +1 -0
- package/dist/esm/components-page/auth-page.js +161 -0
- package/dist/esm/components-page/auth-page.js.map +1 -0
- package/dist/esm/components-page/cli-auth-confirm.d.ts +21 -0
- package/dist/esm/components-page/cli-auth-confirm.d.ts.map +1 -0
- package/dist/esm/components-page/cli-auth-confirm.js +213 -0
- package/dist/esm/components-page/cli-auth-confirm.js.map +1 -0
- package/dist/esm/components-page/cli-auth-confirm.test.d.ts +1 -0
- package/dist/esm/components-page/cli-auth-confirm.test.js +175 -0
- package/dist/esm/components-page/cli-auth-confirm.test.js.map +1 -0
- package/dist/esm/components-page/email-verification.d.ts +10 -0
- package/dist/esm/components-page/email-verification.d.ts.map +1 -0
- package/dist/esm/components-page/email-verification.js +57 -0
- package/dist/esm/components-page/email-verification.js.map +1 -0
- package/dist/esm/components-page/error-page.d.ts +10 -0
- package/dist/esm/components-page/error-page.d.ts.map +1 -0
- package/dist/esm/components-page/error-page.js +75 -0
- package/dist/esm/components-page/error-page.js.map +1 -0
- package/dist/esm/components-page/forgot-password.d.ts +14 -0
- package/dist/esm/components-page/forgot-password.d.ts.map +1 -0
- package/dist/esm/components-page/forgot-password.js +100 -0
- package/dist/esm/components-page/forgot-password.js.map +1 -0
- package/dist/esm/components-page/magic-link-callback.d.ts +10 -0
- package/dist/esm/components-page/magic-link-callback.d.ts.map +1 -0
- package/dist/esm/components-page/magic-link-callback.js +72 -0
- package/dist/esm/components-page/magic-link-callback.js.map +1 -0
- package/dist/esm/components-page/mfa.d.ts +11 -0
- package/dist/esm/components-page/mfa.d.ts.map +1 -0
- package/dist/esm/components-page/mfa.js +164 -0
- package/dist/esm/components-page/mfa.js.map +1 -0
- package/dist/esm/components-page/oauth-callback.d.ts +11 -0
- package/dist/esm/components-page/oauth-callback.d.ts.map +1 -0
- package/dist/esm/components-page/oauth-callback.js +70 -0
- package/dist/esm/components-page/oauth-callback.js.map +1 -0
- package/dist/esm/components-page/onboarding.d.ts +9 -0
- package/dist/esm/components-page/onboarding.d.ts.map +1 -0
- package/dist/esm/components-page/onboarding.js +138 -0
- package/dist/esm/components-page/onboarding.js.map +1 -0
- package/dist/esm/components-page/password-reset.d.ts +17 -0
- package/dist/esm/components-page/password-reset.d.ts.map +1 -0
- package/dist/esm/components-page/password-reset.js +157 -0
- package/dist/esm/components-page/password-reset.js.map +1 -0
- package/dist/esm/components-page/section.d.ts +1 -0
- package/dist/esm/components-page/section.js +4 -0
- package/dist/esm/components-page/sign-in.d.ts +23 -0
- package/dist/esm/components-page/sign-in.d.ts.map +1 -0
- package/dist/esm/components-page/sign-in.js +18 -0
- package/dist/esm/components-page/sign-in.js.map +1 -0
- package/dist/esm/components-page/sign-out.d.ts +9 -0
- package/dist/esm/components-page/sign-out.d.ts.map +1 -0
- package/dist/esm/components-page/sign-out.js +24 -0
- package/dist/esm/components-page/sign-out.js.map +1 -0
- package/dist/esm/components-page/sign-up.d.ts +13 -0
- package/dist/esm/components-page/sign-up.d.ts.map +1 -0
- package/dist/esm/components-page/sign-up.js +20 -0
- package/dist/esm/components-page/sign-up.js.map +1 -0
- package/dist/esm/components-page/stack-handler-client.d.ts +49 -0
- package/dist/esm/components-page/stack-handler-client.d.ts.map +1 -0
- package/dist/esm/components-page/stack-handler-client.js +233 -0
- package/dist/esm/components-page/stack-handler-client.js.map +1 -0
- package/dist/esm/components-page/stack-handler.d.ts +33 -0
- package/dist/esm/components-page/stack-handler.d.ts.map +1 -0
- package/dist/esm/components-page/stack-handler.js +11 -0
- package/dist/esm/components-page/stack-handler.js.map +1 -0
- package/dist/esm/components-page/team-creation.d.ts +9 -0
- package/dist/esm/components-page/team-creation.d.ts.map +1 -0
- package/dist/esm/components-page/team-creation.js +78 -0
- package/dist/esm/components-page/team-creation.js.map +1 -0
- package/dist/esm/components-page/team-invitation.d.ts +13 -0
- package/dist/esm/components-page/team-invitation.d.ts.map +1 -0
- package/dist/esm/components-page/team-invitation.js +106 -0
- package/dist/esm/components-page/team-invitation.js.map +1 -0
- package/dist/esm/dev-tool/dev-tool-core.d.ts +7 -0
- package/dist/esm/dev-tool/dev-tool-core.d.ts.map +1 -0
- package/dist/esm/dev-tool/dev-tool-core.js +2105 -0
- package/dist/esm/dev-tool/dev-tool-core.js.map +1 -0
- package/dist/esm/dev-tool/dev-tool-styles.d.ts +5 -0
- package/dist/esm/dev-tool/dev-tool-styles.d.ts.map +1 -0
- package/dist/esm/dev-tool/dev-tool-styles.js +2755 -0
- package/dist/esm/dev-tool/dev-tool-styles.js.map +1 -0
- package/dist/esm/dev-tool/dev-tool-trigger-position.d.ts +36 -0
- package/dist/esm/dev-tool/dev-tool-trigger-position.d.ts.map +1 -0
- package/dist/esm/dev-tool/dev-tool-trigger-position.js +65 -0
- package/dist/esm/dev-tool/dev-tool-trigger-position.js.map +1 -0
- package/dist/esm/dev-tool/dev-tool-trigger-position.test.d.ts +1 -0
- package/dist/esm/dev-tool/dev-tool-trigger-position.test.js +155 -0
- package/dist/esm/dev-tool/dev-tool-trigger-position.test.js.map +1 -0
- package/dist/esm/dev-tool/index.d.ts +19 -0
- package/dist/esm/dev-tool/index.d.ts.map +1 -0
- package/dist/esm/dev-tool/index.js +117 -0
- package/dist/esm/dev-tool/index.js.map +1 -0
- package/dist/esm/generated/global-css.d.ts +5 -0
- package/dist/esm/generated/global-css.d.ts.map +1 -0
- package/dist/esm/generated/global-css.js +6 -0
- package/dist/esm/generated/global-css.js.map +1 -0
- package/dist/esm/generated/quetzal-translations.d.ts +6 -0
- package/dist/esm/generated/quetzal-translations.d.ts.map +1 -0
- package/dist/esm/generated/quetzal-translations.js +4307 -0
- package/dist/esm/generated/quetzal-translations.js.map +1 -0
- package/dist/esm/global.d.ts +1 -0
- package/dist/esm/index.d.ts +27 -0
- package/dist/esm/index.js +28 -0
- package/dist/esm/integrations/convex/component/convex.config.d.ts +7 -0
- package/dist/esm/integrations/convex/component/convex.config.d.ts.map +1 -0
- package/dist/esm/integrations/convex/component/convex.config.js +8 -0
- package/dist/esm/integrations/convex/component/convex.config.js.map +1 -0
- package/dist/esm/integrations/convex.d.ts +13 -0
- package/dist/esm/integrations/convex.d.ts.map +1 -0
- package/dist/esm/integrations/convex.js +23 -0
- package/dist/esm/integrations/convex.js.map +1 -0
- package/dist/esm/lib/auth.d.ts +29 -0
- package/dist/esm/lib/auth.d.ts.map +1 -0
- package/dist/esm/lib/auth.js +108 -0
- package/dist/esm/lib/auth.js.map +1 -0
- package/dist/esm/lib/auth.test.d.ts +1 -0
- package/dist/esm/lib/auth.test.js +60 -0
- package/dist/esm/lib/auth.test.js.map +1 -0
- package/dist/esm/lib/cookie.d.ts +50 -0
- package/dist/esm/lib/cookie.d.ts.map +1 -0
- package/dist/esm/lib/cookie.js +347 -0
- package/dist/esm/lib/cookie.js.map +1 -0
- package/dist/esm/lib/env.d.ts +37 -0
- package/dist/esm/lib/env.d.ts.map +1 -0
- package/dist/esm/lib/env.js +88 -0
- package/dist/esm/lib/env.js.map +1 -0
- package/dist/esm/lib/hooks.d.ts +33 -0
- package/dist/esm/lib/hooks.d.ts.map +1 -0
- package/dist/esm/lib/hooks.js +27 -0
- package/dist/esm/lib/hooks.js.map +1 -0
- package/dist/esm/lib/stack-app/api-keys/index.d.ts +53 -0
- package/dist/esm/lib/stack-app/api-keys/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/api-keys/index.js +22 -0
- package/dist/esm/lib/stack-app/api-keys/index.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.d.ts +423 -0
- package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js +1041 -0
- package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.d.ts +562 -0
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js +2631 -0
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.d.ts +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.js +32 -0
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/common.d.ts +66 -0
- package/dist/esm/lib/stack-app/apps/implementations/common.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/common.js +167 -0
- package/dist/esm/lib/stack-app/apps/implementations/common.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/event-tracker.d.ts +42 -0
- package/dist/esm/lib/stack-app/apps/implementations/event-tracker.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/event-tracker.js +211 -0
- package/dist/esm/lib/stack-app/apps/implementations/event-tracker.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/event-tracker.test.d.ts +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/event-tracker.test.js +87 -0
- package/dist/esm/lib/stack-app/apps/implementations/event-tracker.test.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/index.d.ts +9 -0
- package/dist/esm/lib/stack-app/apps/implementations/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/index.js +27 -0
- package/dist/esm/lib/stack-app/apps/implementations/index.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/redirect-page-urls.d.ts +35 -0
- package/dist/esm/lib/stack-app/apps/implementations/redirect-page-urls.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/redirect-page-urls.js +187 -0
- package/dist/esm/lib/stack-app/apps/implementations/redirect-page-urls.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.d.ts +260 -0
- package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js +1383 -0
- package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.d.ts +28 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.js +31 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.test.d.ts +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.test.js +82 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-refresh-subscription.test.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-replay.d.ts +108 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-replay.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-replay.js +234 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-replay.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-replay.test.d.ts +1 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-replay.test.js +29 -0
- package/dist/esm/lib/stack-app/apps/implementations/session-replay.test.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/index.d.ts +4 -0
- package/dist/esm/lib/stack-app/apps/index.js +5 -0
- package/dist/esm/lib/stack-app/apps/interfaces/admin-app.d.ts +252 -0
- package/dist/esm/lib/stack-app/apps/interfaces/admin-app.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/apps/interfaces/admin-app.js +8 -0
- package/dist/esm/lib/stack-app/apps/interfaces/admin-app.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/interfaces/client-app.d.ts +220 -0
- package/dist/esm/lib/stack-app/apps/interfaces/client-app.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/apps/interfaces/client-app.js +8 -0
- package/dist/esm/lib/stack-app/apps/interfaces/client-app.js.map +1 -0
- package/dist/esm/lib/stack-app/apps/interfaces/server-app.d.ts +153 -0
- package/dist/esm/lib/stack-app/apps/interfaces/server-app.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/apps/interfaces/server-app.js +8 -0
- package/dist/esm/lib/stack-app/apps/interfaces/server-app.js.map +1 -0
- package/dist/esm/lib/stack-app/common.d.ts +183 -0
- package/dist/esm/lib/stack-app/common.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/common.js +7 -0
- package/dist/esm/lib/stack-app/common.js.map +1 -0
- package/dist/esm/lib/stack-app/connected-accounts/index.d.ts +57 -0
- package/dist/esm/lib/stack-app/connected-accounts/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/connected-accounts/index.js +1 -0
- package/dist/esm/lib/stack-app/contact-channels/index.d.ts +43 -0
- package/dist/esm/lib/stack-app/contact-channels/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/contact-channels/index.js +39 -0
- package/dist/esm/lib/stack-app/contact-channels/index.js.map +1 -0
- package/dist/esm/lib/stack-app/customers/index.d.ts +129 -0
- package/dist/esm/lib/stack-app/customers/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/customers/index.js +1 -0
- package/dist/esm/lib/stack-app/data-vault/index.d.ts +14 -0
- package/dist/esm/lib/stack-app/data-vault/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/data-vault/index.js +1 -0
- package/dist/esm/lib/stack-app/email/index.d.ts +204 -0
- package/dist/esm/lib/stack-app/email/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/email/index.js +1 -0
- package/dist/esm/lib/stack-app/email-templates/index.d.ts +17 -0
- package/dist/esm/lib/stack-app/email-templates/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/email-templates/index.js +11 -0
- package/dist/esm/lib/stack-app/email-templates/index.js.map +1 -0
- package/dist/esm/lib/stack-app/index.d.ts +14 -0
- package/dist/esm/lib/stack-app/index.js +5 -0
- package/dist/esm/lib/stack-app/internal-api-keys/index.d.ts +42 -0
- package/dist/esm/lib/stack-app/internal-api-keys/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/internal-api-keys/index.js +14 -0
- package/dist/esm/lib/stack-app/internal-api-keys/index.js.map +1 -0
- package/dist/esm/lib/stack-app/notification-categories/index.d.ts +11 -0
- package/dist/esm/lib/stack-app/notification-categories/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/notification-categories/index.js +1 -0
- package/dist/esm/lib/stack-app/permissions/index.d.ts +43 -0
- package/dist/esm/lib/stack-app/permissions/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/permissions/index.js +31 -0
- package/dist/esm/lib/stack-app/permissions/index.js.map +1 -0
- package/dist/esm/lib/stack-app/project-configs/index.d.ts +99 -0
- package/dist/esm/lib/stack-app/project-configs/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/project-configs/index.js +1 -0
- package/dist/esm/lib/stack-app/projects/index.d.ts +147 -0
- package/dist/esm/lib/stack-app/projects/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/projects/index.js +66 -0
- package/dist/esm/lib/stack-app/projects/index.js.map +1 -0
- package/dist/esm/lib/stack-app/session-replays/index.d.ts +66 -0
- package/dist/esm/lib/stack-app/session-replays/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/session-replays/index.js +1 -0
- package/dist/esm/lib/stack-app/teams/index.d.ts +163 -0
- package/dist/esm/lib/stack-app/teams/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/teams/index.js +35 -0
- package/dist/esm/lib/stack-app/teams/index.js.map +1 -0
- package/dist/esm/lib/stack-app/url-targets.d.ts +40 -0
- package/dist/esm/lib/stack-app/url-targets.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/url-targets.js +280 -0
- package/dist/esm/lib/stack-app/url-targets.js.map +1 -0
- package/dist/esm/lib/stack-app/url-targets.test.d.ts +1 -0
- package/dist/esm/lib/stack-app/url-targets.test.js +169 -0
- package/dist/esm/lib/stack-app/url-targets.test.js.map +1 -0
- package/dist/esm/lib/stack-app/users/index.d.ts +400 -0
- package/dist/esm/lib/stack-app/users/index.d.ts.map +1 -0
- package/dist/esm/lib/stack-app/users/index.js +71 -0
- package/dist/esm/lib/stack-app/users/index.js.map +1 -0
- package/dist/esm/lib/translations.d.ts +7 -0
- package/dist/esm/lib/translations.d.ts.map +1 -0
- package/dist/esm/lib/translations.js +18 -0
- package/dist/esm/lib/translations.js.map +1 -0
- package/dist/esm/providers/stack-context.d.ts +10 -0
- package/dist/esm/providers/stack-context.d.ts.map +1 -0
- package/dist/esm/providers/stack-context.js +10 -0
- package/dist/esm/providers/stack-context.js.map +1 -0
- package/dist/esm/providers/stack-provider-client.d.ts +17 -0
- package/dist/esm/providers/stack-provider-client.d.ts.map +1 -0
- package/dist/esm/providers/stack-provider-client.js +30 -0
- package/dist/esm/providers/stack-provider-client.js.map +1 -0
- package/dist/esm/providers/stack-provider.d.ts +26 -0
- package/dist/esm/providers/stack-provider.d.ts.map +1 -0
- package/dist/esm/providers/stack-provider.js +24 -0
- package/dist/esm/providers/stack-provider.js.map +1 -0
- package/dist/esm/providers/theme-provider.d.ts +46 -0
- package/dist/esm/providers/theme-provider.d.ts.map +1 -0
- package/dist/esm/providers/theme-provider.js +68 -0
- package/dist/esm/providers/theme-provider.js.map +1 -0
- package/dist/esm/providers/translation-provider-client.d.ts +16 -0
- package/dist/esm/providers/translation-provider-client.d.ts.map +1 -0
- package/dist/esm/providers/translation-provider-client.js +20 -0
- package/dist/esm/providers/translation-provider-client.js.map +1 -0
- package/dist/esm/providers/translation-provider.d.ts +16 -0
- package/dist/esm/providers/translation-provider.d.ts.map +1 -0
- package/dist/esm/providers/translation-provider.js +23 -0
- package/dist/esm/providers/translation-provider.js.map +1 -0
- package/dist/esm/tanstack-start-server-context.combined.d.ts +12 -0
- package/dist/esm/tanstack-start-server-context.combined.d.ts.map +1 -0
- package/dist/esm/tanstack-start-server-context.combined.js +1 -0
- package/dist/esm/tanstack-start-server-context.default.d.ts +9 -0
- package/dist/esm/tanstack-start-server-context.default.d.ts.map +1 -0
- package/dist/esm/tanstack-start-server-context.default.js +10 -0
- package/dist/esm/tanstack-start-server-context.default.js.map +1 -0
- package/dist/esm/tanstack-start-server-context.server.d.ts +2 -0
- package/dist/esm/tanstack-start-server-context.server.js +3 -0
- package/dist/esm/utils/browser-script.d.ts +9 -0
- package/dist/esm/utils/browser-script.d.ts.map +1 -0
- package/dist/esm/utils/browser-script.js +105 -0
- package/dist/esm/utils/browser-script.js.map +1 -0
- package/dist/esm/utils/constants.d.ts +81 -0
- package/dist/esm/utils/constants.d.ts.map +1 -0
- package/dist/esm/utils/constants.js +82 -0
- package/dist/esm/utils/constants.js.map +1 -0
- package/dist/esm/utils/url.d.ts +5 -0
- package/dist/esm/utils/url.d.ts.map +1 -0
- package/dist/esm/utils/url.js +16 -0
- package/dist/esm/utils/url.js.map +1 -0
- package/dist/generated/global-css.d.ts +5 -0
- package/dist/generated/global-css.d.ts.map +1 -0
- package/dist/generated/global-css.js +8 -0
- package/dist/generated/global-css.js.map +1 -0
- package/dist/generated/quetzal-translations.d.ts +6 -0
- package/dist/generated/quetzal-translations.d.ts.map +1 -0
- package/dist/generated/quetzal-translations.js +4310 -0
- package/dist/generated/quetzal-translations.js.map +1 -0
- package/dist/global.d.d.ts +0 -0
- package/dist/global.d.ts +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.js +192 -0
- package/dist/integrations/convex/component/convex.config.d.ts +61 -0
- package/dist/integrations/convex/component/convex.config.d.ts.map +1 -0
- package/dist/integrations/convex/component/convex.config.js +9 -0
- package/dist/integrations/convex/component/convex.config.js.map +1 -0
- package/dist/integrations/convex.d.ts +13 -0
- package/dist/integrations/convex.d.ts.map +1 -0
- package/dist/integrations/convex.js +25 -0
- package/dist/integrations/convex.js.map +1 -0
- package/dist/lib/auth.d.ts +29 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/auth.js +111 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/auth.test.d.ts +1 -0
- package/dist/lib/auth.test.js +60 -0
- package/dist/lib/auth.test.js.map +1 -0
- package/dist/lib/cookie.d.ts +50 -0
- package/dist/lib/cookie.d.ts.map +1 -0
- package/dist/lib/cookie.js +366 -0
- package/dist/lib/cookie.js.map +1 -0
- package/dist/lib/env.d.ts +37 -0
- package/dist/lib/env.d.ts.map +1 -0
- package/dist/lib/env.js +90 -0
- package/dist/lib/env.js.map +1 -0
- package/dist/lib/hooks.d.ts +35 -0
- package/dist/lib/hooks.d.ts.map +1 -0
- package/dist/lib/hooks.js +30 -0
- package/dist/lib/hooks.js.map +1 -0
- package/dist/lib/stack-app/api-keys/index.d.ts +53 -0
- package/dist/lib/stack-app/api-keys/index.d.ts.map +1 -0
- package/dist/lib/stack-app/api-keys/index.js +25 -0
- package/dist/lib/stack-app/api-keys/index.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/admin-app-impl.d.ts +421 -0
- package/dist/lib/stack-app/apps/implementations/admin-app-impl.d.ts.map +1 -0
- package/dist/lib/stack-app/apps/implementations/admin-app-impl.js +1043 -0
- package/dist/lib/stack-app/apps/implementations/admin-app-impl.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/client-app-impl.d.ts +561 -0
- package/dist/lib/stack-app/apps/implementations/client-app-impl.d.ts.map +1 -0
- package/dist/lib/stack-app/apps/implementations/client-app-impl.js +2637 -0
- package/dist/lib/stack-app/apps/implementations/client-app-impl.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.d.ts +1 -0
- package/dist/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.js +32 -0
- package/dist/lib/stack-app/apps/implementations/client-app-impl.oauth-prefetch.test.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/common.d.ts +66 -0
- package/dist/lib/stack-app/apps/implementations/common.d.ts.map +1 -0
- package/dist/lib/stack-app/apps/implementations/common.js +186 -0
- package/dist/lib/stack-app/apps/implementations/common.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/event-tracker.d.ts +42 -0
- package/dist/lib/stack-app/apps/implementations/event-tracker.d.ts.map +1 -0
- package/dist/lib/stack-app/apps/implementations/event-tracker.js +213 -0
- package/dist/lib/stack-app/apps/implementations/event-tracker.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/event-tracker.test.d.ts +1 -0
- package/dist/lib/stack-app/apps/implementations/event-tracker.test.js +87 -0
- package/dist/lib/stack-app/apps/implementations/event-tracker.test.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/index.d.ts +9 -0
- package/dist/lib/stack-app/apps/implementations/index.d.ts.map +1 -0
- package/dist/lib/stack-app/apps/implementations/index.js +31 -0
- package/dist/lib/stack-app/apps/implementations/index.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/redirect-page-urls.d.ts +35 -0
- package/dist/lib/stack-app/apps/implementations/redirect-page-urls.d.ts.map +1 -0
- package/dist/lib/stack-app/apps/implementations/redirect-page-urls.js +191 -0
- package/dist/lib/stack-app/apps/implementations/redirect-page-urls.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/server-app-impl.d.ts +260 -0
- package/dist/lib/stack-app/apps/implementations/server-app-impl.d.ts.map +1 -0
- package/dist/lib/stack-app/apps/implementations/server-app-impl.js +1385 -0
- package/dist/lib/stack-app/apps/implementations/server-app-impl.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.d.ts +28 -0
- package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.d.ts.map +1 -0
- package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.js +33 -0
- package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.test.d.ts +1 -0
- package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.test.js +82 -0
- package/dist/lib/stack-app/apps/implementations/session-refresh-subscription.test.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/session-replay.d.ts +108 -0
- package/dist/lib/stack-app/apps/implementations/session-replay.d.ts.map +1 -0
- package/dist/lib/stack-app/apps/implementations/session-replay.js +242 -0
- package/dist/lib/stack-app/apps/implementations/session-replay.js.map +1 -0
- package/dist/lib/stack-app/apps/implementations/session-replay.test.d.ts +1 -0
- package/dist/lib/stack-app/apps/implementations/session-replay.test.js +29 -0
- package/dist/lib/stack-app/apps/implementations/session-replay.test.js.map +1 -0
- package/dist/lib/stack-app/apps/index.d.ts +4 -0
- package/dist/lib/stack-app/apps/index.js +24 -0
- package/dist/lib/stack-app/apps/interfaces/admin-app.d.ts +252 -0
- package/dist/lib/stack-app/apps/interfaces/admin-app.d.ts.map +1 -0
- package/dist/lib/stack-app/apps/interfaces/admin-app.js +10 -0
- package/dist/lib/stack-app/apps/interfaces/admin-app.js.map +1 -0
- package/dist/lib/stack-app/apps/interfaces/client-app.d.ts +220 -0
- package/dist/lib/stack-app/apps/interfaces/client-app.d.ts.map +1 -0
- package/dist/lib/stack-app/apps/interfaces/client-app.js +10 -0
- package/dist/lib/stack-app/apps/interfaces/client-app.js.map +1 -0
- package/dist/lib/stack-app/apps/interfaces/server-app.d.ts +153 -0
- package/dist/lib/stack-app/apps/interfaces/server-app.d.ts.map +1 -0
- package/dist/lib/stack-app/apps/interfaces/server-app.js +10 -0
- package/dist/lib/stack-app/apps/interfaces/server-app.js.map +1 -0
- package/dist/lib/stack-app/common.d.ts +183 -0
- package/dist/lib/stack-app/common.d.ts.map +1 -0
- package/dist/lib/stack-app/common.js +9 -0
- package/dist/lib/stack-app/common.js.map +1 -0
- package/dist/lib/stack-app/connected-accounts/index.d.ts +57 -0
- package/dist/lib/stack-app/connected-accounts/index.d.ts.map +1 -0
- package/dist/lib/stack-app/connected-accounts/index.js +0 -0
- package/dist/lib/stack-app/contact-channels/index.d.ts +43 -0
- package/dist/lib/stack-app/contact-channels/index.d.ts.map +1 -0
- package/dist/lib/stack-app/contact-channels/index.js +44 -0
- package/dist/lib/stack-app/contact-channels/index.js.map +1 -0
- package/dist/lib/stack-app/customers/index.d.ts +129 -0
- package/dist/lib/stack-app/customers/index.d.ts.map +1 -0
- package/dist/lib/stack-app/customers/index.js +0 -0
- package/dist/lib/stack-app/data-vault/index.d.ts +14 -0
- package/dist/lib/stack-app/data-vault/index.d.ts.map +1 -0
- package/dist/lib/stack-app/data-vault/index.js +0 -0
- package/dist/lib/stack-app/email/index.d.ts +204 -0
- package/dist/lib/stack-app/email/index.d.ts.map +1 -0
- package/dist/lib/stack-app/email/index.js +0 -0
- package/dist/lib/stack-app/email-templates/index.d.ts +17 -0
- package/dist/lib/stack-app/email-templates/index.d.ts.map +1 -0
- package/dist/lib/stack-app/email-templates/index.js +13 -0
- package/dist/lib/stack-app/email-templates/index.js.map +1 -0
- package/dist/lib/stack-app/index.d.ts +15 -0
- package/dist/lib/stack-app/index.js +36 -0
- package/dist/lib/stack-app/internal-api-keys/index.d.ts +42 -0
- package/dist/lib/stack-app/internal-api-keys/index.d.ts.map +1 -0
- package/dist/lib/stack-app/internal-api-keys/index.js +16 -0
- package/dist/lib/stack-app/internal-api-keys/index.js.map +1 -0
- package/dist/lib/stack-app/notification-categories/index.d.ts +11 -0
- package/dist/lib/stack-app/notification-categories/index.d.ts.map +1 -0
- package/dist/lib/stack-app/notification-categories/index.js +0 -0
- package/dist/lib/stack-app/permissions/index.d.ts +43 -0
- package/dist/lib/stack-app/permissions/index.d.ts.map +1 -0
- package/dist/lib/stack-app/permissions/index.js +36 -0
- package/dist/lib/stack-app/permissions/index.js.map +1 -0
- package/dist/lib/stack-app/project-configs/index.d.ts +99 -0
- package/dist/lib/stack-app/project-configs/index.d.ts.map +1 -0
- package/dist/lib/stack-app/project-configs/index.js +0 -0
- package/dist/lib/stack-app/projects/index.d.ts +147 -0
- package/dist/lib/stack-app/projects/index.d.ts.map +1 -0
- package/dist/lib/stack-app/projects/index.js +69 -0
- package/dist/lib/stack-app/projects/index.js.map +1 -0
- package/dist/lib/stack-app/session-replays/index.d.ts +66 -0
- package/dist/lib/stack-app/session-replays/index.d.ts.map +1 -0
- package/dist/lib/stack-app/session-replays/index.js +0 -0
- package/dist/lib/stack-app/teams/index.d.ts +163 -0
- package/dist/lib/stack-app/teams/index.d.ts.map +1 -0
- package/dist/lib/stack-app/teams/index.js +40 -0
- package/dist/lib/stack-app/teams/index.js.map +1 -0
- package/dist/lib/stack-app/url-targets.d.ts +40 -0
- package/dist/lib/stack-app/url-targets.d.ts.map +1 -0
- package/dist/lib/stack-app/url-targets.js +289 -0
- package/dist/lib/stack-app/url-targets.js.map +1 -0
- package/dist/lib/stack-app/url-targets.test.d.ts +1 -0
- package/dist/lib/stack-app/url-targets.test.js +169 -0
- package/dist/lib/stack-app/url-targets.test.js.map +1 -0
- package/dist/lib/stack-app/users/index.d.ts +400 -0
- package/dist/lib/stack-app/users/index.d.ts.map +1 -0
- package/dist/lib/stack-app/users/index.js +76 -0
- package/dist/lib/stack-app/users/index.js.map +1 -0
- package/dist/lib/translations.d.ts +7 -0
- package/dist/lib/translations.d.ts.map +1 -0
- package/dist/lib/translations.js +21 -0
- package/dist/lib/translations.js.map +1 -0
- package/dist/providers/stack-context.d.ts +10 -0
- package/dist/providers/stack-context.d.ts.map +1 -0
- package/dist/providers/stack-context.js +13 -0
- package/dist/providers/stack-context.js.map +1 -0
- package/dist/providers/stack-provider-client.d.ts +17 -0
- package/dist/providers/stack-provider-client.d.ts.map +1 -0
- package/dist/providers/stack-provider-client.js +34 -0
- package/dist/providers/stack-provider-client.js.map +1 -0
- package/dist/providers/stack-provider.d.ts +25 -0
- package/dist/providers/stack-provider.d.ts.map +1 -0
- package/dist/providers/stack-provider.js +26 -0
- package/dist/providers/stack-provider.js.map +1 -0
- package/dist/providers/theme-provider.d.ts +46 -0
- package/dist/providers/theme-provider.d.ts.map +1 -0
- package/dist/providers/theme-provider.js +72 -0
- package/dist/providers/theme-provider.js.map +1 -0
- package/dist/providers/translation-provider-client.d.ts +16 -0
- package/dist/providers/translation-provider-client.d.ts.map +1 -0
- package/dist/providers/translation-provider-client.js +23 -0
- package/dist/providers/translation-provider-client.js.map +1 -0
- package/dist/providers/translation-provider.d.ts +16 -0
- package/dist/providers/translation-provider.d.ts.map +1 -0
- package/dist/providers/translation-provider.js +25 -0
- package/dist/providers/translation-provider.js.map +1 -0
- package/dist/storage-CKzvsBxG.d.ts +1912 -0
- package/dist/storage-CKzvsBxG.d.ts.map +1 -0
- package/dist/tanstack-start-server-context.combined.d.ts +12 -0
- package/dist/tanstack-start-server-context.combined.d.ts.map +1 -0
- package/dist/tanstack-start-server-context.combined.js +0 -0
- package/dist/tanstack-start-server-context.default.d.ts +9 -0
- package/dist/tanstack-start-server-context.default.d.ts.map +1 -0
- package/dist/tanstack-start-server-context.default.js +16 -0
- package/dist/tanstack-start-server-context.default.js.map +1 -0
- package/dist/tanstack-start-server-context.server.d.ts +2 -0
- package/dist/tanstack-start-server-context.server.js +34 -0
- package/dist/utils/browser-script.d.ts +9 -0
- package/dist/utils/browser-script.d.ts.map +1 -0
- package/dist/utils/browser-script.js +107 -0
- package/dist/utils/browser-script.js.map +1 -0
- package/dist/utils/constants.d.ts +81 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +92 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/url.d.ts +5 -0
- package/dist/utils/url.d.ts.map +1 -0
- package/dist/utils/url.js +18 -0
- package/dist/utils/url.js.map +1 -0
- package/package.json +129 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-auth-confirm.test.js","names":[],"sources":["../../../src/components-page/cli-auth-confirm.test.tsx"],"sourcesContent":["\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY, INSTEAD EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n// @vitest-environment jsdom\n\nimport { runAsynchronously } from \"@stackframe/stack-shared/dist/utils/promises\";\nimport React, { act } from \"react\";\nimport { createRoot, type Root } from \"react-dom/client\";\nimport { afterEach, beforeEach, describe, expect, it, vi } from \"vitest\";\nimport type { StackClientApp } from \"../lib/stack-app/apps/interfaces/client-app\";\nimport { stackAppInternalsSymbol } from \"../lib/stack-app/common\";\nimport { StackContext } from \"../providers/stack-context\";\nimport { useCliAuthConfirmation } from \"./cli-auth-confirm\";\n\nconst previousActEnvironment = Reflect.get(globalThis, \"IS_REACT_ACT_ENVIRONMENT\");\n\nfunction responseJson(data: unknown, init?: ResponseInit) {\n return new Response(JSON.stringify(data), {\n status: init?.status ?? 200,\n headers: { \"Content-Type\": \"application/json\" },\n });\n}\n\nfunction createAppTestDouble(options: {\n user: unknown,\n sendRequest: (path: string, requestOptions: RequestInit) => Promise<Response>,\n signInWithTokens?: (tokens: { accessToken: string, refreshToken: string }) => Promise<void>,\n redirectToSignIn?: (options: { replace: true }) => Promise<void>,\n redirectToSignUp?: (options: { replace: true }) => Promise<void>,\n}) {\n const app = {\n useUser: () => options.user,\n redirectToSignIn: options.redirectToSignIn ?? vi.fn(async () => {}),\n redirectToSignUp: options.redirectToSignUp ?? vi.fn(async () => {}),\n [stackAppInternalsSymbol]: {\n sendRequest: options.sendRequest,\n signInWithTokens: options.signInWithTokens ?? vi.fn(async () => {}),\n },\n };\n\n // This test double intentionally implements only the StackClientApp surface\n // that useCliAuthConfirmation touches.\n return app as unknown as StackClientApp<true>;\n}\n\nfunction HookProbe() {\n const cliAuth = useCliAuthConfirmation();\n return (\n <>\n <div data-testid=\"status\">{cliAuth.status}</div>\n <div data-testid=\"error\">{cliAuth.error?.message}</div>\n <button type=\"button\" onClick={() => runAsynchronously(cliAuth.authorize)}>authorize</button>\n <button onClick={cliAuth.retry}>retry</button>\n </>\n );\n}\n\nlet root: Root | null = null;\nlet container: HTMLDivElement | null = null;\n\nasync function renderWithApp(app: StackClientApp<true>) {\n container = document.createElement(\"div\");\n document.body.append(container);\n root = createRoot(container);\n await act(async () => {\n root?.render(\n <StackContext.Provider value={{ app }}>\n <HookProbe />\n </StackContext.Provider>\n );\n });\n}\n\nfunction getByTestId(testId: string): HTMLElement {\n const element = container?.querySelector(`[data-testid=\"${testId}\"]`);\n if (!(element instanceof HTMLElement)) {\n throw new Error(`Could not find test element ${testId}`);\n }\n return element;\n}\n\nfunction getButton(label: string): HTMLButtonElement {\n const button = [...container?.querySelectorAll(\"button\") ?? []]\n .find((element) => element.textContent === label);\n if (!(button instanceof HTMLButtonElement)) {\n throw new Error(`Could not find button ${label}`);\n }\n return button;\n}\n\ndescribe(\"useCliAuthConfirmation\", () => {\n beforeEach(() => {\n Reflect.set(globalThis, \"IS_REACT_ACT_ENVIRONMENT\", true);\n });\n\n afterEach(() => {\n act(() => {\n root?.unmount();\n });\n container?.remove();\n root = null;\n container = null;\n vi.restoreAllMocks();\n window.history.replaceState({}, \"\", \"/\");\n Reflect.set(globalThis, \"IS_REACT_ACT_ENVIRONMENT\", previousActEnvironment);\n });\n\n it(\"completes CLI auth with the current user's refresh token\", async () => {\n window.history.replaceState({}, \"\", \"/handler/cli-auth-confirm?login_code=login-code\");\n const getTokens = vi.fn(async () => ({ refreshToken: \"refresh-token\" }));\n const sendRequest = vi.fn(async (_path: string, _requestOptions: RequestInit) => new Response(null, { status: 200 }));\n const app = createAppTestDouble({\n user: { currentSession: { getTokens } },\n sendRequest,\n });\n\n await renderWithApp(app);\n await act(async () => {\n getButton(\"authorize\").click();\n });\n\n expect(getByTestId(\"status\").textContent).toBe(\"success\");\n expect(getTokens).toHaveBeenCalledOnce();\n expect(sendRequest).toHaveBeenCalledOnce();\n expect(sendRequest.mock.calls[0][0]).toBe(\"/auth/cli/complete\");\n expect(JSON.parse(String(sendRequest.mock.calls[0][1].body))).toMatchInlineSnapshot(`\n {\n \"login_code\": \"login-code\",\n \"refresh_token\": \"refresh-token\",\n }\n `);\n });\n\n it(\"ignores duplicate authorize clicks before React re-renders\", async () => {\n window.history.replaceState({}, \"\", \"/handler/cli-auth-confirm?login_code=login-code\");\n const getTokens = vi.fn(async () => ({ refreshToken: \"refresh-token\" }));\n const sendRequest = vi.fn(async (_path: string, _requestOptions: RequestInit) => new Response(null, { status: 200 }));\n const app = createAppTestDouble({\n user: { currentSession: { getTokens } },\n sendRequest,\n });\n\n await renderWithApp(app);\n await act(async () => {\n const authorizeButton = getButton(\"authorize\");\n authorizeButton.click();\n authorizeButton.click();\n });\n\n expect(sendRequest).toHaveBeenCalledOnce();\n });\n\n it(\"claims anonymous CLI sessions before redirecting to sign-up\", async () => {\n window.history.replaceState({}, \"\", \"/handler/cli-auth-confirm?login_code=login-code\");\n const signInWithTokens = vi.fn(async (_tokens: { accessToken: string, refreshToken: string }) => {});\n const redirectToSignUp = vi.fn(async (_options: { replace: true }) => {});\n const sendRequest = vi.fn(async (_path: string, _requestOptions: RequestInit) => new Response(null, { status: 200 }))\n .mockResolvedValueOnce(responseJson({ cli_session_state: \"anonymous\" }))\n .mockResolvedValueOnce(responseJson({ access_token: \"access-token\", refresh_token: \"refresh-token\" }));\n const app = createAppTestDouble({\n user: null,\n sendRequest,\n signInWithTokens,\n redirectToSignUp,\n });\n\n await renderWithApp(app);\n await act(async () => {\n getButton(\"authorize\").click();\n });\n\n expect(redirectToSignUp).toHaveBeenCalledWith({ replace: true });\n expect(signInWithTokens).toHaveBeenCalledWith({\n accessToken: \"access-token\",\n refreshToken: \"refresh-token\",\n });\n expect(sessionStorage.getItem(\"stack-cli-auth-confirmed\")).toBe(\"login-code\");\n expect(sendRequest.mock.calls.map(call => JSON.parse(String(call[1].body)))).toMatchInlineSnapshot(`\n [\n {\n \"login_code\": \"login-code\",\n \"mode\": \"check\",\n },\n {\n \"login_code\": \"login-code\",\n \"mode\": \"claim-anon-session\",\n },\n ]\n `);\n });\n\n it(\"reports invalid when the login code is missing\", async () => {\n window.history.replaceState({}, \"\", \"/handler/cli-auth-confirm\");\n const app = createAppTestDouble({\n user: null,\n sendRequest: vi.fn(async (_path: string, _requestOptions: RequestInit) => new Response(null, { status: 200 })),\n });\n\n await renderWithApp(app);\n\n expect(getByTestId(\"status\").textContent).toBe(\"invalid\");\n });\n});\n"],"mappings":";;;;;;;;;;;AAeA,MAAM,yBAAyB,QAAQ,IAAI,YAAY,2BAA2B;AAElF,SAAS,aAAa,MAAe,MAAqB;AACxD,QAAO,IAAI,SAAS,KAAK,UAAU,KAAK,EAAE;EACxC,QAAQ,MAAM,UAAU;EACxB,SAAS,EAAE,gBAAgB,oBAAoB;EAChD,CAAC;;AAGJ,SAAS,oBAAoB,SAM1B;AAaD,QAZY;EACV,eAAe,QAAQ;EACvB,kBAAkB,QAAQ,oBAAoB,GAAG,GAAG,YAAY,GAAG;EACnE,kBAAkB,QAAQ,oBAAoB,GAAG,GAAG,YAAY,GAAG;GAClE,0BAA0B;GACzB,aAAa,QAAQ;GACrB,kBAAkB,QAAQ,oBAAoB,GAAG,GAAG,YAAY,GAAG;GACpE;EACF;;AAOH,SAAS,YAAY;CACnB,MAAM,UAAU,wBAAwB;AACxC,QACE;EACE,oBAAC;GAAI,eAAY;aAAU,QAAQ;IAAa;EAChD,oBAAC;GAAI,eAAY;aAAS,QAAQ,OAAO;IAAc;EACvD,oBAAC;GAAO,MAAK;GAAS,eAAe,kBAAkB,QAAQ,UAAU;aAAE;IAAkB;EAC7F,oBAAC;GAAO,SAAS,QAAQ;aAAO;IAAc;KAC7C;;AAIP,IAAI,OAAoB;AACxB,IAAI,YAAmC;AAEvC,eAAe,cAAc,KAA2B;AACtD,aAAY,SAAS,cAAc,MAAM;AACzC,UAAS,KAAK,OAAO,UAAU;AAC/B,QAAO,WAAW,UAAU;AAC5B,OAAM,IAAI,YAAY;AACpB,QAAM,OACJ,oBAAC,aAAa;GAAS,OAAO,EAAE,KAAK;aACnC,oBAAC,cAAY;IACS,CACzB;GACD;;AAGJ,SAAS,YAAY,QAA6B;CAChD,MAAM,UAAU,WAAW,cAAc,iBAAiB,OAAO,IAAI;AACrE,KAAI,EAAE,mBAAmB,aACvB,OAAM,IAAI,MAAM,+BAA+B,SAAS;AAE1D,QAAO;;AAGT,SAAS,UAAU,OAAkC;CACnD,MAAM,SAAS,CAAC,GAAG,WAAW,iBAAiB,SAAS,IAAI,EAAE,CAAC,CAC5D,MAAM,YAAY,QAAQ,gBAAgB,MAAM;AACnD,KAAI,EAAE,kBAAkB,mBACtB,OAAM,IAAI,MAAM,yBAAyB,QAAQ;AAEnD,QAAO;;AAGT,SAAS,gCAAgC;AACvC,kBAAiB;AACf,UAAQ,IAAI,YAAY,4BAA4B,KAAK;GACzD;AAEF,iBAAgB;AACd,YAAU;AACR,SAAM,SAAS;IACf;AACF,aAAW,QAAQ;AACnB,SAAO;AACP,cAAY;AACZ,KAAG,iBAAiB;AACpB,SAAO,QAAQ,aAAa,EAAE,EAAE,IAAI,IAAI;AACxC,UAAQ,IAAI,YAAY,4BAA4B,uBAAuB;GAC3E;AAEF,IAAG,4DAA4D,YAAY;AACzE,SAAO,QAAQ,aAAa,EAAE,EAAE,IAAI,kDAAkD;EACtF,MAAM,YAAY,GAAG,GAAG,aAAa,EAAE,cAAc,iBAAiB,EAAE;EACxE,MAAM,cAAc,GAAG,GAAG,OAAO,OAAe,oBAAiC,IAAI,SAAS,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC;AAMrH,QAAM,cALM,oBAAoB;GAC9B,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE;GACvC;GACD,CAAC,CAEsB;AACxB,QAAM,IAAI,YAAY;AACpB,aAAU,YAAY,CAAC,OAAO;IAC9B;AAEF,SAAO,YAAY,SAAS,CAAC,YAAY,CAAC,KAAK,UAAU;AACzD,SAAO,UAAU,CAAC,sBAAsB;AACxC,SAAO,YAAY,CAAC,sBAAsB;AAC1C,SAAO,YAAY,KAAK,MAAM,GAAG,GAAG,CAAC,KAAK,qBAAqB;AAC/D,SAAO,KAAK,MAAM,OAAO,YAAY,KAAK,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,sBAAsB;;;;;MAKlF;GACF;AAEF,IAAG,8DAA8D,YAAY;AAC3E,SAAO,QAAQ,aAAa,EAAE,EAAE,IAAI,kDAAkD;EACtF,MAAM,YAAY,GAAG,GAAG,aAAa,EAAE,cAAc,iBAAiB,EAAE;EACxE,MAAM,cAAc,GAAG,GAAG,OAAO,OAAe,oBAAiC,IAAI,SAAS,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC;AAMrH,QAAM,cALM,oBAAoB;GAC9B,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE;GACvC;GACD,CAAC,CAEsB;AACxB,QAAM,IAAI,YAAY;GACpB,MAAM,kBAAkB,UAAU,YAAY;AAC9C,mBAAgB,OAAO;AACvB,mBAAgB,OAAO;IACvB;AAEF,SAAO,YAAY,CAAC,sBAAsB;GAC1C;AAEF,IAAG,+DAA+D,YAAY;AAC5E,SAAO,QAAQ,aAAa,EAAE,EAAE,IAAI,kDAAkD;EACtF,MAAM,mBAAmB,GAAG,GAAG,OAAO,YAA2D,GAAG;EACpG,MAAM,mBAAmB,GAAG,GAAG,OAAO,aAAgC,GAAG;EACzE,MAAM,cAAc,GAAG,GAAG,OAAO,OAAe,oBAAiC,IAAI,SAAS,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC,CAClH,sBAAsB,aAAa,EAAE,mBAAmB,aAAa,CAAC,CAAC,CACvE,sBAAsB,aAAa;GAAE,cAAc;GAAgB,eAAe;GAAiB,CAAC,CAAC;AAQxG,QAAM,cAPM,oBAAoB;GAC9B,MAAM;GACN;GACA;GACA;GACD,CAAC,CAEsB;AACxB,QAAM,IAAI,YAAY;AACpB,aAAU,YAAY,CAAC,OAAO;IAC9B;AAEF,SAAO,iBAAiB,CAAC,qBAAqB,EAAE,SAAS,MAAM,CAAC;AAChE,SAAO,iBAAiB,CAAC,qBAAqB;GAC5C,aAAa;GACb,cAAc;GACf,CAAC;AACF,SAAO,eAAe,QAAQ,2BAA2B,CAAC,CAAC,KAAK,aAAa;AAC7E,SAAO,YAAY,KAAK,MAAM,KAAI,SAAQ,KAAK,MAAM,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB;;;;;;;;;;;MAWjG;GACF;AAEF,IAAG,kDAAkD,YAAY;AAC/D,SAAO,QAAQ,aAAa,EAAE,EAAE,IAAI,4BAA4B;AAMhE,QAAM,cALM,oBAAoB;GAC9B,MAAM;GACN,aAAa,GAAG,GAAG,OAAO,OAAe,oBAAiC,IAAI,SAAS,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC;GAC/G,CAAC,CAEsB;AAExB,SAAO,YAAY,SAAS,CAAC,YAAY,CAAC,KAAK,UAAU;GACzD;EACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components-page/email-verification.d.ts
|
|
4
|
+
declare function EmailVerification(props: {
|
|
5
|
+
searchParams?: Record<string, string>;
|
|
6
|
+
fullPage?: boolean;
|
|
7
|
+
}): react_jsx_runtime0.JSX.Element;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { EmailVerification };
|
|
10
|
+
//# sourceMappingURL=email-verification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-verification.d.ts","names":[],"sources":["../../../src/components-page/email-verification.tsx"],"mappings":";;;iBAcgB,iBAAA,CAAkB,KAAA;EAChC,YAAA,GAAe,MAAA;EACf,QAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { useStackApp, useUser } from "../index.js";
|
|
6
|
+
import { useTranslation } from "../lib/translations.js";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
import { KnownErrors } from "@stackframe/stack-shared";
|
|
9
|
+
import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
|
|
10
|
+
|
|
11
|
+
//#region src/components-page/email-verification.tsx
|
|
12
|
+
function EmailVerification(props) {
|
|
13
|
+
const { t } = useTranslation();
|
|
14
|
+
const stackApp = useStackApp();
|
|
15
|
+
useUser();
|
|
16
|
+
const [result, setResult] = React.useState(null);
|
|
17
|
+
const invalidJsx = /* @__PURE__ */ jsx(MessageCard$1, {
|
|
18
|
+
title: t("Invalid Verification Link"),
|
|
19
|
+
fullPage: !!props.fullPage,
|
|
20
|
+
children: /* @__PURE__ */ jsx("p", { children: t("Please check if you have the correct link. If you continue to have issues, please contact support.") })
|
|
21
|
+
});
|
|
22
|
+
const expiredJsx = /* @__PURE__ */ jsx(MessageCard$1, {
|
|
23
|
+
title: t("Expired Verification Link"),
|
|
24
|
+
fullPage: !!props.fullPage,
|
|
25
|
+
children: /* @__PURE__ */ jsx("p", { children: t("Your email verification link has expired. Please request a new verification link from your account settings.") })
|
|
26
|
+
});
|
|
27
|
+
if (!props.searchParams?.code) return invalidJsx;
|
|
28
|
+
if (!result) return /* @__PURE__ */ jsx(MessageCard$1, {
|
|
29
|
+
title: t("Do you want to verify your email?"),
|
|
30
|
+
fullPage: !!props.fullPage,
|
|
31
|
+
primaryButtonText: t("Verify"),
|
|
32
|
+
primaryAction: async () => {
|
|
33
|
+
setResult(await stackApp.verifyEmail(props.searchParams?.code || throwErr("No verification code provided")));
|
|
34
|
+
},
|
|
35
|
+
secondaryButtonText: t("Cancel"),
|
|
36
|
+
secondaryAction: async () => {
|
|
37
|
+
await stackApp.redirectToHome();
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
else {
|
|
41
|
+
if (result.status === "error") if (KnownErrors.VerificationCodeNotFound.isInstance(result.error)) return invalidJsx;
|
|
42
|
+
else if (KnownErrors.VerificationCodeExpired.isInstance(result.error)) return expiredJsx;
|
|
43
|
+
else if (KnownErrors.VerificationCodeAlreadyUsed.isInstance(result.error)) {} else throw result.error;
|
|
44
|
+
return /* @__PURE__ */ jsx(MessageCard$1, {
|
|
45
|
+
title: t("You email has been verified!"),
|
|
46
|
+
fullPage: !!props.fullPage,
|
|
47
|
+
primaryButtonText: t("Go home"),
|
|
48
|
+
primaryAction: async () => {
|
|
49
|
+
await stackApp.redirectToHome();
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
//#endregion
|
|
56
|
+
export { EmailVerification };
|
|
57
|
+
//# sourceMappingURL=email-verification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-verification.js","names":["MessageCard"],"sources":["../../../src/components-page/email-verification.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY, INSTEAD EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { KnownErrors } from \"@stackframe/stack-shared\";\nimport { throwErr } from \"@stackframe/stack-shared/dist/utils/errors\";\nimport React from \"react\";\nimport { useStackApp, useUser } from \"..\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { useTranslation } from \"../lib/translations\";\n\nexport function EmailVerification(props: {\n searchParams?: Record<string, string>,\n fullPage?: boolean,\n}) {\n const { t } = useTranslation();\n const stackApp = useStackApp();\n const user = useUser();\n const [result, setResult] = React.useState<Awaited<ReturnType<typeof stackApp.verifyEmail>> | null>(null);\n\n const invalidJsx = (\n <MessageCard title={t(\"Invalid Verification Link\")} fullPage={!!props.fullPage}>\n <p>{t(\"Please check if you have the correct link. If you continue to have issues, please contact support.\")}</p>\n </MessageCard>\n );\n\n const expiredJsx = (\n <MessageCard title={t(\"Expired Verification Link\")} fullPage={!!props.fullPage}>\n <p>{t(\"Your email verification link has expired. Please request a new verification link from your account settings.\")}</p>\n </MessageCard>\n );\n\n if (!props.searchParams?.code) {\n return invalidJsx;\n }\n\n if (!result) {\n return <MessageCard\n title={t(\"Do you want to verify your email?\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Verify\")}\n primaryAction={async () => {\n const result = await stackApp.verifyEmail(props.searchParams?.code || throwErr(\"No verification code provided\"));\n setResult(result);\n }}\n secondaryButtonText={t(\"Cancel\")}\n secondaryAction={async () => {\n await stackApp.redirectToHome();\n }}\n />;\n } else {\n if (result.status === 'error') {\n if (KnownErrors.VerificationCodeNotFound.isInstance(result.error)) {\n return invalidJsx;\n } else if (KnownErrors.VerificationCodeExpired.isInstance(result.error)) {\n return expiredJsx;\n } else if (KnownErrors.VerificationCodeAlreadyUsed.isInstance(result.error)) {\n // everything fine, continue\n } else {\n throw result.error;\n }\n }\n\n return <MessageCard\n title={t(\"You email has been verified!\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Go home\")}\n primaryAction={async () => {\n await stackApp.redirectToHome();\n }}\n />;\n }\n}\n"],"mappings":";;;;;;;;;;;AAcA,SAAgB,kBAAkB,OAG/B;CACD,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,WAAW,aAAa;AACjB,UAAS;CACtB,MAAM,CAAC,QAAQ,aAAa,MAAM,SAAkE,KAAK;CAEzG,MAAM,aACJ,oBAACA;EAAY,OAAO,EAAE,4BAA4B;EAAE,UAAU,CAAC,CAAC,MAAM;YACpE,oBAAC,iBAAG,EAAE,qGAAqG,GAAK;GACpG;CAGhB,MAAM,aACJ,oBAACA;EAAY,OAAO,EAAE,4BAA4B;EAAE,UAAU,CAAC,CAAC,MAAM;YACpE,oBAAC,iBAAG,EAAE,+GAA+G,GAAK;GAC9G;AAGhB,KAAI,CAAC,MAAM,cAAc,KACvB,QAAO;AAGT,KAAI,CAAC,OACH,QAAO,oBAACA;EACN,OAAO,EAAE,oCAAoC;EAC7C,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,SAAS;EAC9B,eAAe,YAAY;AAEzB,aADe,MAAM,SAAS,YAAY,MAAM,cAAc,QAAQ,SAAS,gCAAgC,CAAC,CAC/F;;EAEnB,qBAAqB,EAAE,SAAS;EAChC,iBAAiB,YAAY;AAC3B,SAAM,SAAS,gBAAgB;;GAEjC;MACG;AACL,MAAI,OAAO,WAAW,QACpB,KAAI,YAAY,yBAAyB,WAAW,OAAO,MAAM,CAC/D,QAAO;WACE,YAAY,wBAAwB,WAAW,OAAO,MAAM,CACrE,QAAO;WACE,YAAY,4BAA4B,WAAW,OAAO,MAAM,EAAE,OAG3E,OAAM,OAAO;AAIjB,SAAO,oBAACA;GACN,OAAO,EAAE,+BAA+B;GACxC,UAAU,CAAC,CAAC,MAAM;GAClB,mBAAmB,EAAE,UAAU;GAC/B,eAAe,YAAY;AACzB,UAAM,SAAS,gBAAgB;;IAEjC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components-page/error-page.d.ts
|
|
4
|
+
declare function ErrorPage(props: {
|
|
5
|
+
fullPage?: boolean;
|
|
6
|
+
searchParams: Record<string, string>;
|
|
7
|
+
}): react_jsx_runtime0.JSX.Element;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { ErrorPage };
|
|
10
|
+
//# sourceMappingURL=error-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-page.d.ts","names":[],"sources":["../../../src/components-page/error-page.tsx"],"mappings":";;;iBAgBgB,SAAA,CAAU,KAAA;EAAS,QAAA;EAAoB,YAAA,EAAc,MAAA;AAAA,IAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { Typography } from "@stackframe/stack-ui";
|
|
4
|
+
import { useStackApp } from "../index.js";
|
|
5
|
+
import { useTranslation } from "../lib/translations.js";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
import { KnownError, KnownErrors } from "@stackframe/stack-shared";
|
|
8
|
+
import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card.js";
|
|
9
|
+
import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
|
|
10
|
+
import { KnownErrorMessageCard } from "../components/message-cards/known-error-message-card.js";
|
|
11
|
+
|
|
12
|
+
//#region src/components-page/error-page.tsx
|
|
13
|
+
function ErrorPage(props) {
|
|
14
|
+
const { t } = useTranslation();
|
|
15
|
+
const stackApp = useStackApp();
|
|
16
|
+
const errorCode = props.searchParams.errorCode;
|
|
17
|
+
const message = props.searchParams.message;
|
|
18
|
+
const details = props.searchParams.details;
|
|
19
|
+
const unknownErrorCard = /* @__PURE__ */ jsx(PredefinedMessageCard, {
|
|
20
|
+
type: "unknownError",
|
|
21
|
+
fullPage: !!props.fullPage
|
|
22
|
+
});
|
|
23
|
+
if (!errorCode || !message) return unknownErrorCard;
|
|
24
|
+
let error;
|
|
25
|
+
try {
|
|
26
|
+
const detailJson = details ? JSON.parse(details) : {};
|
|
27
|
+
error = KnownError.fromJson({
|
|
28
|
+
code: errorCode,
|
|
29
|
+
message,
|
|
30
|
+
details: detailJson
|
|
31
|
+
});
|
|
32
|
+
} catch (e) {
|
|
33
|
+
return unknownErrorCard;
|
|
34
|
+
}
|
|
35
|
+
if (KnownErrors.OAuthConnectionAlreadyConnectedToAnotherUser.isInstance(error)) return /* @__PURE__ */ jsx(MessageCard$1, {
|
|
36
|
+
title: t("Failed to connect account"),
|
|
37
|
+
fullPage: !!props.fullPage,
|
|
38
|
+
primaryButtonText: t("Go Home"),
|
|
39
|
+
primaryAction: () => stackApp.redirectToHome(),
|
|
40
|
+
children: /* @__PURE__ */ jsx(Typography, { children: t("This account is already connected to another user. Please connect a different account.") })
|
|
41
|
+
});
|
|
42
|
+
if (KnownErrors.UserAlreadyConnectedToAnotherOAuthConnection.isInstance(error)) return /* @__PURE__ */ jsx(MessageCard$1, {
|
|
43
|
+
title: t("Failed to connect account"),
|
|
44
|
+
fullPage: !!props.fullPage,
|
|
45
|
+
primaryButtonText: t("Go Home"),
|
|
46
|
+
primaryAction: () => stackApp.redirectToHome(),
|
|
47
|
+
children: /* @__PURE__ */ jsx(Typography, { children: t("The user is already connected to another OAuth account. Did you maybe selected the wrong account on the OAuth provider page?") })
|
|
48
|
+
});
|
|
49
|
+
if (KnownErrors.OAuthProviderAccessDenied.isInstance(error)) return /* @__PURE__ */ jsx(MessageCard$1, {
|
|
50
|
+
title: t("OAuth provider access denied"),
|
|
51
|
+
fullPage: !!props.fullPage,
|
|
52
|
+
primaryButtonText: t("Sign in again"),
|
|
53
|
+
primaryAction: () => stackApp.redirectToSignIn(),
|
|
54
|
+
secondaryButtonText: t("Go Home"),
|
|
55
|
+
secondaryAction: () => stackApp.redirectToHome(),
|
|
56
|
+
children: /* @__PURE__ */ jsx(Typography, { children: t("The sign-in operation has been cancelled or denied. Please try again.") })
|
|
57
|
+
});
|
|
58
|
+
if (KnownErrors.OAuthProviderTemporarilyUnavailable.isInstance(error)) return /* @__PURE__ */ jsx(MessageCard$1, {
|
|
59
|
+
title: t("OAuth provider is temporarily unavailable"),
|
|
60
|
+
fullPage: !!props.fullPage,
|
|
61
|
+
primaryButtonText: t("Try again"),
|
|
62
|
+
primaryAction: () => stackApp.redirectToSignIn(),
|
|
63
|
+
secondaryButtonText: t("Go Home"),
|
|
64
|
+
secondaryAction: () => stackApp.redirectToHome(),
|
|
65
|
+
children: /* @__PURE__ */ jsx(Typography, { children: t("The OAuth provider could not complete sign-in right now. Please try again in a moment.") })
|
|
66
|
+
});
|
|
67
|
+
return /* @__PURE__ */ jsx(KnownErrorMessageCard, {
|
|
68
|
+
error,
|
|
69
|
+
fullPage: !!props.fullPage
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
//#endregion
|
|
74
|
+
export { ErrorPage };
|
|
75
|
+
//# sourceMappingURL=error-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-page.js","names":["MessageCard"],"sources":["../../../src/components-page/error-page.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY, INSTEAD EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { KnownError, KnownErrors } from \"@stackframe/stack-shared\";\nimport { Typography } from \"@stackframe/stack-ui\";\nimport { useStackApp } from \"..\";\nimport { KnownErrorMessageCard } from \"../components/message-cards/known-error-message-card\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { useTranslation } from \"../lib/translations\";\n\n\nexport function ErrorPage(props: { fullPage?: boolean, searchParams: Record<string, string> }) {\n const { t } = useTranslation();\n const stackApp = useStackApp();\n const errorCode = props.searchParams.errorCode;\n const message = props.searchParams.message;\n const details = props.searchParams.details;\n\n const unknownErrorCard = <PredefinedMessageCard type='unknownError' fullPage={!!props.fullPage} />;\n\n if (!errorCode || !message) {\n return unknownErrorCard;\n }\n\n let error;\n try {\n const detailJson = details ? JSON.parse(details) : {};\n error = KnownError.fromJson({ code: errorCode, message, details: detailJson });\n } catch (e) {\n return unknownErrorCard;\n }\n\n if (KnownErrors.OAuthConnectionAlreadyConnectedToAnotherUser.isInstance(error)) {\n // TODO: add \"Connect a different account\" button\n return (\n <MessageCard\n title={t(\"Failed to connect account\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Go Home\")}\n primaryAction={() => stackApp.redirectToHome()}\n >\n <Typography>\n {t(\"This account is already connected to another user. Please connect a different account.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (KnownErrors.UserAlreadyConnectedToAnotherOAuthConnection.isInstance(error)) {\n // TODO: add \"Connect again\" button\n return (\n <MessageCard\n title={t(\"Failed to connect account\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Go Home\")}\n primaryAction={() => stackApp.redirectToHome()}\n >\n <Typography>\n {t(\"The user is already connected to another OAuth account. Did you maybe selected the wrong account on the OAuth provider page?\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (KnownErrors.OAuthProviderAccessDenied.isInstance(error)) {\n return (\n <MessageCard\n title={t(\"OAuth provider access denied\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Sign in again\")}\n primaryAction={() => stackApp.redirectToSignIn()}\n secondaryButtonText={t(\"Go Home\")}\n secondaryAction={() => stackApp.redirectToHome()}\n >\n <Typography>\n {t(\"The sign-in operation has been cancelled or denied. Please try again.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n if (KnownErrors.OAuthProviderTemporarilyUnavailable.isInstance(error)) {\n return (\n <MessageCard\n title={t(\"OAuth provider is temporarily unavailable\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Try again\")}\n primaryAction={() => stackApp.redirectToSignIn()}\n secondaryButtonText={t(\"Go Home\")}\n secondaryAction={() => stackApp.redirectToHome()}\n >\n <Typography>\n {t(\"The OAuth provider could not complete sign-in right now. Please try again in a moment.\")}\n </Typography>\n </MessageCard>\n );\n }\n\n return <KnownErrorMessageCard error={error} fullPage={!!props.fullPage} />;\n}\n"],"mappings":";;;;;;;;;;;;AAgBA,SAAgB,UAAU,OAAqE;CAC7F,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,WAAW,aAAa;CAC9B,MAAM,YAAY,MAAM,aAAa;CACrC,MAAM,UAAU,MAAM,aAAa;CACnC,MAAM,UAAU,MAAM,aAAa;CAEnC,MAAM,mBAAmB,oBAAC;EAAsB,MAAK;EAAe,UAAU,CAAC,CAAC,MAAM;GAAY;AAElG,KAAI,CAAC,aAAa,CAAC,QACjB,QAAO;CAGT,IAAI;AACJ,KAAI;EACF,MAAM,aAAa,UAAU,KAAK,MAAM,QAAQ,GAAG,EAAE;AACrD,UAAQ,WAAW,SAAS;GAAE,MAAM;GAAW;GAAS,SAAS;GAAY,CAAC;UACvE,GAAG;AACV,SAAO;;AAGT,KAAI,YAAY,6CAA6C,WAAW,MAAM,CAE5E,QACE,oBAACA;EACC,OAAO,EAAE,4BAA4B;EACrC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,UAAU;EAC/B,qBAAqB,SAAS,gBAAgB;YAE9C,oBAAC,wBACE,EAAE,yFAAyF,GACjF;GACD;AAIlB,KAAI,YAAY,6CAA6C,WAAW,MAAM,CAE5E,QACE,oBAACA;EACC,OAAO,EAAE,4BAA4B;EACrC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,UAAU;EAC/B,qBAAqB,SAAS,gBAAgB;YAE9C,oBAAC,wBACE,EAAE,+HAA+H,GACvH;GACD;AAIlB,KAAI,YAAY,0BAA0B,WAAW,MAAM,CACzD,QACE,oBAACA;EACC,OAAO,EAAE,+BAA+B;EACxC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,gBAAgB;EACrC,qBAAqB,SAAS,kBAAkB;EAChD,qBAAqB,EAAE,UAAU;EACjC,uBAAuB,SAAS,gBAAgB;YAEhD,oBAAC,wBACE,EAAE,wEAAwE,GAChE;GACD;AAIlB,KAAI,YAAY,oCAAoC,WAAW,MAAM,CACnE,QACE,oBAACA;EACC,OAAO,EAAE,4CAA4C;EACrD,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,YAAY;EACjC,qBAAqB,SAAS,kBAAkB;EAChD,qBAAqB,EAAE,UAAU;EACjC,uBAAuB,SAAS,gBAAgB;YAEhD,oBAAC,wBACE,EAAE,yFAAyF,GACjF;GACD;AAIlB,QAAO,oBAAC;EAA6B;EAAO,UAAU,CAAC,CAAC,MAAM;GAAY"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components-page/forgot-password.d.ts
|
|
4
|
+
declare function ForgotPasswordForm({
|
|
5
|
+
onSent
|
|
6
|
+
}: {
|
|
7
|
+
onSent?: () => void;
|
|
8
|
+
}): react_jsx_runtime0.JSX.Element;
|
|
9
|
+
declare function ForgotPassword(props: {
|
|
10
|
+
fullPage?: boolean;
|
|
11
|
+
}): react_jsx_runtime0.JSX.Element;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { ForgotPassword, ForgotPasswordForm };
|
|
14
|
+
//# sourceMappingURL=forgot-password.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forgot-password.d.ts","names":[],"sources":["../../../src/components-page/forgot-password.tsx"],"mappings":";;;iBAqBgB,kBAAA,CAAA;EAAqB;AAAA;EAAY,MAAA;AAAA,IAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgDtD,cAAA,CAAe,KAAA;EAAS,QAAA;AAAA,IAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { yupResolver } from "@hookform/resolvers/yup";
|
|
4
|
+
import { strictEmailSchema, yupObject } from "@stackframe/stack-shared/dist/schema-fields";
|
|
5
|
+
import { runAsynchronouslyWithAlert } from "@stackframe/stack-shared/dist/utils/promises";
|
|
6
|
+
import { Button, Input, Label, Typography, cn } from "@stackframe/stack-ui";
|
|
7
|
+
import { useState } from "react";
|
|
8
|
+
import { useForm } from "react-hook-form";
|
|
9
|
+
import { useStackApp, useUser } from "../index.js";
|
|
10
|
+
import { FormWarningText } from "../components/elements/form-warning.js";
|
|
11
|
+
import { useTranslation } from "../lib/translations.js";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { MaybeFullPage } from "../components/elements/maybe-full-page.js";
|
|
14
|
+
import { StyledLink } from "../components/link.js";
|
|
15
|
+
import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card.js";
|
|
16
|
+
|
|
17
|
+
//#region src/components-page/forgot-password.tsx
|
|
18
|
+
function ForgotPasswordForm({ onSent }) {
|
|
19
|
+
const { t } = useTranslation();
|
|
20
|
+
const { register, handleSubmit, formState: { errors }, clearErrors } = useForm({ resolver: yupResolver(yupObject({ email: strictEmailSchema(t("Please enter a valid email")).defined().nonEmpty(t("Please enter your email")) })) });
|
|
21
|
+
const stackApp = useStackApp();
|
|
22
|
+
const [loading, setLoading] = useState(false);
|
|
23
|
+
const onSubmit = async (data) => {
|
|
24
|
+
setLoading(true);
|
|
25
|
+
try {
|
|
26
|
+
const { email } = data;
|
|
27
|
+
await stackApp.sendForgotPasswordEmail(email);
|
|
28
|
+
onSent?.();
|
|
29
|
+
} finally {
|
|
30
|
+
setLoading(false);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
return /* @__PURE__ */ jsxs("form", {
|
|
34
|
+
className: "flex flex-col items-stretch stack-scope",
|
|
35
|
+
onSubmit: (e) => runAsynchronouslyWithAlert(handleSubmit(onSubmit)(e)),
|
|
36
|
+
noValidate: true,
|
|
37
|
+
children: [
|
|
38
|
+
/* @__PURE__ */ jsx(Label, {
|
|
39
|
+
htmlFor: "email",
|
|
40
|
+
className: "mb-1",
|
|
41
|
+
children: t("Your Email")
|
|
42
|
+
}),
|
|
43
|
+
/* @__PURE__ */ jsx(Input, {
|
|
44
|
+
id: "email",
|
|
45
|
+
type: "email",
|
|
46
|
+
autoComplete: "email",
|
|
47
|
+
...register("email"),
|
|
48
|
+
onChange: () => clearErrors("email")
|
|
49
|
+
}),
|
|
50
|
+
/* @__PURE__ */ jsx(FormWarningText, { text: errors.email?.message?.toString() }),
|
|
51
|
+
/* @__PURE__ */ jsx(Button, {
|
|
52
|
+
type: "submit",
|
|
53
|
+
className: "mt-6",
|
|
54
|
+
loading,
|
|
55
|
+
children: t("Send Email")
|
|
56
|
+
})
|
|
57
|
+
]
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function ForgotPassword(props) {
|
|
61
|
+
const { t } = useTranslation();
|
|
62
|
+
const stackApp = useStackApp();
|
|
63
|
+
const user = useUser();
|
|
64
|
+
const [sent, setSent] = useState(false);
|
|
65
|
+
if (user) return /* @__PURE__ */ jsx(PredefinedMessageCard, {
|
|
66
|
+
type: "signedIn",
|
|
67
|
+
fullPage: !!props.fullPage
|
|
68
|
+
});
|
|
69
|
+
if (sent) return /* @__PURE__ */ jsx(PredefinedMessageCard, {
|
|
70
|
+
type: "emailSent",
|
|
71
|
+
fullPage: !!props.fullPage
|
|
72
|
+
});
|
|
73
|
+
return /* @__PURE__ */ jsx(MaybeFullPage, {
|
|
74
|
+
fullPage: !!props.fullPage,
|
|
75
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
76
|
+
className: cn("stack-scope max-w-[380px] flex-basis-[380px]", props.fullPage ? "p-4" : "p-0"),
|
|
77
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
78
|
+
className: "text-center",
|
|
79
|
+
children: [/* @__PURE__ */ jsx(Typography, {
|
|
80
|
+
type: "h2",
|
|
81
|
+
children: t("Reset Your Password")
|
|
82
|
+
}), /* @__PURE__ */ jsxs(Typography, { children: [
|
|
83
|
+
t("Don't need to reset?"),
|
|
84
|
+
" ",
|
|
85
|
+
/* @__PURE__ */ jsx(StyledLink, {
|
|
86
|
+
href: stackApp.urls["signIn"],
|
|
87
|
+
children: t("Sign in")
|
|
88
|
+
})
|
|
89
|
+
] })]
|
|
90
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
91
|
+
className: "mt-6",
|
|
92
|
+
children: /* @__PURE__ */ jsx(ForgotPasswordForm, { onSent: () => setSent(true) })
|
|
93
|
+
})]
|
|
94
|
+
})
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
//#endregion
|
|
99
|
+
export { ForgotPassword, ForgotPasswordForm };
|
|
100
|
+
//# sourceMappingURL=forgot-password.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forgot-password.js","names":[],"sources":["../../../src/components-page/forgot-password.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY, INSTEAD EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport { strictEmailSchema, yupObject } from \"@stackframe/stack-shared/dist/schema-fields\";\nimport { runAsynchronouslyWithAlert } from \"@stackframe/stack-shared/dist/utils/promises\";\nimport { Button, Input, Label, Typography, cn } from \"@stackframe/stack-ui\";\nimport { useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport * as yup from \"yup\";\nimport { useStackApp, useUser } from \"..\";\nimport { FormWarningText } from \"../components/elements/form-warning\";\nimport { MaybeFullPage } from \"../components/elements/maybe-full-page\";\nimport { StyledLink } from \"../components/link\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { useTranslation } from \"../lib/translations\";\n\nexport function ForgotPasswordForm({ onSent }: { onSent?: () => void }) {\n const { t } = useTranslation();\n\n const schema = yupObject({\n email: strictEmailSchema(t(\"Please enter a valid email\")).defined().nonEmpty(t(\"Please enter your email\"))\n });\n\n const { register, handleSubmit, formState: { errors }, clearErrors } = useForm({\n resolver: yupResolver(schema)\n });\n const stackApp = useStackApp();\n const [loading, setLoading] = useState(false);\n\n const onSubmit = async (data: yup.InferType<typeof schema>) => {\n setLoading(true);\n try {\n const { email } = data;\n await stackApp.sendForgotPasswordEmail(email);\n onSent?.();\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <form\n className=\"flex flex-col items-stretch stack-scope\"\n onSubmit={e => runAsynchronouslyWithAlert(handleSubmit(onSubmit)(e))}\n noValidate\n >\n <Label htmlFor=\"email\" className=\"mb-1\">{t(\"Your Email\")}</Label>\n <Input\n id=\"email\"\n type=\"email\"\n autoComplete=\"email\"\n {...register('email')}\n onChange={() => clearErrors('email')}\n />\n <FormWarningText text={errors.email?.message?.toString()} />\n\n <Button type=\"submit\" className=\"mt-6\" loading={loading}>\n {t(\"Send Email\")}\n </Button>\n </form>\n );\n}\n\n\nexport function ForgotPassword(props: { fullPage?: boolean }) {\n const { t } = useTranslation();\n const stackApp = useStackApp();\n const user = useUser();\n const [sent, setSent] = useState(false);\n\n if (user) {\n return <PredefinedMessageCard type='signedIn' fullPage={!!props.fullPage} />;\n }\n\n if (sent) {\n return <PredefinedMessageCard type='emailSent' fullPage={!!props.fullPage} />;\n }\n\n return (\n <MaybeFullPage fullPage={!!props.fullPage}>\n <div className={cn(\n \"stack-scope max-w-[380px] flex-basis-[380px]\",\n props.fullPage ? \"p-4\" : \"p-0\"\n )}>\n <div className=\"text-center\">\n <Typography type='h2'>{t(\"Reset Your Password\")}</Typography>\n <Typography>\n {t(\"Don't need to reset?\")}{\" \"}\n <StyledLink href={stackApp.urls['signIn']}>\n {t(\"Sign in\")}\n </StyledLink>\n </Typography>\n </div>\n <div className=\"mt-6\">\n <ForgotPasswordForm onSent={() => setSent(true)} />\n </div>\n </div>\n </MaybeFullPage>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAqBA,SAAgB,mBAAmB,EAAE,UAAmC;CACtE,MAAM,EAAE,MAAM,gBAAgB;CAM9B,MAAM,EAAE,UAAU,cAAc,WAAW,EAAE,UAAU,gBAAgB,QAAQ,EAC7E,UAAU,YALG,UAAU,EACvB,OAAO,kBAAkB,EAAE,6BAA6B,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,0BAA0B,CAAC,EAC3G,CAAC,CAG6B,EAC9B,CAAC;CACF,MAAM,WAAW,aAAa;CAC9B,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAE7C,MAAM,WAAW,OAAO,SAAuC;AAC7D,aAAW,KAAK;AAChB,MAAI;GACF,MAAM,EAAE,UAAU;AAClB,SAAM,SAAS,wBAAwB,MAAM;AAC/C,aAAU;YACA;AACR,cAAW,MAAM;;;AAIrB,QACE,qBAAC;EACC,WAAU;EACV,WAAU,MAAK,2BAA2B,aAAa,SAAS,CAAC,EAAE,CAAC;EACpE;;GAEA,oBAAC;IAAM,SAAQ;IAAQ,WAAU;cAAQ,EAAE,aAAa;KAAS;GACjE,oBAAC;IACC,IAAG;IACH,MAAK;IACL,cAAa;IACb,GAAI,SAAS,QAAQ;IACrB,gBAAgB,YAAY,QAAQ;KACpC;GACF,oBAAC,mBAAgB,MAAM,OAAO,OAAO,SAAS,UAAU,GAAI;GAE5D,oBAAC;IAAO,MAAK;IAAS,WAAU;IAAgB;cAC7C,EAAE,aAAa;KACT;;GACJ;;AAKX,SAAgB,eAAe,OAA+B;CAC5D,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,WAAW,aAAa;CAC9B,MAAM,OAAO,SAAS;CACtB,MAAM,CAAC,MAAM,WAAW,SAAS,MAAM;AAEvC,KAAI,KACF,QAAO,oBAAC;EAAsB,MAAK;EAAW,UAAU,CAAC,CAAC,MAAM;GAAY;AAG9E,KAAI,KACF,QAAO,oBAAC;EAAsB,MAAK;EAAY,UAAU,CAAC,CAAC,MAAM;GAAY;AAG/E,QACE,oBAAC;EAAc,UAAU,CAAC,CAAC,MAAM;YAC/B,qBAAC;GAAI,WAAW,GACd,gDACA,MAAM,WAAW,QAAQ,MAC1B;cACC,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAW,MAAK;eAAM,EAAE,sBAAsB;MAAc,EAC7D,qBAAC;KACE,EAAE,uBAAuB;KAAE;KAC5B,oBAAC;MAAW,MAAM,SAAS,KAAK;gBAC7B,EAAE,UAAU;OACF;QACF;KACT,EACN,oBAAC;IAAI,WAAU;cACb,oBAAC,sBAAmB,cAAc,QAAQ,KAAK,GAAI;KAC/C;IACF;GACQ"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components-page/magic-link-callback.d.ts
|
|
4
|
+
declare function MagicLinkCallback(props: {
|
|
5
|
+
searchParams?: Record<string, string>;
|
|
6
|
+
fullPage?: boolean;
|
|
7
|
+
}): react_jsx_runtime0.JSX.Element;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { MagicLinkCallback };
|
|
10
|
+
//# sourceMappingURL=magic-link-callback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magic-link-callback.d.ts","names":[],"sources":["../../../src/components-page/magic-link-callback.tsx"],"mappings":";;;iBAoBgB,iBAAA,CAAkB,KAAA;EAChC,YAAA,GAAe,MAAA;EACf,QAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { throwErr } from "@stackframe/stack-shared/dist/utils/errors";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { useStackApp, useUser } from "../index.js";
|
|
6
|
+
import { useTranslation } from "../lib/translations.js";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
import { KnownErrors } from "@stackframe/stack-shared";
|
|
9
|
+
import { PredefinedMessageCard } from "../components/message-cards/predefined-message-card.js";
|
|
10
|
+
import { MessageCard as MessageCard$1 } from "../components/message-cards/message-card.js";
|
|
11
|
+
import { cacheFunction } from "@stackframe/stack-shared/dist/utils/caches";
|
|
12
|
+
|
|
13
|
+
//#region src/components-page/magic-link-callback.tsx
|
|
14
|
+
cacheFunction(async (stackApp, code) => {
|
|
15
|
+
return await stackApp.signInWithMagicLink(code);
|
|
16
|
+
});
|
|
17
|
+
function MagicLinkCallback(props) {
|
|
18
|
+
const { t } = useTranslation();
|
|
19
|
+
const stackApp = useStackApp();
|
|
20
|
+
const user = useUser();
|
|
21
|
+
const [result, setResult] = React.useState(null);
|
|
22
|
+
if (user) return /* @__PURE__ */ jsx(PredefinedMessageCard, {
|
|
23
|
+
type: "signedIn",
|
|
24
|
+
fullPage: !!props.fullPage
|
|
25
|
+
});
|
|
26
|
+
const invalidJsx = /* @__PURE__ */ jsx(MessageCard$1, {
|
|
27
|
+
title: t("Invalid Magic Link"),
|
|
28
|
+
fullPage: !!props.fullPage,
|
|
29
|
+
children: /* @__PURE__ */ jsx("p", { children: t("Please check if you have the correct link. If you continue to have issues, please contact support.") })
|
|
30
|
+
});
|
|
31
|
+
const expiredJsx = /* @__PURE__ */ jsx(MessageCard$1, {
|
|
32
|
+
title: t("Expired Magic Link"),
|
|
33
|
+
fullPage: !!props.fullPage,
|
|
34
|
+
children: /* @__PURE__ */ jsx("p", { children: t("Your magic link has expired. Please request a new magic link if you need to sign-in.") })
|
|
35
|
+
});
|
|
36
|
+
const alreadyUsedJsx = /* @__PURE__ */ jsx(MessageCard$1, {
|
|
37
|
+
title: t("Magic Link Already Used"),
|
|
38
|
+
fullPage: !!props.fullPage,
|
|
39
|
+
children: /* @__PURE__ */ jsx("p", { children: t("The magic link has already been used. The link can only be used once. Please request a new magic link if you need to sign-in again.") })
|
|
40
|
+
});
|
|
41
|
+
if (!props.searchParams?.code) return invalidJsx;
|
|
42
|
+
if (!result) return /* @__PURE__ */ jsx(MessageCard$1, {
|
|
43
|
+
title: t("Do you want to sign in?"),
|
|
44
|
+
fullPage: !!props.fullPage,
|
|
45
|
+
primaryButtonText: t("Sign in"),
|
|
46
|
+
primaryAction: async () => {
|
|
47
|
+
setResult(await stackApp.signInWithMagicLink(props.searchParams?.code || throwErr("No magic link provided")));
|
|
48
|
+
},
|
|
49
|
+
secondaryButtonText: t("Cancel"),
|
|
50
|
+
secondaryAction: async () => {
|
|
51
|
+
await stackApp.redirectToHome();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
else {
|
|
55
|
+
if (result.status === "error") if (KnownErrors.VerificationCodeNotFound.isInstance(result.error)) return invalidJsx;
|
|
56
|
+
else if (KnownErrors.VerificationCodeExpired.isInstance(result.error)) return expiredJsx;
|
|
57
|
+
else if (KnownErrors.VerificationCodeAlreadyUsed.isInstance(result.error)) return alreadyUsedJsx;
|
|
58
|
+
else throw result.error;
|
|
59
|
+
return /* @__PURE__ */ jsx(MessageCard$1, {
|
|
60
|
+
title: t("Signed in successfully!"),
|
|
61
|
+
fullPage: !!props.fullPage,
|
|
62
|
+
primaryButtonText: t("Go home"),
|
|
63
|
+
primaryAction: async () => {
|
|
64
|
+
await stackApp.redirectToHome();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
//#endregion
|
|
71
|
+
export { MagicLinkCallback };
|
|
72
|
+
//# sourceMappingURL=magic-link-callback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magic-link-callback.js","names":["MessageCard"],"sources":["../../../src/components-page/magic-link-callback.tsx"],"sourcesContent":["'use client';\n\n\n//===========================================\n// THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY, INSTEAD EDIT THE CORRESPONDING FILE IN packages/template\n//===========================================\n\nimport { KnownErrors } from \"@stackframe/stack-shared\";\nimport { cacheFunction } from \"@stackframe/stack-shared/dist/utils/caches\";\nimport { throwErr } from \"@stackframe/stack-shared/dist/utils/errors\";\nimport React from \"react\";\nimport { StackClientApp, useStackApp, useUser } from \"..\";\nimport { MessageCard } from \"../components/message-cards/message-card\";\nimport { PredefinedMessageCard } from \"../components/message-cards/predefined-message-card\";\nimport { useTranslation } from \"../lib/translations\";\n\nconst cacheSignInWithMagicLink = cacheFunction(async (stackApp: StackClientApp<true>, code: string) => {\n return await stackApp.signInWithMagicLink(code);\n});\n\nexport function MagicLinkCallback(props: {\n searchParams?: Record<string, string>,\n fullPage?: boolean,\n}) {\n const { t } = useTranslation();\n const stackApp = useStackApp();\n const user = useUser();\n const [result, setResult] = React.useState<Awaited<ReturnType<typeof stackApp.signInWithMagicLink>> | null>(null);\n\n if (user) {\n return <PredefinedMessageCard type='signedIn' fullPage={!!props.fullPage} />;\n }\n\n const invalidJsx = (\n <MessageCard title={t(\"Invalid Magic Link\")} fullPage={!!props.fullPage}>\n <p>{t(\"Please check if you have the correct link. If you continue to have issues, please contact support.\")}</p>\n </MessageCard>\n );\n\n const expiredJsx = (\n <MessageCard title={t(\"Expired Magic Link\")} fullPage={!!props.fullPage}>\n <p>{t(\"Your magic link has expired. Please request a new magic link if you need to sign-in.\")}</p>\n </MessageCard>\n );\n\n const alreadyUsedJsx = (\n <MessageCard title={t(\"Magic Link Already Used\")} fullPage={!!props.fullPage}>\n <p>{t(\"The magic link has already been used. The link can only be used once. Please request a new magic link if you need to sign-in again.\")}</p>\n </MessageCard>\n );\n\n if (!props.searchParams?.code) {\n return invalidJsx;\n }\n\n if (!result) {\n return <MessageCard\n title={t(\"Do you want to sign in?\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Sign in\")}\n primaryAction={async () => {\n const result = await stackApp.signInWithMagicLink(props.searchParams?.code || throwErr(\"No magic link provided\"));\n setResult(result);\n }}\n secondaryButtonText={t(\"Cancel\")}\n secondaryAction={async () => {\n await stackApp.redirectToHome();\n }}\n />;\n } else {\n if (result.status === 'error') {\n if (KnownErrors.VerificationCodeNotFound.isInstance(result.error)) {\n return invalidJsx;\n } else if (KnownErrors.VerificationCodeExpired.isInstance(result.error)) {\n return expiredJsx;\n } else if (KnownErrors.VerificationCodeAlreadyUsed.isInstance(result.error)) {\n return alreadyUsedJsx;\n } else {\n throw result.error;\n }\n }\n\n return <MessageCard\n title={t(\"Signed in successfully!\")}\n fullPage={!!props.fullPage}\n primaryButtonText={t(\"Go home\")}\n primaryAction={async () => {\n await stackApp.redirectToHome();\n }}\n />;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAgBiC,cAAc,OAAO,UAAgC,SAAiB;AACrG,QAAO,MAAM,SAAS,oBAAoB,KAAK;EAC/C;AAEF,SAAgB,kBAAkB,OAG/B;CACD,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,WAAW,aAAa;CAC9B,MAAM,OAAO,SAAS;CACtB,MAAM,CAAC,QAAQ,aAAa,MAAM,SAA0E,KAAK;AAEjH,KAAI,KACF,QAAO,oBAAC;EAAsB,MAAK;EAAW,UAAU,CAAC,CAAC,MAAM;GAAY;CAG9E,MAAM,aACJ,oBAACA;EAAY,OAAO,EAAE,qBAAqB;EAAE,UAAU,CAAC,CAAC,MAAM;YAC7D,oBAAC,iBAAG,EAAE,qGAAqG,GAAK;GACpG;CAGhB,MAAM,aACJ,oBAACA;EAAY,OAAO,EAAE,qBAAqB;EAAE,UAAU,CAAC,CAAC,MAAM;YAC7D,oBAAC,iBAAG,EAAE,uFAAuF,GAAK;GACtF;CAGhB,MAAM,iBACJ,oBAACA;EAAY,OAAO,EAAE,0BAA0B;EAAE,UAAU,CAAC,CAAC,MAAM;YAClE,oBAAC,iBAAG,EAAE,sIAAsI,GAAK;GACrI;AAGhB,KAAI,CAAC,MAAM,cAAc,KACvB,QAAO;AAGT,KAAI,CAAC,OACH,QAAO,oBAACA;EACN,OAAO,EAAE,0BAA0B;EACnC,UAAU,CAAC,CAAC,MAAM;EAClB,mBAAmB,EAAE,UAAU;EAC/B,eAAe,YAAY;AAEzB,aADe,MAAM,SAAS,oBAAoB,MAAM,cAAc,QAAQ,SAAS,yBAAyB,CAAC,CAChG;;EAEnB,qBAAqB,EAAE,SAAS;EAChC,iBAAiB,YAAY;AAC3B,SAAM,SAAS,gBAAgB;;GAEjC;MACG;AACL,MAAI,OAAO,WAAW,QACpB,KAAI,YAAY,yBAAyB,WAAW,OAAO,MAAM,CAC/D,QAAO;WACE,YAAY,wBAAwB,WAAW,OAAO,MAAM,CACrE,QAAO;WACE,YAAY,4BAA4B,WAAW,OAAO,MAAM,CACzE,QAAO;MAEP,OAAM,OAAO;AAIjB,SAAO,oBAACA;GACN,OAAO,EAAE,0BAA0B;GACnC,UAAU,CAAC,CAAC,MAAM;GAClB,mBAAmB,EAAE,UAAU;GAC/B,eAAe,YAAY;AACzB,UAAM,SAAS,gBAAgB;;IAEjC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components-page/mfa.d.ts
|
|
4
|
+
declare function MFA(props: {
|
|
5
|
+
fullPage?: boolean;
|
|
6
|
+
onSuccess?: () => void;
|
|
7
|
+
onCancel?: () => void;
|
|
8
|
+
}): react_jsx_runtime0.JSX.Element;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { MFA };
|
|
11
|
+
//# sourceMappingURL=mfa.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mfa.d.ts","names":[],"sources":["../../../src/components-page/mfa.tsx"],"mappings":";;;iBAyLgB,GAAA,CAAI,KAAA;EAClB,QAAA;EACA,SAAA;EACA,QAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { Button, InputOTP, InputOTPGroup, InputOTPSlot, Spinner, Typography, cn } from "@stackframe/stack-ui";
|
|
4
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
5
|
+
import { useStackApp } from "../index.js";
|
|
6
|
+
import { FormWarningText } from "../components/elements/form-warning.js";
|
|
7
|
+
import { useTranslation } from "../lib/translations.js";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { KnownErrors } from "@stackframe/stack-shared";
|
|
10
|
+
import { CheckIcon } from "lucide-react";
|
|
11
|
+
import { MaybeFullPage } from "../components/elements/maybe-full-page.js";
|
|
12
|
+
|
|
13
|
+
//#region src/components-page/mfa.tsx
|
|
14
|
+
function MfaForm({ onSuccess, onCancel }) {
|
|
15
|
+
const stackApp = useStackApp();
|
|
16
|
+
const { t } = useTranslation();
|
|
17
|
+
const [otp, setOtp] = useState("");
|
|
18
|
+
const formRef = useRef(null);
|
|
19
|
+
const [submitting, setSubmitting] = useState(false);
|
|
20
|
+
const [error, setError] = useState(null);
|
|
21
|
+
const [verified, setVerified] = useState(false);
|
|
22
|
+
const [attemptCode, setAttemptCode] = useState(null);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (!attemptCode && typeof window !== "undefined") {
|
|
25
|
+
const code = window.sessionStorage.getItem("stack_mfa_attempt_code");
|
|
26
|
+
if (code) setAttemptCode(code);
|
|
27
|
+
}
|
|
28
|
+
}, [attemptCode]);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (otp.length === 6 && !submitting) {
|
|
31
|
+
if (document.activeElement instanceof HTMLElement) document.activeElement.blur();
|
|
32
|
+
if (formRef.current) {
|
|
33
|
+
const inputs = formRef.current.querySelectorAll("input");
|
|
34
|
+
for (const input of inputs) input.blur();
|
|
35
|
+
}
|
|
36
|
+
setSubmitting(true);
|
|
37
|
+
setError(null);
|
|
38
|
+
if (attemptCode) stackApp.signInWithMfa(otp, attemptCode, { noRedirect: true }).then(async (result) => {
|
|
39
|
+
if (result.status === "ok") {
|
|
40
|
+
setVerified(true);
|
|
41
|
+
if (typeof window !== "undefined") window.sessionStorage.removeItem("stack_mfa_attempt_code");
|
|
42
|
+
if (onSuccess) onSuccess();
|
|
43
|
+
else await stackApp.redirectToAfterSignIn();
|
|
44
|
+
} else throw result.error;
|
|
45
|
+
}).catch((e) => {
|
|
46
|
+
if (e instanceof KnownErrors.InvalidTotpCode) setError(t("Invalid TOTP code"));
|
|
47
|
+
else setError(t("Verification failed"));
|
|
48
|
+
}).finally(() => {
|
|
49
|
+
setSubmitting(false);
|
|
50
|
+
if (!verified) setOtp("");
|
|
51
|
+
});
|
|
52
|
+
else {
|
|
53
|
+
setSubmitting(false);
|
|
54
|
+
setError(t("Missing verification information"));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (otp.length !== 0 && otp.length !== 6) setError(null);
|
|
58
|
+
}, [
|
|
59
|
+
otp,
|
|
60
|
+
submitting,
|
|
61
|
+
onSuccess,
|
|
62
|
+
attemptCode,
|
|
63
|
+
stackApp,
|
|
64
|
+
t,
|
|
65
|
+
verified
|
|
66
|
+
]);
|
|
67
|
+
const inputStyleClass = useMemo(() => {
|
|
68
|
+
if (verified) return "opacity-85 transition-all duration-300";
|
|
69
|
+
if (error) return "ring-red-500 border-red-500";
|
|
70
|
+
return "focus:ring-primary/50";
|
|
71
|
+
}, [error, verified]);
|
|
72
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
73
|
+
className: "flex flex-col items-stretch stack-scope",
|
|
74
|
+
children: [/* @__PURE__ */ jsxs("form", {
|
|
75
|
+
ref: formRef,
|
|
76
|
+
className: "w-full flex flex-col items-center gap-4",
|
|
77
|
+
children: [/* @__PURE__ */ jsx(InputOTP, {
|
|
78
|
+
maxLength: 6,
|
|
79
|
+
type: "text",
|
|
80
|
+
inputMode: "numeric",
|
|
81
|
+
placeholder: "······",
|
|
82
|
+
value: otp,
|
|
83
|
+
onChange: (value) => setOtp(value.toUpperCase()),
|
|
84
|
+
disabled: submitting || verified,
|
|
85
|
+
children: /* @__PURE__ */ jsx(InputOTPGroup, { children: [
|
|
86
|
+
0,
|
|
87
|
+
1,
|
|
88
|
+
2,
|
|
89
|
+
3,
|
|
90
|
+
4,
|
|
91
|
+
5
|
|
92
|
+
].map((index) => /* @__PURE__ */ jsx(InputOTPSlot, {
|
|
93
|
+
index,
|
|
94
|
+
size: "lg",
|
|
95
|
+
className: cn("border focus:ring-2 transition-all", inputStyleClass)
|
|
96
|
+
}, index)) })
|
|
97
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
98
|
+
className: "h-8 flex flex-col gap-4 items-center justify-center w-full",
|
|
99
|
+
children: [verified ? /* @__PURE__ */ jsxs("div", {
|
|
100
|
+
className: "flex items-center gap-2 animate-in fade-in duration-300 slide-in-from-bottom-2",
|
|
101
|
+
children: [/* @__PURE__ */ jsx(CheckIcon, { className: "w-5 h-5 text-green-600 animate-in zoom-in duration-300" }), /* @__PURE__ */ jsx(Typography, {
|
|
102
|
+
className: "text-sm font-medium",
|
|
103
|
+
children: t("Verified! Redirecting...")
|
|
104
|
+
})]
|
|
105
|
+
}) : submitting ? /* @__PURE__ */ jsxs("div", {
|
|
106
|
+
className: "flex items-center gap-2",
|
|
107
|
+
children: [/* @__PURE__ */ jsx(Spinner, { className: "text-primary h-4 w-4" }), /* @__PURE__ */ jsx(Typography, {
|
|
108
|
+
className: "text-sm",
|
|
109
|
+
children: t("Verifying...")
|
|
110
|
+
})]
|
|
111
|
+
}) : null, error !== null && !submitting && !verified ? /* @__PURE__ */ jsx(FormWarningText, { text: error }) : null]
|
|
112
|
+
})]
|
|
113
|
+
}), onCancel && !verified && /* @__PURE__ */ jsx(Button, {
|
|
114
|
+
variant: "link",
|
|
115
|
+
onClick: onCancel,
|
|
116
|
+
className: "underline mt-4 self-center",
|
|
117
|
+
disabled: submitting || verified,
|
|
118
|
+
children: t("Cancel")
|
|
119
|
+
})]
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
function MFA(props) {
|
|
123
|
+
const { t } = useTranslation();
|
|
124
|
+
const headerText = t("Multi-Factor Authentication");
|
|
125
|
+
const instructionText = t("Enter the six-digit code from your authenticator app");
|
|
126
|
+
if (props.fullPage) return /* @__PURE__ */ jsx(MaybeFullPage, {
|
|
127
|
+
fullPage: true,
|
|
128
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
129
|
+
className: "stack-scope flex flex-col items-stretch",
|
|
130
|
+
style: {
|
|
131
|
+
maxWidth: "380px",
|
|
132
|
+
flexBasis: "380px",
|
|
133
|
+
padding: "1rem"
|
|
134
|
+
},
|
|
135
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
136
|
+
className: "text-center mb-6",
|
|
137
|
+
children: [/* @__PURE__ */ jsx(Typography, {
|
|
138
|
+
type: "h2",
|
|
139
|
+
children: headerText
|
|
140
|
+
}), /* @__PURE__ */ jsx(Typography, {
|
|
141
|
+
className: "mt-2",
|
|
142
|
+
children: instructionText
|
|
143
|
+
})]
|
|
144
|
+
}), /* @__PURE__ */ jsx(MfaForm, {
|
|
145
|
+
onSuccess: props.onSuccess,
|
|
146
|
+
onCancel: props.onCancel
|
|
147
|
+
})]
|
|
148
|
+
})
|
|
149
|
+
});
|
|
150
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
151
|
+
className: "flex flex-col items-stretch stack-scope",
|
|
152
|
+
children: [/* @__PURE__ */ jsx(Typography, {
|
|
153
|
+
className: "mb-4 text-center",
|
|
154
|
+
children: instructionText
|
|
155
|
+
}), /* @__PURE__ */ jsx(MfaForm, {
|
|
156
|
+
onSuccess: props.onSuccess,
|
|
157
|
+
onCancel: props.onCancel
|
|
158
|
+
})]
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
//#endregion
|
|
163
|
+
export { MFA };
|
|
164
|
+
//# sourceMappingURL=mfa.js.map
|