@hexclave/next 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -23
- package/dist/components/api-key-dialogs.js +18 -18
- package/dist/components/api-key-dialogs.js.map +1 -1
- package/dist/components/api-key-table.js +19 -19
- package/dist/components/api-key-table.js.map +1 -1
- package/dist/components/credential-sign-in.js +12 -12
- package/dist/components/credential-sign-in.js.map +1 -1
- package/dist/components/credential-sign-up.js +19 -19
- package/dist/components/credential-sign-up.js.map +1 -1
- package/dist/components/elements/separator-with-text.js +3 -3
- package/dist/components/elements/separator-with-text.js.map +1 -1
- package/dist/components/elements/sidebar-layout.js +15 -15
- package/dist/components/elements/sidebar-layout.js.map +1 -1
- package/dist/components/elements/user-avatar.js +3 -3
- package/dist/components/elements/user-avatar.js.map +1 -1
- package/dist/components/link.js +2 -2
- package/dist/components/link.js.map +1 -1
- package/dist/components/magic-link-sign-in.js +17 -17
- package/dist/components/magic-link-sign-in.js.map +1 -1
- package/dist/components/message-cards/known-error-message-card.js +2 -2
- package/dist/components/message-cards/known-error-message-card.js.map +1 -1
- package/dist/components/message-cards/message-card.js +4 -4
- package/dist/components/message-cards/message-card.js.map +1 -1
- package/dist/components/message-cards/predefined-message-card.js +2 -2
- package/dist/components/message-cards/predefined-message-card.js.map +1 -1
- package/dist/components/oauth-button.js +15 -15
- package/dist/components/oauth-button.js.map +1 -1
- package/dist/components/passkey-button.js +2 -2
- package/dist/components/passkey-button.js.map +1 -1
- package/dist/components/profile-image-editor.js +9 -9
- package/dist/components/profile-image-editor.js.map +1 -1
- package/dist/components/selected-team-switcher.js +4 -4
- package/dist/components/selected-team-switcher.js.map +1 -1
- package/dist/components/team-icon.js +4 -4
- package/dist/components/team-icon.js.map +1 -1
- package/dist/components/team-switcher.js +21 -21
- package/dist/components/team-switcher.js.map +1 -1
- package/dist/components/user-button.js +13 -13
- package/dist/components/user-button.js.map +1 -1
- package/dist/components-page/account-settings/active-sessions/active-sessions-page.js +32 -32
- package/dist/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -1
- package/dist/components-page/account-settings/api-keys/api-keys-page.js +2 -2
- package/dist/components-page/account-settings/api-keys/api-keys-page.js.map +1 -1
- package/dist/components-page/account-settings/editable-text.js +5 -5
- package/dist/components-page/account-settings/editable-text.js.map +1 -1
- package/dist/components-page/account-settings/email-and-auth/emails-section.js +22 -22
- package/dist/components-page/account-settings/email-and-auth/emails-section.js.map +1 -1
- package/dist/components-page/account-settings/email-and-auth/mfa-section.js +17 -17
- package/dist/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -1
- package/dist/components-page/account-settings/email-and-auth/otp-section.js +9 -9
- package/dist/components-page/account-settings/email-and-auth/otp-section.js.map +1 -1
- package/dist/components-page/account-settings/email-and-auth/passkey-section.js +9 -9
- package/dist/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -1
- package/dist/components-page/account-settings/email-and-auth/password-section.js +23 -23
- package/dist/components-page/account-settings/email-and-auth/password-section.js.map +1 -1
- package/dist/components-page/account-settings/notifications/notifications-page.js +6 -6
- package/dist/components-page/account-settings/notifications/notifications-page.js.map +1 -1
- package/dist/components-page/account-settings/payments/payments-panel.js +52 -52
- package/dist/components-page/account-settings/payments/payments-panel.js.map +1 -1
- package/dist/components-page/account-settings/section.js +4 -4
- package/dist/components-page/account-settings/section.js.map +1 -1
- package/dist/components-page/account-settings/settings/delete-account-section.js +7 -7
- package/dist/components-page/account-settings/settings/delete-account-section.js.map +1 -1
- package/dist/components-page/account-settings/settings/sign-out-section.js +2 -2
- package/dist/components-page/account-settings/settings/sign-out-section.js.map +1 -1
- package/dist/components-page/account-settings/teams/leave-team-section.js +5 -5
- package/dist/components-page/account-settings/teams/leave-team-section.js.map +1 -1
- package/dist/components-page/account-settings/teams/team-api-keys-section.js +5 -5
- package/dist/components-page/account-settings/teams/team-api-keys-section.js.map +1 -1
- package/dist/components-page/account-settings/teams/team-creation-page.js +7 -7
- package/dist/components-page/account-settings/teams/team-creation-page.js.map +1 -1
- package/dist/components-page/account-settings/teams/team-member-invitation-section.js +20 -20
- package/dist/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -1
- package/dist/components-page/account-settings/teams/team-member-list-section.js +5 -5
- package/dist/components-page/account-settings/teams/team-member-list-section.js.map +1 -1
- package/dist/components-page/account-settings.js +22 -22
- package/dist/components-page/account-settings.js.map +1 -1
- package/dist/components-page/auth-page.js +23 -23
- package/dist/components-page/auth-page.js.map +1 -1
- package/dist/components-page/cli-auth-confirm.js +9 -9
- package/dist/components-page/cli-auth-confirm.js.map +1 -1
- package/dist/components-page/cli-auth-confirm.test.js +4 -4
- package/dist/components-page/cli-auth-confirm.test.js.map +1 -1
- package/dist/components-page/email-verification.js +6 -6
- package/dist/components-page/email-verification.js.map +1 -1
- package/dist/components-page/error-page.js +11 -11
- package/dist/components-page/error-page.js.map +1 -1
- package/dist/components-page/forgot-password.js +11 -11
- package/dist/components-page/forgot-password.js.map +1 -1
- package/dist/components-page/magic-link-callback.js +8 -8
- package/dist/components-page/magic-link-callback.js.map +1 -1
- package/dist/components-page/mfa.js +13 -13
- package/dist/components-page/mfa.js.map +1 -1
- package/dist/components-page/oauth-callback.js +9 -9
- package/dist/components-page/oauth-callback.js.map +1 -1
- package/dist/components-page/onboarding.js +11 -11
- package/dist/components-page/onboarding.js.map +1 -1
- package/dist/components-page/password-reset.js +27 -27
- package/dist/components-page/password-reset.js.map +1 -1
- package/dist/components-page/section.js +1 -1
- package/dist/components-page/sign-out.js +4 -4
- package/dist/components-page/sign-out.js.map +1 -1
- package/dist/components-page/stack-handler-client.js +9 -9
- package/dist/components-page/stack-handler-client.js.map +1 -1
- package/dist/components-page/stack-handler.d.ts +14 -9
- package/dist/components-page/stack-handler.d.ts.map +1 -1
- package/dist/components-page/stack-handler.js +8 -2
- package/dist/components-page/stack-handler.js.map +1 -1
- package/dist/components-page/team-creation.js +9 -9
- package/dist/components-page/team-creation.js.map +1 -1
- package/dist/components-page/team-invitation.js +20 -20
- package/dist/components-page/team-invitation.js.map +1 -1
- package/dist/dev-tool/dev-tool-core.d.ts.map +1 -1
- package/dist/dev-tool/dev-tool-core.js +25 -25
- package/dist/dev-tool/dev-tool-core.js.map +1 -1
- package/dist/dev-tool/dev-tool-trigger-position.test.js +1 -1
- package/dist/dev-tool/index.js +6 -6
- package/dist/dev-tool/index.js.map +1 -1
- package/dist/esm/components/api-key-dialogs.js.map +1 -1
- package/dist/esm/components/api-key-table.js.map +1 -1
- package/dist/esm/components/credential-sign-in.js.map +1 -1
- package/dist/esm/components/credential-sign-up.js.map +1 -1
- package/dist/esm/components/elements/separator-with-text.js.map +1 -1
- package/dist/esm/components/elements/sidebar-layout.js.map +1 -1
- package/dist/esm/components/elements/user-avatar.js.map +1 -1
- package/dist/esm/components/link.js.map +1 -1
- package/dist/esm/components/magic-link-sign-in.js.map +1 -1
- package/dist/esm/components/message-cards/known-error-message-card.js.map +1 -1
- package/dist/esm/components/message-cards/message-card.js.map +1 -1
- package/dist/esm/components/message-cards/predefined-message-card.js.map +1 -1
- package/dist/esm/components/oauth-button.js.map +1 -1
- package/dist/esm/components/passkey-button.js.map +1 -1
- package/dist/esm/components/profile-image-editor.js.map +1 -1
- package/dist/esm/components/selected-team-switcher.js.map +1 -1
- package/dist/esm/components/team-icon.js.map +1 -1
- package/dist/esm/components/team-switcher.js.map +1 -1
- package/dist/esm/components/user-button.js.map +1 -1
- package/dist/esm/components-page/account-settings/active-sessions/active-sessions-page.js.map +1 -1
- package/dist/esm/components-page/account-settings/api-keys/api-keys-page.js.map +1 -1
- package/dist/esm/components-page/account-settings/editable-text.js.map +1 -1
- package/dist/esm/components-page/account-settings/email-and-auth/emails-section.js.map +1 -1
- package/dist/esm/components-page/account-settings/email-and-auth/mfa-section.js.map +1 -1
- package/dist/esm/components-page/account-settings/email-and-auth/otp-section.js.map +1 -1
- package/dist/esm/components-page/account-settings/email-and-auth/passkey-section.js.map +1 -1
- package/dist/esm/components-page/account-settings/email-and-auth/password-section.js.map +1 -1
- package/dist/esm/components-page/account-settings/notifications/notifications-page.js.map +1 -1
- package/dist/esm/components-page/account-settings/payments/payments-panel.js +1 -1
- package/dist/esm/components-page/account-settings/payments/payments-panel.js.map +1 -1
- package/dist/esm/components-page/account-settings/section.js.map +1 -1
- package/dist/esm/components-page/account-settings/settings/delete-account-section.js.map +1 -1
- package/dist/esm/components-page/account-settings/settings/sign-out-section.js.map +1 -1
- package/dist/esm/components-page/account-settings/teams/leave-team-section.js.map +1 -1
- package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js +1 -1
- package/dist/esm/components-page/account-settings/teams/team-api-keys-section.js.map +1 -1
- package/dist/esm/components-page/account-settings/teams/team-creation-page.js.map +1 -1
- package/dist/esm/components-page/account-settings/teams/team-member-invitation-section.js.map +1 -1
- package/dist/esm/components-page/account-settings/teams/team-member-list-section.js.map +1 -1
- package/dist/esm/components-page/account-settings.js.map +1 -1
- package/dist/esm/components-page/auth-page.js.map +1 -1
- package/dist/esm/components-page/cli-auth-confirm.js.map +1 -1
- package/dist/esm/components-page/cli-auth-confirm.test.js +2 -2
- package/dist/esm/components-page/cli-auth-confirm.test.js.map +1 -1
- package/dist/esm/components-page/email-verification.js.map +1 -1
- package/dist/esm/components-page/error-page.js.map +1 -1
- package/dist/esm/components-page/forgot-password.js.map +1 -1
- package/dist/esm/components-page/magic-link-callback.js.map +1 -1
- package/dist/esm/components-page/mfa.js.map +1 -1
- package/dist/esm/components-page/oauth-callback.js.map +1 -1
- package/dist/esm/components-page/onboarding.js.map +1 -1
- package/dist/esm/components-page/password-reset.js.map +1 -1
- package/dist/esm/components-page/sign-out.js.map +1 -1
- package/dist/esm/components-page/stack-handler-client.js +2 -2
- package/dist/esm/components-page/stack-handler-client.js.map +1 -1
- package/dist/esm/components-page/stack-handler.d.ts +13 -9
- package/dist/esm/components-page/stack-handler.d.ts.map +1 -1
- package/dist/esm/components-page/stack-handler.js +5 -2
- package/dist/esm/components-page/stack-handler.js.map +1 -1
- package/dist/esm/components-page/team-creation.js.map +1 -1
- package/dist/esm/components-page/team-invitation.js.map +1 -1
- package/dist/esm/dev-tool/dev-tool-core.d.ts.map +1 -1
- package/dist/esm/dev-tool/dev-tool-core.js +4 -4
- package/dist/esm/dev-tool/dev-tool-core.js.map +1 -1
- package/dist/esm/dev-tool/dev-tool-trigger-position.test.js +1 -1
- package/dist/esm/dev-tool/index.js.map +1 -1
- package/dist/esm/generated/global-css.d.ts +1 -1
- package/dist/esm/generated/global-css.js +1 -1
- package/dist/esm/generated/global-css.js.map +1 -1
- package/dist/esm/generated/quetzal-translations.js.map +1 -1
- package/dist/esm/index.d.ts +5 -5
- package/dist/esm/index.js +5 -6
- package/dist/esm/integrations/convex.js.map +1 -1
- package/dist/esm/lib/auth.js +1 -1
- package/dist/esm/lib/auth.js.map +1 -1
- package/dist/esm/lib/auth.test.js.map +1 -1
- package/dist/esm/lib/cookie.js.map +1 -1
- package/dist/esm/lib/hooks.d.ts +11 -1
- package/dist/esm/lib/hooks.d.ts.map +1 -1
- package/dist/esm/lib/hooks.js +19 -9
- package/dist/esm/lib/hooks.js.map +1 -1
- package/dist/esm/lib/stack-app/api-keys/index.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.d.ts +11 -11
- package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.d.ts.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js +3 -1
- package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.d.ts +3 -3
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.d.ts.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js +2 -2
- package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/common.d.ts.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/common.js +3 -3
- package/dist/esm/lib/stack-app/apps/implementations/common.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/event-tracker.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/event-tracker.test.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/index.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/redirect-page-urls.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/session-replay.d.ts.map +1 -1
- package/dist/esm/lib/stack-app/apps/implementations/session-replay.js +3 -2
- package/dist/esm/lib/stack-app/apps/implementations/session-replay.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/interfaces/admin-app.d.ts +4 -0
- package/dist/esm/lib/stack-app/apps/interfaces/admin-app.d.ts.map +1 -1
- package/dist/esm/lib/stack-app/apps/interfaces/admin-app.js +1 -0
- package/dist/esm/lib/stack-app/apps/interfaces/admin-app.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/interfaces/client-app.d.ts +5 -0
- package/dist/esm/lib/stack-app/apps/interfaces/client-app.d.ts.map +1 -1
- package/dist/esm/lib/stack-app/apps/interfaces/client-app.js +1 -0
- package/dist/esm/lib/stack-app/apps/interfaces/client-app.js.map +1 -1
- package/dist/esm/lib/stack-app/apps/interfaces/server-app.d.ts +4 -0
- package/dist/esm/lib/stack-app/apps/interfaces/server-app.d.ts.map +1 -1
- package/dist/esm/lib/stack-app/apps/interfaces/server-app.js +1 -0
- package/dist/esm/lib/stack-app/apps/interfaces/server-app.js.map +1 -1
- package/dist/esm/lib/stack-app/common.d.ts +1 -1
- package/dist/esm/lib/stack-app/common.js.map +1 -1
- package/dist/esm/lib/stack-app/contact-channels/index.js.map +1 -1
- package/dist/esm/lib/stack-app/email-templates/index.js.map +1 -1
- package/dist/esm/lib/stack-app/internal-api-keys/index.js.map +1 -1
- package/dist/esm/lib/stack-app/permissions/index.js.map +1 -1
- package/dist/esm/lib/stack-app/projects/index.js.map +1 -1
- package/dist/esm/lib/stack-app/teams/index.js.map +1 -1
- package/dist/esm/lib/stack-app/url-targets.js.map +1 -1
- package/dist/esm/lib/stack-app/url-targets.test.js +1 -1
- package/dist/esm/lib/stack-app/url-targets.test.js.map +1 -1
- package/dist/esm/lib/stack-app/users/index.js.map +1 -1
- package/dist/esm/providers/stack-context.d.ts +3 -2
- package/dist/esm/providers/stack-context.d.ts.map +1 -1
- package/dist/esm/providers/stack-context.js +3 -1
- package/dist/esm/providers/stack-context.js.map +1 -1
- package/dist/esm/providers/stack-provider-client.js.map +1 -1
- package/dist/esm/providers/stack-provider.d.ts +5 -1
- package/dist/esm/providers/stack-provider.d.ts.map +1 -1
- package/dist/esm/providers/stack-provider.js +5 -1
- package/dist/esm/providers/stack-provider.js.map +1 -1
- package/dist/esm/providers/theme-provider.d.ts +6 -2
- package/dist/esm/providers/theme-provider.d.ts.map +1 -1
- package/dist/esm/providers/theme-provider.js +6 -2
- package/dist/esm/providers/theme-provider.js.map +1 -1
- package/dist/esm/providers/translation-provider-client.d.ts +4 -3
- package/dist/esm/providers/translation-provider-client.d.ts.map +1 -1
- package/dist/esm/providers/translation-provider-client.js +4 -2
- package/dist/esm/providers/translation-provider-client.js.map +1 -1
- package/dist/esm/providers/translation-provider.js.map +1 -1
- package/dist/esm/utils/url.js.map +1 -1
- package/dist/generated/global-css.d.ts +1 -1
- package/dist/generated/global-css.js +1 -1
- package/dist/generated/global-css.js.map +1 -1
- package/dist/generated/quetzal-translations.js +16 -16
- package/dist/generated/quetzal-translations.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +9 -12
- package/dist/integrations/convex/component/convex.config.d.ts +1 -1
- package/dist/integrations/convex.js +5 -5
- package/dist/integrations/convex.js.map +1 -1
- package/dist/lib/auth.js +12 -12
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/auth.test.js +2 -2
- package/dist/lib/auth.test.js.map +1 -1
- package/dist/lib/cookie.js +13 -13
- package/dist/lib/cookie.js.map +1 -1
- package/dist/lib/hooks.d.ts +11 -1
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +19 -8
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/stack-app/api-keys/index.js +2 -2
- package/dist/lib/stack-app/api-keys/index.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/admin-app-impl.d.ts +11 -11
- package/dist/lib/stack-app/apps/implementations/admin-app-impl.d.ts.map +1 -1
- package/dist/lib/stack-app/apps/implementations/admin-app-impl.js +39 -37
- package/dist/lib/stack-app/apps/implementations/admin-app-impl.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/client-app-impl.d.ts +3 -3
- package/dist/lib/stack-app/apps/implementations/client-app-impl.d.ts.map +1 -1
- package/dist/lib/stack-app/apps/implementations/client-app-impl.js +213 -213
- package/dist/lib/stack-app/apps/implementations/client-app-impl.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/common.d.ts.map +1 -1
- package/dist/lib/stack-app/apps/implementations/common.js +30 -30
- package/dist/lib/stack-app/apps/implementations/common.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/event-tracker.js +7 -7
- package/dist/lib/stack-app/apps/implementations/event-tracker.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/event-tracker.test.js +3 -3
- package/dist/lib/stack-app/apps/implementations/event-tracker.test.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/index.js +4 -4
- package/dist/lib/stack-app/apps/implementations/index.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/redirect-page-urls.js +8 -8
- package/dist/lib/stack-app/apps/implementations/redirect-page-urls.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/server-app-impl.js +70 -70
- package/dist/lib/stack-app/apps/implementations/server-app-impl.js.map +1 -1
- package/dist/lib/stack-app/apps/implementations/session-replay.d.ts.map +1 -1
- package/dist/lib/stack-app/apps/implementations/session-replay.js +13 -12
- package/dist/lib/stack-app/apps/implementations/session-replay.js.map +1 -1
- package/dist/lib/stack-app/apps/interfaces/admin-app.d.ts +4 -0
- package/dist/lib/stack-app/apps/interfaces/admin-app.d.ts.map +1 -1
- package/dist/lib/stack-app/apps/interfaces/admin-app.js +1 -0
- package/dist/lib/stack-app/apps/interfaces/admin-app.js.map +1 -1
- package/dist/lib/stack-app/apps/interfaces/client-app.d.ts +5 -0
- package/dist/lib/stack-app/apps/interfaces/client-app.d.ts.map +1 -1
- package/dist/lib/stack-app/apps/interfaces/client-app.js +1 -0
- package/dist/lib/stack-app/apps/interfaces/client-app.js.map +1 -1
- package/dist/lib/stack-app/apps/interfaces/server-app.d.ts +5 -1
- package/dist/lib/stack-app/apps/interfaces/server-app.d.ts.map +1 -1
- package/dist/lib/stack-app/apps/interfaces/server-app.js +1 -0
- package/dist/lib/stack-app/apps/interfaces/server-app.js.map +1 -1
- package/dist/lib/stack-app/common.d.ts +1 -1
- package/dist/lib/stack-app/common.js.map +1 -1
- package/dist/lib/stack-app/contact-channels/index.js.map +1 -1
- package/dist/lib/stack-app/email-templates/index.js.map +1 -1
- package/dist/lib/stack-app/internal-api-keys/index.js.map +1 -1
- package/dist/lib/stack-app/permissions/index.js.map +1 -1
- package/dist/lib/stack-app/projects/index.js.map +1 -1
- package/dist/lib/stack-app/teams/index.js.map +1 -1
- package/dist/lib/stack-app/url-targets.js +6 -6
- package/dist/lib/stack-app/url-targets.js.map +1 -1
- package/dist/lib/stack-app/url-targets.test.js +1 -1
- package/dist/lib/stack-app/url-targets.test.js.map +1 -1
- package/dist/lib/stack-app/users/index.js +3 -3
- package/dist/lib/stack-app/users/index.js.map +1 -1
- package/dist/providers/stack-context.d.ts +3 -2
- package/dist/providers/stack-context.d.ts.map +1 -1
- package/dist/providers/stack-context.js +3 -1
- package/dist/providers/stack-context.js.map +1 -1
- package/dist/providers/stack-provider-client.js +2 -2
- package/dist/providers/stack-provider-client.js.map +1 -1
- package/dist/providers/stack-provider.d.ts +6 -1
- package/dist/providers/stack-provider.d.ts.map +1 -1
- package/dist/providers/stack-provider.js +8 -1
- package/dist/providers/stack-provider.js.map +1 -1
- package/dist/providers/theme-provider.d.ts +6 -2
- package/dist/providers/theme-provider.d.ts.map +1 -1
- package/dist/providers/theme-provider.js +10 -5
- package/dist/providers/theme-provider.js.map +1 -1
- package/dist/providers/translation-provider-client.d.ts +4 -3
- package/dist/providers/translation-provider-client.d.ts.map +1 -1
- package/dist/providers/translation-provider-client.js +4 -1
- package/dist/providers/translation-provider-client.js.map +1 -1
- package/dist/providers/translation-provider.js +2 -2
- package/dist/providers/translation-provider.js.map +1 -1
- package/dist/{storage-DxMLntUt.d.ts → storage-kTmOAWHW.d.ts} +1 -1
- package/dist/{storage-DxMLntUt.d.ts.map → storage-kTmOAWHW.d.ts.map} +1 -1
- package/dist/utils/url.js +2 -2
- package/dist/utils/url.js.map +1 -1
- package/package.json +5 -5
- package/dist/esm/internal/deprecation-warning.d.ts +0 -1
- package/dist/esm/internal/deprecation-warning.js +0 -24
- package/dist/esm/internal/deprecation-warning.js.map +0 -1
- package/dist/internal/deprecation-warning.d.ts +0 -1
- package/dist/internal/deprecation-warning.js +0 -24
- package/dist/internal/deprecation-warning.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"separator-with-text.js","names":["Separator"],"sources":["../../../src/components/elements/separator-with-text.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 { Separator } from \"@
|
|
1
|
+
{"version":3,"file":"separator-with-text.js","names":["Separator"],"sources":["../../../src/components/elements/separator-with-text.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 { Separator } from \"@hexclave/ui\";\n\nexport function SeparatorWithText({ text }: { text: string }) {\n return (\n <div className=\"flex items-center justify-center my-6 stack-scope\">\n <div className=\"flex-1\">\n <Separator />\n </div>\n <div className=\"mx-2 text-sm text-zinc-500\">{text}</div>\n <div className=\"flex-1\">\n <Separator />\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;AASA,SAAgB,kBAAkB,EAAE,QAA0B;AAC5D,QACE,4CAAC;EAAI,WAAU;;GACb,2CAAC;IAAI,WAAU;cACb,2CAACA,2BAAY;KACT;GACN,2CAAC;IAAI,WAAU;cAA8B;KAAW;GACxD,2CAAC;IAAI,WAAU;cACb,2CAACA,2BAAY;KACT;;GACF"}
|
|
@@ -2,27 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_chunk = require('../../chunk-BE-pF4vm.js');
|
|
5
|
-
let
|
|
5
|
+
let _hexclave_ui = require("@hexclave/ui");
|
|
6
6
|
let react = require("react");
|
|
7
7
|
react = require_chunk.__toESM(react);
|
|
8
8
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
9
|
let lucide_react = require("lucide-react");
|
|
10
|
-
let
|
|
10
|
+
let _hexclave_shared_dist_hooks_use_hash = require("@hexclave/shared/dist/hooks/use-hash");
|
|
11
11
|
let ______index_js = require("../../index.js");
|
|
12
12
|
|
|
13
13
|
//#region src/components/elements/sidebar-layout.tsx
|
|
14
14
|
function SidebarLayout(props) {
|
|
15
|
-
const hash = (0,
|
|
15
|
+
const hash = (0, _hexclave_shared_dist_hooks_use_hash.useHash)();
|
|
16
16
|
const selectedIndex = props.items.findIndex((item) => item.id && item.id === hash);
|
|
17
17
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
18
|
-
className: (0,
|
|
18
|
+
className: (0, _hexclave_ui.cn)("hidden sm:flex stack-scope h-full", props.className),
|
|
19
19
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DesktopLayout, {
|
|
20
20
|
items: props.items,
|
|
21
21
|
title: props.title,
|
|
22
22
|
selectedIndex
|
|
23
23
|
})
|
|
24
24
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
25
|
-
className: (0,
|
|
25
|
+
className: (0, _hexclave_ui.cn)("sm:hidden stack-scope h-full", props.className),
|
|
26
26
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MobileLayout, {
|
|
27
27
|
items: props.items,
|
|
28
28
|
title: props.title,
|
|
@@ -33,15 +33,15 @@ function SidebarLayout(props) {
|
|
|
33
33
|
function Items(props) {
|
|
34
34
|
const navigate = (0, ______index_js.useStackApp)().useNavigate();
|
|
35
35
|
const activeItemIndex = props.selectedIndex === -1 ? 0 : props.selectedIndex;
|
|
36
|
-
return props.items.map((item, index) => item.type === "item" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(
|
|
36
|
+
return props.items.map((item, index) => item.type === "item" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_hexclave_ui.Button, {
|
|
37
37
|
variant: "ghost",
|
|
38
38
|
size: "sm",
|
|
39
|
-
className: (0,
|
|
39
|
+
className: (0, _hexclave_ui.cn)(activeItemIndex === index && "sm:bg-muted", "justify-start text-md text-zinc-800 dark:text-zinc-300 px-2 text-left"),
|
|
40
40
|
onClick: () => {
|
|
41
41
|
if (item.id) navigate("#" + item.id);
|
|
42
42
|
},
|
|
43
43
|
children: [item.icon, item.title]
|
|
44
|
-
}, index) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
44
|
+
}, index) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, { children: item.title }, index));
|
|
45
45
|
}
|
|
46
46
|
function DesktopLayout(props) {
|
|
47
47
|
const selectedItem = props.items[props.selectedIndex === -1 ? 0 : props.selectedIndex];
|
|
@@ -51,7 +51,7 @@ function DesktopLayout(props) {
|
|
|
51
51
|
className: "flex max-w-[200px] min-w-[200px] border-r flex-col items-stretch gap-2 p-2 overflow-y-auto",
|
|
52
52
|
children: [props.title && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
53
53
|
className: "mb-2 ml-2",
|
|
54
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
54
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, {
|
|
55
55
|
type: "h2",
|
|
56
56
|
className: "text-lg font-semibold text-zinc-800 dark:text-zinc-300",
|
|
57
57
|
children: props.title
|
|
@@ -66,11 +66,11 @@ function DesktopLayout(props) {
|
|
|
66
66
|
className: "flex flex-col max-w-[800px] w-[800px]",
|
|
67
67
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
68
68
|
className: "mt-4 mb-6",
|
|
69
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
69
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, {
|
|
70
70
|
type: "h4",
|
|
71
71
|
className: "font-semibold",
|
|
72
72
|
children: selectedItem.title
|
|
73
|
-
}), selectedItem.description && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
73
|
+
}), selectedItem.description && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, {
|
|
74
74
|
variant: "secondary",
|
|
75
75
|
type: "label",
|
|
76
76
|
children: selectedItem.description
|
|
@@ -90,7 +90,7 @@ function MobileLayout(props) {
|
|
|
90
90
|
className: "flex flex-col gap-2 p-2",
|
|
91
91
|
children: [props.title && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
92
92
|
className: "mb-2 ml-2",
|
|
93
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
93
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, {
|
|
94
94
|
type: "h2",
|
|
95
95
|
className: "text-lg font-semibold text-zinc-800 dark:text-zinc-300",
|
|
96
96
|
children: props.title
|
|
@@ -106,11 +106,11 @@ function MobileLayout(props) {
|
|
|
106
106
|
className: "flex flex-col",
|
|
107
107
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
108
108
|
className: "flex justify-between",
|
|
109
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
109
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, {
|
|
110
110
|
type: "h4",
|
|
111
111
|
className: "font-semibold",
|
|
112
112
|
children: selectedItem.title
|
|
113
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
113
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Button, {
|
|
114
114
|
variant: "ghost",
|
|
115
115
|
size: "icon",
|
|
116
116
|
onClick: () => {
|
|
@@ -118,7 +118,7 @@ function MobileLayout(props) {
|
|
|
118
118
|
},
|
|
119
119
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.XIcon, { className: "h-5 w-5" })
|
|
120
120
|
})]
|
|
121
|
-
}), selectedItem.description && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
121
|
+
}), selectedItem.description && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, {
|
|
122
122
|
variant: "secondary",
|
|
123
123
|
type: "label",
|
|
124
124
|
children: selectedItem.description
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar-layout.js","names":["Button","Typography","XIcon"],"sources":["../../../src/components/elements/sidebar-layout.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 { useHash } from '@
|
|
1
|
+
{"version":3,"file":"sidebar-layout.js","names":["Button","Typography","XIcon"],"sources":["../../../src/components/elements/sidebar-layout.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 { useHash } from '@hexclave/shared/dist/hooks/use-hash';\nimport { Button, Typography, cn } from '@hexclave/ui';\nimport { XIcon } from 'lucide-react';\nimport React, { ReactNode } from 'react';\nimport { useStackApp } from '../..';\n\nexport type SidebarItem = {\n title: React.ReactNode,\n type: 'item' | 'divider',\n description?: React.ReactNode,\n id?: string,\n icon?: React.ReactNode,\n content?: React.ReactNode,\n contentTitle?: React.ReactNode,\n}\n\nexport function SidebarLayout(props: { items: SidebarItem[], title?: ReactNode, className?: string }) {\n const hash = useHash();\n const selectedIndex = props.items.findIndex(item => item.id && (item.id === hash));\n return (\n <>\n <div className={cn(\"hidden sm:flex stack-scope h-full\", props.className)}>\n <DesktopLayout items={props.items} title={props.title} selectedIndex={selectedIndex} />\n </div>\n <div className={cn(\"sm:hidden stack-scope h-full\", props.className)}>\n <MobileLayout items={props.items} title={props.title} selectedIndex={selectedIndex} />\n </div>\n </>\n );\n}\n\nfunction Items(props: { items: SidebarItem[], selectedIndex: number }) {\n const app = useStackApp();\n const navigate = app.useNavigate();\n\n\n const activeItemIndex = props.selectedIndex === -1 ? 0 : props.selectedIndex;\n\n return props.items.map((item, index) => (\n item.type === 'item' ?\n <Button\n key={index}\n variant='ghost'\n size='sm'\n className={cn(\n activeItemIndex === index && \"sm:bg-muted\",\n \"justify-start text-md text-zinc-800 dark:text-zinc-300 px-2 text-left\",\n )}\n onClick={() => {\n if (item.id) {\n navigate('#' + item.id);\n }\n }}\n >\n {item.icon}\n {item.title}\n </Button> :\n <Typography key={index}>\n {item.title}\n </Typography>\n ));\n\n}\n\nfunction DesktopLayout(props: { items: SidebarItem[], title?: ReactNode, selectedIndex: number }) {\n const selectedItem = props.items[props.selectedIndex === -1 ? 0 : props.selectedIndex];\n\n return (\n <div className=\"stack-scope flex w-full h-full max-w-full relative\">\n <div className=\"flex max-w-[200px] min-w-[200px] border-r flex-col items-stretch gap-2 p-2 overflow-y-auto\">\n {props.title && <div className='mb-2 ml-2'>\n <Typography type='h2' className=\"text-lg font-semibold text-zinc-800 dark:text-zinc-300\">{props.title}</Typography>\n </div>}\n\n <Items items={props.items} selectedIndex={props.selectedIndex} />\n </div>\n <div className=\"flex-1 w-0 flex justify-center gap-4 py-2 px-4\">\n <div className='flex flex-col max-w-[800px] w-[800px]'>\n <div className='mt-4 mb-6'>\n <Typography type='h4' className='font-semibold'>{selectedItem.title}</Typography>\n {selectedItem.description && <Typography variant='secondary' type='label'>{selectedItem.description}</Typography>}\n </div>\n <div className='flex-1'>\n {selectedItem.content}\n </div>\n </div>\n </div>\n </div>\n );\n}\n\nfunction MobileLayout(props: { items: SidebarItem[], title?: ReactNode, selectedIndex: number }) {\n const selectedItem = props.items[props.selectedIndex];\n const app = useStackApp();\n const navigate = app.useNavigate();\n\n if (props.selectedIndex === -1) {\n return (\n <div className=\"flex flex-col gap-2 p-2\">\n {props.title && <div className='mb-2 ml-2'>\n <Typography type='h2' className=\"text-lg font-semibold text-zinc-800 dark:text-zinc-300\">{props.title}</Typography>\n </div>}\n\n <Items items={props.items} selectedIndex={props.selectedIndex} />\n </div>\n );\n } else {\n return (\n <div className=\"flex-1 flex flex-col gap-4 py-2 px-4\">\n <div className='flex flex-col'>\n <div className='flex justify-between'>\n <Typography type='h4' className='font-semibold'>{selectedItem.title}</Typography>\n <Button\n variant='ghost'\n size='icon'\n onClick={() => { navigate('#'); }}\n >\n <XIcon className='h-5 w-5' />\n </Button>\n </div>\n {selectedItem.description && <Typography variant='secondary' type='label'>{selectedItem.description}</Typography>}\n </div>\n <div className='flex-1'>\n {selectedItem.content}\n </div>\n </div>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAuBA,SAAgB,cAAc,OAAwE;CACpG,MAAM,0DAAgB;CACtB,MAAM,gBAAgB,MAAM,MAAM,WAAU,SAAQ,KAAK,MAAO,KAAK,OAAO,KAAM;AAClF,QACE,qFACE,2CAAC;EAAI,gCAAc,qCAAqC,MAAM,UAAU;YACtE,2CAAC;GAAc,OAAO,MAAM;GAAO,OAAO,MAAM;GAAsB;IAAiB;GACnF,EACN,2CAAC;EAAI,gCAAc,gCAAgC,MAAM,UAAU;YACjE,2CAAC;GAAa,OAAO,MAAM;GAAO,OAAO,MAAM;GAAsB;IAAiB;GAClF,IACL;;AAIP,SAAS,MAAM,OAAwD;CAErE,MAAM,4CADmB,CACJ,aAAa;CAGlC,MAAM,kBAAkB,MAAM,kBAAkB,KAAK,IAAI,MAAM;AAE/D,QAAO,MAAM,MAAM,KAAK,MAAM,UAC5B,KAAK,SAAS,SACZ,4CAACA;EAEC,SAAQ;EACR,MAAK;EACL,gCACE,oBAAoB,SAAS,eAC7B,wEACD;EACD,eAAe;AACb,OAAI,KAAK,GACP,UAAS,MAAM,KAAK,GAAG;;aAI1B,KAAK,MACL,KAAK;IAdD,MAeE,GACT,2CAACC,qCACE,KAAK,SADS,MAEJ,CACf;;AAIJ,SAAS,cAAc,OAA2E;CAChG,MAAM,eAAe,MAAM,MAAM,MAAM,kBAAkB,KAAK,IAAI,MAAM;AAExE,QACE,4CAAC;EAAI,WAAU;aACb,4CAAC;GAAI,WAAU;cACZ,MAAM,SAAS,2CAAC;IAAI,WAAU;cAC7B,2CAACA;KAAW,MAAK;KAAK,WAAU;eAA0D,MAAM;MAAmB;KAC/G,EAEN,2CAAC;IAAM,OAAO,MAAM;IAAO,eAAe,MAAM;KAAiB;IAC7D,EACN,2CAAC;GAAI,WAAU;aACb,4CAAC;IAAI,WAAU;eACb,4CAAC;KAAI,WAAU;gBACb,2CAACA;MAAW,MAAK;MAAK,WAAU;gBAAiB,aAAa;OAAmB,EAChF,aAAa,eAAe,2CAACA;MAAW,SAAQ;MAAY,MAAK;gBAAS,aAAa;OAAyB;MAC7G,EACN,2CAAC;KAAI,WAAU;eACZ,aAAa;MACV;KACF;IACF;GACF;;AAIV,SAAS,aAAa,OAA2E;CAC/F,MAAM,eAAe,MAAM,MAAM,MAAM;CAEvC,MAAM,4CADmB,CACJ,aAAa;AAElC,KAAI,MAAM,kBAAkB,GAC1B,QACE,4CAAC;EAAI,WAAU;aACZ,MAAM,SAAS,2CAAC;GAAI,WAAU;aAC7B,2CAACA;IAAW,MAAK;IAAK,WAAU;cAA0D,MAAM;KAAmB;IAC/G,EAEN,2CAAC;GAAM,OAAO,MAAM;GAAO,eAAe,MAAM;IAAiB;GAC7D;KAGR,QACE,4CAAC;EAAI,WAAU;aACb,4CAAC;GAAI,WAAU;cACb,4CAAC;IAAI,WAAU;eACb,2CAACA;KAAW,MAAK;KAAK,WAAU;eAAiB,aAAa;MAAmB,EACjF,2CAACD;KACC,SAAQ;KACR,MAAK;KACL,eAAe;AAAE,eAAS,IAAI;;eAE9B,2CAACE,sBAAM,WAAU,YAAY;MACtB;KACL,EACL,aAAa,eAAe,2CAACD;IAAW,SAAQ;IAAY,MAAK;cAAS,aAAa;KAAyB;IAC7G,EACN,2CAAC;GAAI,WAAU;aACZ,aAAa;IACV;GACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
2
|
const require_chunk = require('../../chunk-BE-pF4vm.js');
|
|
3
|
-
let
|
|
3
|
+
let _hexclave_ui = require("@hexclave/ui");
|
|
4
4
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
5
5
|
let lucide_react = require("lucide-react");
|
|
6
6
|
|
|
@@ -8,13 +8,13 @@ let lucide_react = require("lucide-react");
|
|
|
8
8
|
const defaultSize = 34;
|
|
9
9
|
function UserAvatar(props) {
|
|
10
10
|
const user = props.user;
|
|
11
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(
|
|
11
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_hexclave_ui.Avatar, {
|
|
12
12
|
style: {
|
|
13
13
|
height: props.size || defaultSize,
|
|
14
14
|
width: props.size || defaultSize
|
|
15
15
|
},
|
|
16
16
|
className: props.border ? "border" : "",
|
|
17
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
17
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.AvatarImage, { src: user?.profileImageUrl || "" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.AvatarFallback, { children: user ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
18
18
|
className: "font-medium",
|
|
19
19
|
style: { fontSize: (props.size || defaultSize) * .4 },
|
|
20
20
|
children: (user.displayName || user.primaryEmail)?.slice(0, 2).toUpperCase()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-avatar.js","names":["Avatar","AvatarImage","AvatarFallback","UserRound"],"sources":["../../../src/components/elements/user-avatar.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//===========================================\nimport { Avatar, AvatarFallback, AvatarImage } from \"@
|
|
1
|
+
{"version":3,"file":"user-avatar.js","names":["Avatar","AvatarImage","AvatarFallback","UserRound"],"sources":["../../../src/components/elements/user-avatar.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//===========================================\nimport { Avatar, AvatarFallback, AvatarImage } from \"@hexclave/ui\";\nimport { UserRound } from \"lucide-react\";\n\nconst defaultSize = 34;\n\nexport function UserAvatar(props: {\n size?: number,\n user?: {\n profileImageUrl?: string | null,\n displayName?: string | null,\n primaryEmail?: string | null,\n } | null,\n border?: boolean,\n}) {\n const user = props.user;\n return (\n <Avatar style={{ height: props.size || defaultSize, width: props.size || defaultSize }} className={props.border ? 'border' : ''}>\n <AvatarImage src={user?.profileImageUrl || ''} />\n <AvatarFallback>\n {user ?\n <div className='font-medium' style={{ fontSize: (props.size || defaultSize) * 0.4 }}>\n {(user.displayName || user.primaryEmail)?.slice(0, 2).toUpperCase()}\n </div> :\n <UserRound className=\"text-zinc-500\" size={(props.size || defaultSize) * 0.6} />}\n </AvatarFallback>\n </Avatar>\n );\n}\n"],"mappings":";;;;;;;AAOA,MAAM,cAAc;AAEpB,SAAgB,WAAW,OAQxB;CACD,MAAM,OAAO,MAAM;AACnB,QACE,4CAACA;EAAO,OAAO;GAAE,QAAQ,MAAM,QAAQ;GAAa,OAAO,MAAM,QAAQ;GAAa;EAAE,WAAW,MAAM,SAAS,WAAW;aAC3H,2CAACC,4BAAY,KAAK,MAAM,mBAAmB,KAAM,EACjD,2CAACC,yCACE,OACC,2CAAC;GAAI,WAAU;GAAc,OAAO,EAAE,WAAW,MAAM,QAAQ,eAAe,IAAK;cAC/E,KAAK,eAAe,KAAK,eAAe,MAAM,GAAG,EAAE,CAAC,aAAa;IAC/D,GACN,2CAACC;GAAU,WAAU;GAAgB,OAAO,MAAM,QAAQ,eAAe;IAAO,GACnE;GACV"}
|
package/dist/components/link.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_chunk = require('../chunk-BE-pF4vm.js');
|
|
5
|
-
let
|
|
5
|
+
let _hexclave_ui = require("@hexclave/ui");
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
let next_link = require("next/link");
|
|
8
8
|
next_link = require_chunk.__toESM(next_link);
|
|
@@ -21,7 +21,7 @@ function Link(props) {
|
|
|
21
21
|
function StyledLink(props) {
|
|
22
22
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Link, {
|
|
23
23
|
...props,
|
|
24
|
-
className: (0,
|
|
24
|
+
className: (0, _hexclave_ui.cn)("underline font-medium", props.className),
|
|
25
25
|
children: props.children
|
|
26
26
|
});
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","names":["NextLink"],"sources":["../../src/components/link.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 { cn } from \"@
|
|
1
|
+
{"version":3,"file":"link.js","names":["NextLink"],"sources":["../../src/components/link.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 { cn } from \"@hexclave/ui\";\nimport NextLink from 'next/link'; // THIS_LINE_PLATFORM next\n\ntype LinkProps = {\n href: string,\n children: React.ReactNode,\n className?: string,\n target?: string,\n onClick?: React.MouseEventHandler<HTMLAnchorElement>,\n prefetch?: boolean,\n};\n\nfunction Link(props: LinkProps) {\n return <NextLink\n href={props.href}\n target={props.target}\n className={props.className}\n prefetch={props.prefetch}\n onClick={props.onClick}\n >\n {props.children}\n </NextLink>;\n}\n\nfunction StyledLink(props: LinkProps) {\n return (\n <Link {...props} className={cn(\"underline font-medium\", props.className)}>\n {props.children}\n </Link>\n );\n}\n\nexport { Link, StyledLink };\n"],"mappings":";;;;;;;;;;AAmBA,SAAS,KAAK,OAAkB;AAC9B,QAAO,2CAACA;EACN,MAAM,MAAM;EACZ,QAAQ,MAAM;EACd,WAAW,MAAM;EACjB,UAAU,MAAM;EAChB,SAAS,MAAM;YAEd,MAAM;GACE;;AAGb,SAAS,WAAW,OAAkB;AACpC,QACE,2CAAC;EAAK,GAAI;EAAO,gCAAc,yBAAyB,MAAM,UAAU;YACrE,MAAM;GACF"}
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_chunk = require('../chunk-BE-pF4vm.js');
|
|
5
5
|
let _hookform_resolvers_yup = require("@hookform/resolvers/yup");
|
|
6
|
-
let
|
|
7
|
-
let
|
|
8
|
-
let
|
|
6
|
+
let _hexclave_shared_dist_schema_fields = require("@hexclave/shared/dist/schema-fields");
|
|
7
|
+
let _hexclave_shared_dist_utils_promises = require("@hexclave/shared/dist/utils/promises");
|
|
8
|
+
let _hexclave_ui = require("@hexclave/ui");
|
|
9
9
|
let react = require("react");
|
|
10
10
|
let react_hook_form = require("react-hook-form");
|
|
11
11
|
let ___lib_translations_js = require("../lib/translations.js");
|
|
12
12
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
13
13
|
let __elements_form_warning_js = require("./elements/form-warning.js");
|
|
14
14
|
let ___lib_hooks_js = require("../lib/hooks.js");
|
|
15
|
-
let
|
|
15
|
+
let _hexclave_shared = require("@hexclave/shared");
|
|
16
16
|
|
|
17
17
|
//#region src/components/magic-link-sign-in.tsx
|
|
18
18
|
function OTP(props) {
|
|
@@ -25,8 +25,8 @@ function OTP(props) {
|
|
|
25
25
|
if (otp.length === 6 && !submitting) {
|
|
26
26
|
setSubmitting(true);
|
|
27
27
|
stackApp.signInWithMagicLink(otp + props.nonce).then((result) => {
|
|
28
|
-
if (result.status === "error") if (
|
|
29
|
-
else if (
|
|
28
|
+
if (result.status === "error") if (_hexclave_shared.KnownErrors.VerificationCodeError.isInstance(result.error)) setError(t("Invalid code"));
|
|
29
|
+
else if (_hexclave_shared.KnownErrors.InvalidTotpCode.isInstance(result.error)) setError(t("Invalid TOTP code"));
|
|
30
30
|
else throw result.error;
|
|
31
31
|
}).catch((e) => console.error(e)).finally(() => {
|
|
32
32
|
setSubmitting(false);
|
|
@@ -40,11 +40,11 @@ function OTP(props) {
|
|
|
40
40
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("form", {
|
|
41
41
|
className: "w-full flex flex-col items-center mb-2",
|
|
42
42
|
children: [
|
|
43
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
43
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, {
|
|
44
44
|
className: "mb-2",
|
|
45
45
|
children: t("Enter the code from your email")
|
|
46
46
|
}),
|
|
47
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
47
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.InputOTP, {
|
|
48
48
|
maxLength: 6,
|
|
49
49
|
type: "text",
|
|
50
50
|
inputMode: "text",
|
|
@@ -52,21 +52,21 @@ function OTP(props) {
|
|
|
52
52
|
value: otp,
|
|
53
53
|
onChange: (value) => setOtp(value.toUpperCase()),
|
|
54
54
|
disabled: submitting,
|
|
55
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
55
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.InputOTPGroup, { children: [
|
|
56
56
|
0,
|
|
57
57
|
1,
|
|
58
58
|
2,
|
|
59
59
|
3,
|
|
60
60
|
4,
|
|
61
61
|
5
|
|
62
|
-
].map((index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
62
|
+
].map((index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.InputOTPSlot, {
|
|
63
63
|
index,
|
|
64
64
|
size: "lg"
|
|
65
65
|
}, index)) })
|
|
66
66
|
}),
|
|
67
67
|
error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__elements_form_warning_js.FormWarningText, { text: error })
|
|
68
68
|
]
|
|
69
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
69
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Button, {
|
|
70
70
|
variant: "link",
|
|
71
71
|
onClick: props.onBack,
|
|
72
72
|
className: "underline",
|
|
@@ -79,7 +79,7 @@ function MagicLinkSignIn() {
|
|
|
79
79
|
const app = (0, ___lib_hooks_js.useStackApp)();
|
|
80
80
|
const [loading, setLoading] = (0, react.useState)(false);
|
|
81
81
|
const [nonce, setNonce] = (0, react.useState)(null);
|
|
82
|
-
const { register, handleSubmit, setError, formState: { errors } } = (0, react_hook_form.useForm)({ resolver: (0, _hookform_resolvers_yup.yupResolver)((0,
|
|
82
|
+
const { register, handleSubmit, setError, formState: { errors } } = (0, react_hook_form.useForm)({ resolver: (0, _hookform_resolvers_yup.yupResolver)((0, _hexclave_shared_dist_schema_fields.yupObject)({ email: (0, _hexclave_shared_dist_schema_fields.strictEmailSchema)(t("Please enter a valid email")).defined().nonEmpty(t("Please enter your email")) })) });
|
|
83
83
|
const onSubmit = async (data) => {
|
|
84
84
|
setLoading(true);
|
|
85
85
|
try {
|
|
@@ -93,7 +93,7 @@ function MagicLinkSignIn() {
|
|
|
93
93
|
return;
|
|
94
94
|
} else setNonce(result.data.nonce);
|
|
95
95
|
} catch (e) {
|
|
96
|
-
if (
|
|
96
|
+
if (_hexclave_shared.KnownErrors.SignUpNotEnabled.isInstance(e)) setError("email", {
|
|
97
97
|
type: "manual",
|
|
98
98
|
message: t("New account registration is not allowed")
|
|
99
99
|
});
|
|
@@ -108,22 +108,22 @@ function MagicLinkSignIn() {
|
|
|
108
108
|
});
|
|
109
109
|
else return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("form", {
|
|
110
110
|
className: "flex flex-col items-stretch stack-scope",
|
|
111
|
-
onSubmit: (e) => (0,
|
|
111
|
+
onSubmit: (e) => (0, _hexclave_shared_dist_utils_promises.runAsynchronouslyWithAlert)(handleSubmit(onSubmit)(e)),
|
|
112
112
|
noValidate: true,
|
|
113
113
|
children: [
|
|
114
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
114
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Label, {
|
|
115
115
|
htmlFor: "email",
|
|
116
116
|
className: "mb-1",
|
|
117
117
|
children: t("Email")
|
|
118
118
|
}),
|
|
119
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
119
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Input, {
|
|
120
120
|
id: "email",
|
|
121
121
|
type: "email",
|
|
122
122
|
autoComplete: "email",
|
|
123
123
|
...register("email")
|
|
124
124
|
}),
|
|
125
125
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__elements_form_warning_js.FormWarningText, { text: errors.email?.message?.toString() }),
|
|
126
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
126
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Button, {
|
|
127
127
|
type: "submit",
|
|
128
128
|
className: "mt-6",
|
|
129
129
|
loading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magic-link-sign-in.js","names":["KnownErrors","Typography","InputOTP","InputOTPGroup","InputOTPSlot","FormWarningText","Button","Label","Input"],"sources":["../../src/components/magic-link-sign-in.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 { KnownErrors } from \"@
|
|
1
|
+
{"version":3,"file":"magic-link-sign-in.js","names":["KnownErrors","Typography","InputOTP","InputOTPGroup","InputOTPSlot","FormWarningText","Button","Label","Input"],"sources":["../../src/components/magic-link-sign-in.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 { KnownErrors } from \"@hexclave/shared\";\nimport { strictEmailSchema, yupObject } from \"@hexclave/shared/dist/schema-fields\";\nimport { runAsynchronouslyWithAlert } from \"@hexclave/shared/dist/utils/promises\";\nimport { Button, Input, InputOTP, InputOTPGroup, InputOTPSlot, Label, Typography } from \"@hexclave/ui\";\nimport { useEffect, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport * as yup from \"yup\";\nimport { useStackApp } from \"../lib/hooks\";\nimport { useTranslation } from \"../lib/translations\";\nimport { FormWarningText } from \"./elements/form-warning\";\n\nfunction OTP(props: {\n onBack: () => void,\n nonce: string,\n}) {\n const { t } = useTranslation();\n const [otp, setOtp] = useState<string>('');\n const [submitting, setSubmitting] = useState<boolean>(false);\n const stackApp = useStackApp();\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n if (otp.length === 6 && !submitting) {\n setSubmitting(true);\n // eslint-disable-next-line no-restricted-syntax\n stackApp.signInWithMagicLink(otp + props.nonce)\n .then(result => {\n if (result.status === 'error') {\n if (KnownErrors.VerificationCodeError.isInstance(result.error)) {\n setError(t(\"Invalid code\"));\n } else if (KnownErrors.InvalidTotpCode.isInstance(result.error)) {\n setError(t(\"Invalid TOTP code\"));\n } else {\n throw result.error;\n }\n }\n })\n .catch(e => console.error(e))\n .finally(() => {\n setSubmitting(false);\n setOtp('');\n });\n }\n if (otp.length !== 0 && otp.length !== 6) {\n setError(null);\n }\n }, [otp, submitting]);\n\n return (\n <div className=\"flex flex-col items-stretch stack-scope\">\n <form className='w-full flex flex-col items-center mb-2'>\n <Typography className='mb-2' >{t('Enter the code from your email')}</Typography>\n <InputOTP\n maxLength={6}\n type=\"text\"\n inputMode=\"text\"\n pattern={\"^[a-zA-Z0-9]+$\"}\n value={otp}\n onChange={value => setOtp(value.toUpperCase())}\n disabled={submitting}\n >\n <InputOTPGroup>\n {[0, 1, 2, 3, 4, 5].map((index) => (\n <InputOTPSlot key={index} index={index} size='lg' />\n ))}\n </InputOTPGroup>\n </InputOTP>\n {error && <FormWarningText text={error} />}\n </form>\n <Button variant='link' onClick={props.onBack} className='underline'>{t('Cancel')}</Button>\n </div>\n );\n}\n\nexport function MagicLinkSignIn() {\n const { t } = useTranslation();\n const app = useStackApp();\n const [loading, setLoading] = useState(false);\n const [nonce, setNonce] = useState<string | null>(null);\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, setError, formState: { errors } } = useForm({\n resolver: yupResolver(schema)\n });\n\n const onSubmit = async (data: yup.InferType<typeof schema>) => {\n setLoading(true);\n try {\n const { email } = data;\n const result = await app.sendMagicLinkEmail(email);\n if (result.status === 'error') {\n setError('email', { type: 'manual', message: result.error.message });\n return;\n } else {\n setNonce(result.data.nonce);\n }\n } catch (e) {\n if (KnownErrors.SignUpNotEnabled.isInstance(e)) {\n setError('email', { type: 'manual', message: t('New account registration is not allowed') });\n } else {\n throw e;\n }\n } finally {\n setLoading(false);\n }\n };\n\n if (nonce) {\n return <OTP nonce={nonce} onBack={() => setNonce(null)} />;\n } else {\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('Email')}</Label>\n <Input\n id=\"email\"\n type=\"email\"\n autoComplete=\"email\"\n {...register('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"],"mappings":";;;;;;;;;;;;;;;;;AAmBA,SAAS,IAAI,OAGV;CACD,MAAM,EAAE,kDAAsB;CAC9B,MAAM,CAAC,KAAK,8BAA2B,GAAG;CAC1C,MAAM,CAAC,YAAY,qCAAmC,MAAM;CAC5D,MAAM,6CAAwB;CAC9B,MAAM,CAAC,OAAO,gCAAoC,KAAK;AAEvD,4BAAgB;AACd,MAAI,IAAI,WAAW,KAAK,CAAC,YAAY;AACnC,iBAAc,KAAK;AAEnB,YAAS,oBAAoB,MAAM,MAAM,MAAM,CAC5C,MAAK,WAAU;AACd,QAAI,OAAO,WAAW,QACpB,KAAIA,6BAAY,sBAAsB,WAAW,OAAO,MAAM,CAC5D,UAAS,EAAE,eAAe,CAAC;aAClBA,6BAAY,gBAAgB,WAAW,OAAO,MAAM,CAC7D,UAAS,EAAE,oBAAoB,CAAC;QAEhC,OAAM,OAAO;KAGjB,CACD,OAAM,MAAK,QAAQ,MAAM,EAAE,CAAC,CAC5B,cAAc;AACb,kBAAc,MAAM;AACpB,WAAO,GAAG;KACV;;AAEN,MAAI,IAAI,WAAW,KAAK,IAAI,WAAW,EACrC,UAAS,KAAK;IAEf,CAAC,KAAK,WAAW,CAAC;AAErB,QACE,4CAAC;EAAI,WAAU;aACb,4CAAC;GAAK,WAAU;;IACd,2CAACC;KAAW,WAAU;eAAS,EAAE,iCAAiC;MAAc;IAChF,2CAACC;KACC,WAAW;KACX,MAAK;KACL,WAAU;KACV,SAAS;KACT,OAAO;KACP,WAAU,UAAS,OAAO,MAAM,aAAa,CAAC;KAC9C,UAAU;eAEV,2CAACC,wCACE;MAAC;MAAG;MAAG;MAAG;MAAG;MAAG;MAAE,CAAC,KAAK,UACvB,2CAACC;MAAgC;MAAO,MAAK;QAA1B,MAAiC,CACpD,GACY;MACP;IACV,SAAS,2CAACC,8CAAgB,MAAM,QAAS;;IACrC,EACP,2CAACC;GAAO,SAAQ;GAAO,SAAS,MAAM;GAAQ,WAAU;aAAa,EAAE,SAAS;IAAU;GACtF;;AAIV,SAAgB,kBAAkB;CAChC,MAAM,EAAE,kDAAsB;CAC9B,MAAM,wCAAmB;CACzB,MAAM,CAAC,SAAS,kCAAuB,MAAM;CAC7C,MAAM,CAAC,OAAO,gCAAoC,KAAK;CAMvD,MAAM,EAAE,UAAU,cAAc,UAAU,WAAW,EAAE,0CAAqB,EAC1E,sGALuB,EACvB,kEAAyB,EAAE,6BAA6B,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,0BAA0B,CAAC,EAC3G,CAAC,CAG6B,EAC9B,CAAC;CAEF,MAAM,WAAW,OAAO,SAAuC;AAC7D,aAAW,KAAK;AAChB,MAAI;GACF,MAAM,EAAE,UAAU;GAClB,MAAM,SAAS,MAAM,IAAI,mBAAmB,MAAM;AAClD,OAAI,OAAO,WAAW,SAAS;AAC7B,aAAS,SAAS;KAAE,MAAM;KAAU,SAAS,OAAO,MAAM;KAAS,CAAC;AACpE;SAEA,UAAS,OAAO,KAAK,MAAM;WAEtB,GAAG;AACV,OAAIN,6BAAY,iBAAiB,WAAW,EAAE,CAC5C,UAAS,SAAS;IAAE,MAAM;IAAU,SAAS,EAAE,0CAA0C;IAAE,CAAC;OAE5F,OAAM;YAEA;AACR,cAAW,MAAM;;;AAIrB,KAAI,MACF,QAAO,2CAAC;EAAW;EAAO,cAAc,SAAS,KAAK;GAAI;KAE1D,QACE,4CAAC;EACC,WAAU;EACV,WAAU,2EAAgC,aAAa,SAAS,CAAC,EAAE,CAAC;EACpE;;GAEA,2CAACO;IAAM,SAAQ;IAAQ,WAAU;cAAQ,EAAE,QAAQ;KAAS;GAC5D,2CAACC;IACC,IAAG;IACH,MAAK;IACL,cAAa;IACb,GAAI,SAAS,QAAQ;KACrB;GACF,2CAACH,8CAAgB,MAAM,OAAO,OAAO,SAAS,UAAU,GAAI;GAE5D,2CAACC;IAAO,MAAK;IAAS,WAAU;IAAgB;cAC7C,EAAE,aAAa;KACT;;GACJ"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_chunk = require('../../chunk-BE-pF4vm.js');
|
|
5
|
-
let
|
|
5
|
+
let _hexclave_ui = require("@hexclave/ui");
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
let ______index_js = require("../../index.js");
|
|
8
8
|
let __message_card_js = require("./message-card.js");
|
|
@@ -15,7 +15,7 @@ function KnownErrorMessageCard({ error, fullPage = false }) {
|
|
|
15
15
|
fullPage,
|
|
16
16
|
primaryButtonText: "Go Home",
|
|
17
17
|
primaryAction: () => stackApp.redirectToHome(),
|
|
18
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(
|
|
18
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_hexclave_ui.Typography, { children: ["Error Code: ", error.errorCode] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_hexclave_ui.Typography, { children: ["Error Message: ", error.message] })]
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"known-error-message-card.js","names":["MessageCard","Typography"],"sources":["../../../src/components/message-cards/known-error-message-card.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 } from \"@
|
|
1
|
+
{"version":3,"file":"known-error-message-card.js","names":["MessageCard","Typography"],"sources":["../../../src/components/message-cards/known-error-message-card.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 } from \"@hexclave/shared\";\nimport { Typography } from \"@hexclave/ui\";\nimport { useStackApp } from \"../..\";\nimport { MessageCard } from \"./message-card\";\n\nexport function KnownErrorMessageCard({\n error,\n fullPage=false,\n}: {\n error: KnownError,\n fullPage?: boolean,\n}) {\n const stackApp = useStackApp();\n\n return (\n <MessageCard\n title={\"An error occurred\"}\n fullPage={fullPage}\n primaryButtonText={\"Go Home\"}\n primaryAction={() => stackApp.redirectToHome()}\n >\n {<Typography>Error Code: {error.errorCode}</Typography>}\n {<Typography>Error Message: {error.message}</Typography>}\n </MessageCard>\n );\n}\n"],"mappings":";;;;;;;;;;AAYA,SAAgB,sBAAsB,EACpC,OACA,WAAS,SAIR;CACD,MAAM,4CAAwB;AAE9B,QACE,4CAACA;EACC,OAAO;EACG;EACV,mBAAmB;EACnB,qBAAqB,SAAS,gBAAgB;aAE7C,4CAACC,sCAAW,gBAAa,MAAM,aAAuB,EACtD,4CAACA,sCAAW,mBAAgB,MAAM,WAAqB;GAC5C"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_chunk = require('../../chunk-BE-pF4vm.js');
|
|
5
|
-
let
|
|
5
|
+
let _hexclave_ui = require("@hexclave/ui");
|
|
6
6
|
let react = require("react");
|
|
7
7
|
react = require_chunk.__toESM(react);
|
|
8
8
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -20,18 +20,18 @@ function MessageCard({ fullPage = false, ...props }) {
|
|
|
20
20
|
padding: fullPage ? "1rem" : 0
|
|
21
21
|
},
|
|
22
22
|
children: [
|
|
23
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
23
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, {
|
|
24
24
|
type: "h3",
|
|
25
25
|
children: props.title
|
|
26
26
|
}),
|
|
27
27
|
props.children,
|
|
28
28
|
(props.primaryButtonText || props.secondaryButtonText) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
29
29
|
className: "flex justify-center gap-4 my-5",
|
|
30
|
-
children: [props.secondaryButtonText && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
30
|
+
children: [props.secondaryButtonText && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Button, {
|
|
31
31
|
variant: "secondary",
|
|
32
32
|
onClick: props.secondaryAction,
|
|
33
33
|
children: props.secondaryButtonText
|
|
34
|
-
}), props.primaryButtonText && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
34
|
+
}), props.primaryButtonText && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Button, {
|
|
35
35
|
onClick: props.primaryAction,
|
|
36
36
|
children: props.primaryButtonText
|
|
37
37
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-card.js","names":["MaybeFullPage","Typography","Button"],"sources":["../../../src/components/message-cards/message-card.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 React from \"react\";\nimport { MaybeFullPage } from \"../elements/maybe-full-page\";\nimport { Button, Typography } from \"@
|
|
1
|
+
{"version":3,"file":"message-card.js","names":["MaybeFullPage","Typography","Button"],"sources":["../../../src/components/message-cards/message-card.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 React from \"react\";\nimport { MaybeFullPage } from \"../elements/maybe-full-page\";\nimport { Button, Typography } from \"@hexclave/ui\";\n\nexport function MessageCard(\n { fullPage=false, ...props }:\n {\n children?: React.ReactNode,\n title: string,\n fullPage?: boolean,\n primaryButtonText?: string,\n primaryAction?: () => Promise<void> | void,\n secondaryButtonText?: string,\n secondaryAction?: () => Promise<void> | void,\n }\n) {\n return (\n <MaybeFullPage fullPage={fullPage}>\n <div className=\"text-center stack-scope flex flex-col gap-4\" style={{ maxWidth: '380px', flexBasis: '380px', padding: fullPage ? '1rem' : 0 }}>\n <Typography type='h3'>{props.title}</Typography>\n {props.children}\n {(props.primaryButtonText || props.secondaryButtonText) && (\n <div className=\"flex justify-center gap-4 my-5\">\n {props.secondaryButtonText && (\n <Button variant=\"secondary\" onClick={props.secondaryAction}>\n {props.secondaryButtonText}\n </Button>\n )}\n {props.primaryButtonText && (\n <Button onClick={props.primaryAction}>\n {props.primaryButtonText}\n </Button>\n )}\n </div>\n )}\n </div>\n </MaybeFullPage>\n );\n}\n"],"mappings":";;;;;;;;;;;AAWA,SAAgB,YACd,EAAE,WAAS,OAAO,GAAG,SAUrB;AACA,QACE,2CAACA;EAAwB;YACvB,4CAAC;GAAI,WAAU;GAA8C,OAAO;IAAE,UAAU;IAAS,WAAW;IAAS,SAAS,WAAW,SAAS;IAAG;;IAC3I,2CAACC;KAAW,MAAK;eAAM,MAAM;MAAmB;IAC/C,MAAM;KACL,MAAM,qBAAqB,MAAM,wBACjC,4CAAC;KAAI,WAAU;gBACZ,MAAM,uBACL,2CAACC;MAAO,SAAQ;MAAY,SAAS,MAAM;gBACxC,MAAM;OACA,EAEV,MAAM,qBACL,2CAACA;MAAO,SAAS,MAAM;gBACpB,MAAM;OACA;MAEP;;IAEJ;GACQ"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_chunk = require('../../chunk-BE-pF4vm.js');
|
|
5
|
-
let
|
|
5
|
+
let _hexclave_ui = require("@hexclave/ui");
|
|
6
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
7
|
let ______index_js = require("../../index.js");
|
|
8
8
|
let __message_card_js = require("./message-card.js");
|
|
@@ -64,7 +64,7 @@ function PredefinedMessageCard({ type, fullPage = false }) {
|
|
|
64
64
|
primaryAction,
|
|
65
65
|
secondaryButtonText: secondaryButton || void 0,
|
|
66
66
|
secondaryAction: secondaryAction || void 0,
|
|
67
|
-
children: message && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
67
|
+
children: message && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_hexclave_ui.Typography, { children: message })
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
70
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predefined-message-card.js","names":["MessageCard","Typography"],"sources":["../../../src/components/message-cards/predefined-message-card.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 { Typography } from \"@
|
|
1
|
+
{"version":3,"file":"predefined-message-card.js","names":["MessageCard","Typography"],"sources":["../../../src/components/message-cards/predefined-message-card.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 { Typography } from \"@hexclave/ui\";\nimport { useStackApp } from \"../..\";\nimport { useTranslation } from \"../../lib/translations\";\nimport { MessageCard } from \"./message-card\";\n\nexport function PredefinedMessageCard({\n type,\n fullPage=false,\n}: {\n type: 'signedIn' | 'signedOut' | 'emailSent' | 'passwordReset' | 'unknownError' | 'signUpDisabled',\n fullPage?: boolean,\n}) {\n const stackApp = useStackApp();\n const { t } = useTranslation();\n\n let title: string;\n let message: string | null = null;\n let primaryButton: string | null = null;\n let secondaryButton: string | null = null;\n let primaryAction: (() => Promise<void> | void) | null = null;\n let secondaryAction: (() => Promise<void> | void) | null = null;\n\n switch (type) {\n case 'signedIn': {\n title = t(\"You are already signed in\");\n primaryAction = () => stackApp.redirectToHome();\n secondaryAction = () => stackApp.redirectToSignOut();\n primaryButton = t(\"Go home\");\n secondaryButton = t(\"Sign out\");\n break;\n }\n case 'signedOut': {\n title = t(\"You are not currently signed in.\");\n primaryAction = () => stackApp.redirectToSignIn();\n primaryButton = t(\"Sign in\");\n break;\n }\n case 'signUpDisabled': {\n title = t(\"Sign up for new users is not enabled at the moment.\");\n primaryAction = () => stackApp.redirectToHome();\n secondaryAction = () => stackApp.redirectToSignIn();\n primaryButton = t(\"Go home\");\n secondaryButton = t(\"Sign in\");\n break;\n }\n case 'emailSent': {\n title = t(\"Email sent!\");\n message = t(\"If the user with this e-mail address exists, an e-mail was sent to your inbox. Make sure to check your spam folder.\");\n primaryAction = () => stackApp.redirectToHome();\n primaryButton = t(\"Go home\");\n break;\n }\n case 'passwordReset': {\n title = t(\"Password reset successfully!\");\n message = t(\"Your password has been reset. You can now sign in with your new password.\");\n primaryAction = () => stackApp.redirectToSignIn({ noRedirectBack: true });\n primaryButton = t(\"Sign in\");\n break;\n }\n case 'unknownError': {\n title = t(\"An unknown error occurred\");\n message = t(\"Please try again and if the problem persists, contact support.\");\n primaryAction = () => stackApp.redirectToHome();\n primaryButton = t(\"Go home\");\n break;\n }\n }\n\n return (\n <MessageCard\n title={title}\n fullPage={fullPage}\n primaryButtonText={primaryButton}\n primaryAction={primaryAction}\n secondaryButtonText={secondaryButton || undefined}\n secondaryAction={secondaryAction || undefined}\n >\n {message && <Typography>{message}</Typography>}\n </MessageCard>\n );\n}\n"],"mappings":";;;;;;;;;;;AAYA,SAAgB,sBAAsB,EACpC,MACA,WAAS,SAIR;CACD,MAAM,4CAAwB;CAC9B,MAAM,EAAE,qDAAsB;CAE9B,IAAI;CACJ,IAAI,UAAyB;CAC7B,IAAI,gBAA+B;CACnC,IAAI,kBAAiC;CACrC,IAAI,gBAAqD;CACzD,IAAI,kBAAuD;AAE3D,SAAQ,MAAR;EACE,KAAK;AACH,WAAQ,EAAE,4BAA4B;AACtC,yBAAsB,SAAS,gBAAgB;AAC/C,2BAAwB,SAAS,mBAAmB;AACpD,mBAAgB,EAAE,UAAU;AAC5B,qBAAkB,EAAE,WAAW;AAC/B;EAEF,KAAK;AACH,WAAQ,EAAE,mCAAmC;AAC7C,yBAAsB,SAAS,kBAAkB;AACjD,mBAAgB,EAAE,UAAU;AAC5B;EAEF,KAAK;AACH,WAAQ,EAAE,sDAAsD;AAChE,yBAAsB,SAAS,gBAAgB;AAC/C,2BAAwB,SAAS,kBAAkB;AACnD,mBAAgB,EAAE,UAAU;AAC5B,qBAAkB,EAAE,UAAU;AAC9B;EAEF,KAAK;AACH,WAAQ,EAAE,cAAc;AACxB,aAAU,EAAE,sHAAsH;AAClI,yBAAsB,SAAS,gBAAgB;AAC/C,mBAAgB,EAAE,UAAU;AAC5B;EAEF,KAAK;AACH,WAAQ,EAAE,+BAA+B;AACzC,aAAU,EAAE,4EAA4E;AACxF,yBAAsB,SAAS,iBAAiB,EAAE,gBAAgB,MAAM,CAAC;AACzE,mBAAgB,EAAE,UAAU;AAC5B;EAEF,KAAK;AACH,WAAQ,EAAE,4BAA4B;AACtC,aAAU,EAAE,iEAAiE;AAC7E,yBAAsB,SAAS,gBAAgB;AAC/C,mBAAgB,EAAE,UAAU;AAC5B;;AAIJ,QACE,2CAACA;EACQ;EACG;EACV,mBAAmB;EACJ;EACf,qBAAqB,mBAAmB;EACxC,iBAAiB,mBAAmB;YAEnC,WAAW,2CAACC,qCAAY,UAAqB;GAClC"}
|