@tinyrack/issuary-server 0.31.0 → 0.32.2
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/dist/entities/auth-budget.entity.d.ts +20 -0
- package/dist/entities/auth-budget.entity.d.ts.map +1 -0
- package/dist/entities/auth-budget.entity.js +11 -0
- package/dist/entities/auth-budget.entity.js.map +1 -0
- package/dist/entities/browser-session.entity.d.ts +32 -0
- package/dist/entities/browser-session.entity.d.ts.map +1 -0
- package/dist/entities/browser-session.entity.js +12 -0
- package/dist/entities/browser-session.entity.js.map +1 -0
- package/dist/entities/email-verification.entity.d.ts +18 -0
- package/dist/entities/email-verification.entity.d.ts.map +1 -1
- package/dist/entities/email-verification.entity.js +2 -0
- package/dist/entities/email-verification.entity.js.map +1 -1
- package/dist/entities/oauth-client.entity.d.ts +120 -0
- package/dist/entities/oauth-client.entity.d.ts.map +1 -1
- package/dist/entities/oauth-code.entity.d.ts +120 -0
- package/dist/entities/oauth-code.entity.d.ts.map +1 -1
- package/dist/entities/oauth-code.entity.js +3 -0
- package/dist/entities/oauth-code.entity.js.map +1 -1
- package/dist/entities/oauth-device-code.entity.d.ts +120 -0
- package/dist/entities/oauth-device-code.entity.d.ts.map +1 -1
- package/dist/entities/oauth-device-code.entity.js +3 -0
- package/dist/entities/oauth-device-code.entity.js.map +1 -1
- package/dist/entities/oauth-grant.entity.d.ts +52 -0
- package/dist/entities/oauth-grant.entity.d.ts.map +1 -0
- package/dist/entities/oauth-grant.entity.js +19 -0
- package/dist/entities/oauth-grant.entity.js.map +1 -0
- package/dist/entities/password-reset.entity.d.ts +18 -0
- package/dist/entities/password-reset.entity.d.ts.map +1 -1
- package/dist/entities/password-reset.entity.js +2 -0
- package/dist/entities/password-reset.entity.js.map +1 -1
- package/dist/entities/pending-oauth-registration.entity.d.ts +9 -0
- package/dist/entities/pending-oauth-registration.entity.d.ts.map +1 -1
- package/dist/entities/pending-oauth-registration.entity.js +1 -0
- package/dist/entities/pending-oauth-registration.entity.js.map +1 -1
- package/dist/entities/revoked-token.entity.d.ts +120 -0
- package/dist/entities/revoked-token.entity.d.ts.map +1 -1
- package/dist/entities/terms-content.entity.d.ts +36 -0
- package/dist/entities/terms-content.entity.d.ts.map +1 -1
- package/dist/entities/terms.entity.d.ts +36 -0
- package/dist/entities/terms.entity.d.ts.map +1 -1
- package/dist/entities/user-consent.entity.d.ts +120 -0
- package/dist/entities/user-consent.entity.d.ts.map +1 -1
- package/dist/entities/user-terms-consent.entity.d.ts +36 -0
- package/dist/entities/user-terms-consent.entity.d.ts.map +1 -1
- package/dist/entities/user-totp-recovery-code.entity.d.ts +36 -0
- package/dist/entities/user-totp-recovery-code.entity.d.ts.map +1 -1
- package/dist/entities/user-totp.entity.d.ts +36 -0
- package/dist/entities/user-totp.entity.d.ts.map +1 -1
- package/dist/entities/user-totp.entity.js +1 -0
- package/dist/entities/user-totp.entity.js.map +1 -1
- package/dist/entities/user.entity.d.ts +36 -0
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +3 -0
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entrypoints/app.d.ts +448 -437
- package/dist/entrypoints/app.d.ts.map +1 -1
- package/dist/entrypoints/app.js +78 -6
- package/dist/entrypoints/app.js.map +1 -1
- package/dist/entrypoints/database/postgres/compiled-functions.d.ts +326 -200
- package/dist/entrypoints/database/postgres/compiled-functions.js +1849 -518
- package/dist/entrypoints/database/postgres/compiled-functions.js.map +1 -1
- package/dist/entrypoints/database/sqlite/compiled-functions.d.ts +326 -200
- package/dist/entrypoints/database/sqlite/compiled-functions.js +1849 -518
- package/dist/entrypoints/database/sqlite/compiled-functions.js.map +1 -1
- package/dist/entrypoints/database/sqlite/sqlite.d.ts.map +1 -1
- package/dist/entrypoints/database/sqlite/sqlite.js +1 -0
- package/dist/entrypoints/database/sqlite/sqlite.js.map +1 -1
- package/dist/entrypoints/scheduler/database.d.ts +3 -1
- package/dist/entrypoints/scheduler/database.d.ts.map +1 -1
- package/dist/entrypoints/scheduler/database.js +13 -2
- package/dist/entrypoints/scheduler/database.js.map +1 -1
- package/dist/entrypoints/scheduler/distributed-runner.d.ts +4 -0
- package/dist/entrypoints/scheduler/distributed-runner.d.ts.map +1 -1
- package/dist/entrypoints/scheduler/distributed-runner.js +26 -1
- package/dist/entrypoints/scheduler/distributed-runner.js.map +1 -1
- package/dist/lib/config/email.d.ts +1 -0
- package/dist/lib/config/email.d.ts.map +1 -1
- package/dist/lib/config/email.js.map +1 -1
- package/dist/lib/database/entities.d.ts.map +1 -1
- package/dist/lib/database/entities.js +6 -0
- package/dist/lib/database/entities.js.map +1 -1
- package/dist/lib/openapi.d.ts +2 -0
- package/dist/lib/openapi.d.ts.map +1 -1
- package/dist/lib/openapi.js +36 -1
- package/dist/lib/openapi.js.map +1 -1
- package/dist/lib/request-ip.d.ts +4 -0
- package/dist/lib/request-ip.d.ts.map +1 -0
- package/dist/lib/request-ip.js +39 -0
- package/dist/lib/request-ip.js.map +1 -0
- package/dist/middleware/auth-budget.d.ts +3 -0
- package/dist/middleware/auth-budget.d.ts.map +1 -0
- package/dist/middleware/auth-budget.js +80 -0
- package/dist/middleware/auth-budget.js.map +1 -0
- package/dist/middleware/session.d.ts +23 -5
- package/dist/middleware/session.d.ts.map +1 -1
- package/dist/middleware/session.js +152 -12
- package/dist/middleware/session.js.map +1 -1
- package/dist/middleware/strict-input.d.ts +4 -0
- package/dist/middleware/strict-input.d.ts.map +1 -0
- package/dist/middleware/strict-input.js +144 -0
- package/dist/middleware/strict-input.js.map +1 -0
- package/dist/migrations/postgres/Migration20260910120000_api_security.d.ts +6 -0
- package/dist/migrations/postgres/Migration20260910120000_api_security.d.ts.map +1 -0
- package/dist/migrations/postgres/Migration20260910120000_api_security.js +20 -0
- package/dist/migrations/postgres/Migration20260910120000_api_security.js.map +1 -0
- package/dist/migrations/postgres/Migration20260910160000_security_followup.d.ts +6 -0
- package/dist/migrations/postgres/Migration20260910160000_security_followup.d.ts.map +1 -0
- package/dist/migrations/postgres/Migration20260910160000_security_followup.js +23 -0
- package/dist/migrations/postgres/Migration20260910160000_security_followup.js.map +1 -0
- package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.d.ts +6 -0
- package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.d.ts.map +1 -0
- package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.js +28 -0
- package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.js.map +1 -0
- package/dist/migrations/postgres/Migration20260910220000_flow_revocation.d.ts +6 -0
- package/dist/migrations/postgres/Migration20260910220000_flow_revocation.d.ts.map +1 -0
- package/dist/migrations/postgres/Migration20260910220000_flow_revocation.js +19 -0
- package/dist/migrations/postgres/Migration20260910220000_flow_revocation.js.map +1 -0
- package/dist/migrations/postgres/index.d.ts.map +1 -1
- package/dist/migrations/postgres/index.js +8 -0
- package/dist/migrations/postgres/index.js.map +1 -1
- package/dist/migrations/sqlite/Migration20260910120000_api_security.d.ts +6 -0
- package/dist/migrations/sqlite/Migration20260910120000_api_security.d.ts.map +1 -0
- package/dist/migrations/sqlite/Migration20260910120000_api_security.js +20 -0
- package/dist/migrations/sqlite/Migration20260910120000_api_security.js.map +1 -0
- package/dist/migrations/sqlite/Migration20260910160000_security_followup.d.ts +6 -0
- package/dist/migrations/sqlite/Migration20260910160000_security_followup.d.ts.map +1 -0
- package/dist/migrations/sqlite/Migration20260910160000_security_followup.js +23 -0
- package/dist/migrations/sqlite/Migration20260910160000_security_followup.js.map +1 -0
- package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.d.ts +8 -0
- package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.d.ts.map +1 -0
- package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.js +72 -0
- package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.js.map +1 -0
- package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.d.ts +6 -0
- package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.d.ts.map +1 -0
- package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.js +19 -0
- package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.js.map +1 -0
- package/dist/migrations/sqlite/index.d.ts.map +1 -1
- package/dist/migrations/sqlite/index.js +8 -0
- package/dist/migrations/sqlite/index.js.map +1 -1
- package/dist/repositories/email-verification.repository.d.ts +1 -0
- package/dist/repositories/email-verification.repository.d.ts.map +1 -1
- package/dist/repositories/email-verification.repository.js +8 -17
- package/dist/repositories/email-verification.repository.js.map +1 -1
- package/dist/repositories/oauth-code.repository.d.ts +2 -0
- package/dist/repositories/oauth-code.repository.d.ts.map +1 -1
- package/dist/repositories/oauth-code.repository.js +8 -0
- package/dist/repositories/oauth-code.repository.js.map +1 -1
- package/dist/repositories/oauth-device-code.repository.d.ts +3 -0
- package/dist/repositories/oauth-device-code.repository.d.ts.map +1 -1
- package/dist/repositories/oauth-device-code.repository.js +64 -29
- package/dist/repositories/oauth-device-code.repository.js.map +1 -1
- package/dist/repositories/password-reset.repository.d.ts +1 -0
- package/dist/repositories/password-reset.repository.d.ts.map +1 -1
- package/dist/repositories/password-reset.repository.js +6 -19
- package/dist/repositories/password-reset.repository.js.map +1 -1
- package/dist/repositories/pending-oauth-registration.repository.d.ts +2 -0
- package/dist/repositories/pending-oauth-registration.repository.d.ts.map +1 -1
- package/dist/repositories/pending-oauth-registration.repository.js +16 -2
- package/dist/repositories/pending-oauth-registration.repository.js.map +1 -1
- package/dist/repositories/terms.repository.d.ts.map +1 -1
- package/dist/repositories/terms.repository.js +1 -0
- package/dist/repositories/terms.repository.js.map +1 -1
- package/dist/repositories/user-consent.repository.d.ts.map +1 -1
- package/dist/repositories/user-consent.repository.js +1 -1
- package/dist/repositories/user-consent.repository.js.map +1 -1
- package/dist/repositories/user-terms-consent.repository.d.ts.map +1 -1
- package/dist/repositories/user-terms-consent.repository.js +2 -0
- package/dist/repositories/user-terms-consent.repository.js.map +1 -1
- package/dist/repositories/user-totp-recovery-code.repository.d.ts +24 -0
- package/dist/repositories/user-totp-recovery-code.repository.d.ts.map +1 -1
- package/dist/repositories/user-totp.repository.d.ts +36 -0
- package/dist/repositories/user-totp.repository.d.ts.map +1 -1
- package/dist/routes/.well-known/openid-configuration/get.d.ts.map +1 -1
- package/dist/routes/.well-known/openid-configuration/get.js +5 -1
- package/dist/routes/.well-known/openid-configuration/get.js.map +1 -1
- package/dist/routes/api/admin/console/index.d.ts.map +1 -1
- package/dist/routes/api/admin/console/index.js +29 -14
- package/dist/routes/api/admin/console/index.js.map +1 -1
- package/dist/routes/api/admin/me/get.js +2 -3
- package/dist/routes/api/admin/me/get.js.map +1 -1
- package/dist/routes/api/admin/users/index.d.ts.map +1 -1
- package/dist/routes/api/admin/users/index.js +59 -52
- package/dist/routes/api/admin/users/index.js.map +1 -1
- package/dist/routes/api/auth/accounts/remove.post.d.ts +5 -5
- package/dist/routes/api/auth/email/resend/post.d.ts.map +1 -1
- package/dist/routes/api/auth/email/resend/post.js +3 -24
- package/dist/routes/api/auth/email/resend/post.js.map +1 -1
- package/dist/routes/api/auth/email/verify/post.d.ts.map +1 -1
- package/dist/routes/api/auth/email/verify/post.js +29 -12
- package/dist/routes/api/auth/email/verify/post.js.map +1 -1
- package/dist/routes/api/auth/login/post.d.ts.map +1 -1
- package/dist/routes/api/auth/login/post.js +4 -3
- package/dist/routes/api/auth/login/post.js.map +1 -1
- package/dist/routes/api/auth/passkey/verify/post.d.ts.map +1 -1
- package/dist/routes/api/auth/passkey/verify/post.js +25 -11
- package/dist/routes/api/auth/passkey/verify/post.js.map +1 -1
- package/dist/routes/api/auth/password/forgot/post.d.ts.map +1 -1
- package/dist/routes/api/auth/password/forgot/post.js +2 -19
- package/dist/routes/api/auth/password/forgot/post.js.map +1 -1
- package/dist/routes/api/auth/register/post.d.ts.map +1 -1
- package/dist/routes/api/auth/register/post.js +4 -3
- package/dist/routes/api/auth/register/post.js.map +1 -1
- package/dist/routes/api/auth/totp/recovery/verify/post.d.ts.map +1 -1
- package/dist/routes/api/auth/totp/recovery/verify/post.js +7 -5
- package/dist/routes/api/auth/totp/recovery/verify/post.js.map +1 -1
- package/dist/routes/api/auth/totp/verify/post.d.ts.map +1 -1
- package/dist/routes/api/auth/totp/verify/post.js +7 -5
- package/dist/routes/api/auth/totp/verify/post.js.map +1 -1
- package/dist/routes/api/consent/post.d.ts.map +1 -1
- package/dist/routes/api/consent/post.js +141 -120
- package/dist/routes/api/consent/post.js.map +1 -1
- package/dist/routes/api/docs/get.d.ts.map +1 -1
- package/dist/routes/api/docs/get.js +8 -1
- package/dist/routes/api/docs/get.js.map +1 -1
- package/dist/routes/api/index.d.ts +379 -379
- package/dist/routes/api/oauth/_provider/authorize/get.d.ts.map +1 -1
- package/dist/routes/api/oauth/_provider/authorize/get.js +5 -1
- package/dist/routes/api/oauth/_provider/authorize/get.js.map +1 -1
- package/dist/routes/api/oauth/_provider/callback/get.d.ts +9 -9
- package/dist/routes/api/oauth/_provider/callback/get.d.ts.map +1 -1
- package/dist/routes/api/oauth/_provider/callback/get.js +30 -6
- package/dist/routes/api/oauth/_provider/callback/get.js.map +1 -1
- package/dist/routes/api/oauth/_provider/callback/post.d.ts.map +1 -1
- package/dist/routes/api/oauth/_provider/callback/post.js +31 -31
- package/dist/routes/api/oauth/_provider/callback/post.js.map +1 -1
- package/dist/routes/api/oauth/_provider/delete.d.ts.map +1 -1
- package/dist/routes/api/oauth/_provider/delete.js +14 -11
- package/dist/routes/api/oauth/_provider/delete.js.map +1 -1
- package/dist/routes/api/oauth/index.d.ts +18 -18
- package/dist/routes/api/terms/consent/post.d.ts.map +1 -1
- package/dist/routes/api/terms/consent/post.js +59 -43
- package/dist/routes/api/terms/consent/post.js.map +1 -1
- package/dist/routes/api/user/delete.d.ts.map +1 -1
- package/dist/routes/api/user/delete.js +8 -8
- package/dist/routes/api/user/delete.js.map +1 -1
- package/dist/routes/api/user/passkeys/_id/delete.d.ts.map +1 -1
- package/dist/routes/api/user/passkeys/_id/delete.js +17 -29
- package/dist/routes/api/user/passkeys/_id/delete.js.map +1 -1
- package/dist/routes/api/user/passkeys/_id/patch.d.ts.map +1 -1
- package/dist/routes/api/user/passkeys/_id/patch.js +16 -13
- package/dist/routes/api/user/passkeys/_id/patch.js.map +1 -1
- package/dist/routes/api/user/passkeys/register/verify/post.d.ts.map +1 -1
- package/dist/routes/api/user/passkeys/register/verify/post.js +27 -19
- package/dist/routes/api/user/passkeys/register/verify/post.js.map +1 -1
- package/dist/routes/api/user/password/delete.d.ts.map +1 -1
- package/dist/routes/api/user/password/delete.js +13 -10
- package/dist/routes/api/user/password/delete.js.map +1 -1
- package/dist/routes/api/user/password/post.d.ts.map +1 -1
- package/dist/routes/api/user/password/post.js +13 -10
- package/dist/routes/api/user/password/post.js.map +1 -1
- package/dist/routes/api/user/password/put.d.ts.map +1 -1
- package/dist/routes/api/user/password/put.js +13 -10
- package/dist/routes/api/user/password/put.js.map +1 -1
- package/dist/routes/api/user/totp/confirm/post.d.ts.map +1 -1
- package/dist/routes/api/user/totp/confirm/post.js +33 -18
- package/dist/routes/api/user/totp/confirm/post.js.map +1 -1
- package/dist/routes/api/user/totp/delete.d.ts.map +1 -1
- package/dist/routes/api/user/totp/delete.js +13 -18
- package/dist/routes/api/user/totp/delete.js.map +1 -1
- package/dist/routes/api/user/totp/recovery/regenerate/post.d.ts.map +1 -1
- package/dist/routes/api/user/totp/recovery/regenerate/post.js +13 -10
- package/dist/routes/api/user/totp/recovery/regenerate/post.js.map +1 -1
- package/dist/routes/api/user/totp/setup/post.d.ts.map +1 -1
- package/dist/routes/api/user/totp/setup/post.js +13 -8
- package/dist/routes/api/user/totp/setup/post.js.map +1 -1
- package/dist/routes/api/user/totp/verify/post.d.ts.map +1 -1
- package/dist/routes/api/user/totp/verify/post.js +23 -12
- package/dist/routes/api/user/totp/verify/post.js.map +1 -1
- package/dist/routes/index.d.ts +252 -242
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/oauth/authorize/get.d.ts.map +1 -1
- package/dist/routes/oauth/authorize/get.js +12 -4
- package/dist/routes/oauth/authorize/get.js.map +1 -1
- package/dist/routes/oauth/device/get-post.d.ts +10 -0
- package/dist/routes/oauth/device/get-post.d.ts.map +1 -1
- package/dist/routes/oauth/device/get-post.js +32 -3
- package/dist/routes/oauth/device/get-post.js.map +1 -1
- package/dist/routes/oauth/device-authorization/post.d.ts.map +1 -1
- package/dist/routes/oauth/device-authorization/post.js +13 -7
- package/dist/routes/oauth/device-authorization/post.js.map +1 -1
- package/dist/routes/oauth/end-session/get.d.ts.map +1 -1
- package/dist/routes/oauth/end-session/get.js +2 -3
- package/dist/routes/oauth/end-session/get.js.map +1 -1
- package/dist/routes/oauth/index.d.ts +10 -0
- package/dist/routes/oauth/index.d.ts.map +1 -1
- package/dist/routes/oauth/revoke/post.d.ts.map +1 -1
- package/dist/routes/oauth/revoke/post.js +10 -2
- package/dist/routes/oauth/revoke/post.js.map +1 -1
- package/dist/routes/oauth/token/post.d.ts.map +1 -1
- package/dist/routes/oauth/token/post.js +69 -57
- package/dist/routes/oauth/token/post.js.map +1 -1
- package/dist/schemas/error.d.ts +75 -0
- package/dist/schemas/error.d.ts.map +1 -1
- package/dist/schemas/error.js +3 -0
- package/dist/schemas/error.js.map +1 -1
- package/dist/schemas/field.d.ts.map +1 -1
- package/dist/schemas/field.js +3 -0
- package/dist/schemas/field.js.map +1 -1
- package/dist/seeders/config.seeder.d.ts +1 -1
- package/dist/seeders/config.seeder.d.ts.map +1 -1
- package/dist/seeders/config.seeder.js +100 -36
- package/dist/seeders/config.seeder.js.map +1 -1
- package/dist/services/admin-console.service.d.ts.map +1 -1
- package/dist/services/admin-console.service.js +137 -100
- package/dist/services/admin-console.service.js.map +1 -1
- package/dist/services/auth-budget.service.d.ts +6 -0
- package/dist/services/auth-budget.service.d.ts.map +1 -0
- package/dist/services/auth-budget.service.js +30 -0
- package/dist/services/auth-budget.service.js.map +1 -0
- package/dist/services/authentication-epoch.d.ts +5 -0
- package/dist/services/authentication-epoch.d.ts.map +1 -0
- package/dist/services/authentication-epoch.js +22 -0
- package/dist/services/authentication-epoch.js.map +1 -0
- package/dist/services/authorization-browser.service.d.ts +18 -0
- package/dist/services/authorization-browser.service.d.ts.map +1 -0
- package/dist/services/authorization-browser.service.js +28 -0
- package/dist/services/authorization-browser.service.js.map +1 -0
- package/dist/services/browser-security.service.d.ts +14 -0
- package/dist/services/browser-security.service.d.ts.map +1 -0
- package/dist/services/browser-security.service.js +85 -0
- package/dist/services/browser-security.service.js.map +1 -0
- package/dist/services/browser-session.service.d.ts +25 -0
- package/dist/services/browser-session.service.d.ts.map +1 -0
- package/dist/services/browser-session.service.js +102 -0
- package/dist/services/browser-session.service.js.map +1 -0
- package/dist/services/cleanup.service.d.ts +1 -0
- package/dist/services/cleanup.service.d.ts.map +1 -1
- package/dist/services/cleanup.service.js +31 -0
- package/dist/services/cleanup.service.js.map +1 -1
- package/dist/services/client-security.d.ts +641 -0
- package/dist/services/client-security.d.ts.map +1 -0
- package/dist/services/client-security.js +10 -0
- package/dist/services/client-security.js.map +1 -0
- package/dist/services/container.d.ts +2 -0
- package/dist/services/container.d.ts.map +1 -1
- package/dist/services/container.js +6 -2
- package/dist/services/container.js.map +1 -1
- package/dist/services/email.service.d.ts +2 -14
- package/dist/services/email.service.d.ts.map +1 -1
- package/dist/services/email.service.js +35 -29
- package/dist/services/email.service.js.map +1 -1
- package/dist/services/jwt.service.d.ts +1 -0
- package/dist/services/jwt.service.d.ts.map +1 -1
- package/dist/services/jwt.service.js +13 -1
- package/dist/services/jwt.service.js.map +1 -1
- package/dist/services/mail-queue.service.d.ts +24 -0
- package/dist/services/mail-queue.service.d.ts.map +1 -0
- package/dist/services/mail-queue.service.js +223 -0
- package/dist/services/mail-queue.service.js.map +1 -0
- package/dist/services/mikro.service.d.ts.map +1 -1
- package/dist/services/mikro.service.js +2 -0
- package/dist/services/mikro.service.js.map +1 -1
- package/dist/services/oauth-authorize.service.d.ts +3 -0
- package/dist/services/oauth-authorize.service.d.ts.map +1 -1
- package/dist/services/oauth-authorize.service.js +131 -101
- package/dist/services/oauth-authorize.service.js.map +1 -1
- package/dist/services/oauth-browser-security.service.d.ts +7 -0
- package/dist/services/oauth-browser-security.service.d.ts.map +1 -0
- package/dist/services/oauth-browser-security.service.js +67 -0
- package/dist/services/oauth-browser-security.service.js.map +1 -0
- package/dist/services/oauth-client.service.d.ts +24 -1
- package/dist/services/oauth-client.service.d.ts.map +1 -1
- package/dist/services/oauth-client.service.js +52 -13
- package/dist/services/oauth-client.service.js.map +1 -1
- package/dist/services/oauth-connect.service.d.ts +37 -3
- package/dist/services/oauth-connect.service.d.ts.map +1 -1
- package/dist/services/oauth-connect.service.js +236 -212
- package/dist/services/oauth-connect.service.js.map +1 -1
- package/dist/services/oauth-token.service.d.ts +6 -4
- package/dist/services/oauth-token.service.d.ts.map +1 -1
- package/dist/services/oauth-token.service.js +295 -209
- package/dist/services/oauth-token.service.js.map +1 -1
- package/dist/services/passkey.service.d.ts +26 -7
- package/dist/services/passkey.service.d.ts.map +1 -1
- package/dist/services/passkey.service.js +71 -42
- package/dist/services/passkey.service.js.map +1 -1
- package/dist/services/password-auth.service.d.ts +5 -1
- package/dist/services/password-auth.service.d.ts.map +1 -1
- package/dist/services/password-auth.service.js +79 -52
- package/dist/services/password-auth.service.js.map +1 -1
- package/dist/services/password-reset.service.d.ts.map +1 -1
- package/dist/services/password-reset.service.js +34 -15
- package/dist/services/password-reset.service.js.map +1 -1
- package/dist/services/security.service.d.ts +3 -1
- package/dist/services/security.service.d.ts.map +1 -1
- package/dist/services/security.service.js +11 -2
- package/dist/services/security.service.js.map +1 -1
- package/dist/services/terms-policy.service.d.ts +7 -0
- package/dist/services/terms-policy.service.d.ts.map +1 -0
- package/dist/services/terms-policy.service.js +26 -0
- package/dist/services/terms-policy.service.js.map +1 -0
- package/dist/services/totp.service.d.ts +4 -5
- package/dist/services/totp.service.d.ts.map +1 -1
- package/dist/services/totp.service.js +116 -86
- package/dist/services/totp.service.js.map +1 -1
- package/dist/services/user-security.service.d.ts +15 -0
- package/dist/services/user-security.service.d.ts.map +1 -0
- package/dist/services/user-security.service.js +57 -0
- package/dist/services/user-security.service.js.map +1 -0
- package/dist/services/user.service.d.ts +6 -4
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +143 -121
- package/dist/services/user.service.js.map +1 -1
- package/frontend/client/assets/{auth-layout-BedWIZ7L.js → auth-layout-sea6nww4.js} +1 -1
- package/frontend/client/assets/{auth-page-header-C6Z6Air-.js → auth-page-header-CV85AJLW.js} +1 -1
- package/frontend/client/assets/document-navigation-FZbb5ldf.js +1 -0
- package/frontend/client/assets/i18n-vfKY-byx.js +1 -0
- package/frontend/client/assets/{language-selector-CeLHnp1n.js → language-selector-Jso2cQNI.js} +1 -1
- package/frontend/client/assets/manifest-90703545.js +1 -0
- package/frontend/client/assets/{passkey-Bkqvhjwb.js → passkey-CJhT-7yO.js} +1 -1
- package/frontend/client/assets/{promise-CepnkPDw.js → promise-BP9iSIs-.js} +1 -1
- package/frontend/client/assets/{root-CM8lJbh5.js → root-BkavuloG.js} +1 -1
- package/frontend/client/assets/{route-Y1_yJKhW.js → route-B0udr9eT.js} +1 -1
- package/frontend/client/assets/{route-CdPHVY9W.js → route-B3Uv9aTa.js} +1 -1
- package/frontend/client/assets/{route-CF1S7UUy.js → route-B6hIfgxz.js} +1 -1
- package/frontend/client/assets/{route-BcXtt6V2.js → route-BEWds2g-.js} +1 -1
- package/frontend/client/assets/route-Bm9LsorH.js +1 -0
- package/frontend/client/assets/route-Btv5Y69z.js +1 -0
- package/frontend/client/assets/route-BvyDzziE.js +1 -0
- package/frontend/client/assets/route-C6kG9u7j.js +1 -0
- package/frontend/client/assets/{route-1rid8j-3.js → route-C7C3Z0vI.js} +1 -1
- package/frontend/client/assets/{route-DphbGk_G.js → route-CVyefM3x.js} +1 -1
- package/frontend/client/assets/{route-DZvCkU11.js → route-CXth2Wqz.js} +1 -1
- package/frontend/client/assets/route-D0IqOurp.js +1 -0
- package/frontend/client/assets/route-DHmYUnJR.js +1 -0
- package/frontend/client/assets/route-DTjZQ_Fl.js +1 -0
- package/frontend/client/assets/route-D_dTeu1b.js +1 -0
- package/frontend/client/assets/{route-DkoXJmYM.js → route-Dj8gVemC.js} +1 -1
- package/frontend/client/assets/{route-DrtpzI6u.js → route-DnhPlHOi.js} +1 -1
- package/frontend/client/assets/route-FY92YQhF.js +1 -0
- package/frontend/client/assets/{route-CKiun7AR.js → route-PcLpZHbT.js} +1 -1
- package/frontend/client/assets/{route-BwhQptmx.js → route-qpE7i22X.js} +1 -1
- package/frontend/client/assets/{route-HA9dma-h.js → route-wK89gmoS.js} +1 -1
- package/frontend/client/assets/security-error-message-CMsTsiWf.js +1 -0
- package/frontend/client/assets/{shell-header-bar-CjPlfRKT.js → shell-header-bar-DRx10tE5.js} +1 -1
- package/frontend/client/assets/{terms-BGJD_l_i.js → terms-Bu9Itxxs.js} +1 -1
- package/frontend/client/assets/{use-totp-setup-Cwuds2tR.js → use-totp-setup-CoOXWOcT.js} +1 -1
- package/frontend/server/assets/{hydration-B63_G0fd.js → hydration-DWMjpNav.js} +1 -1
- package/frontend/server/assets/{root-loader.server-DUIBlg_3.js → root-loader.server-B4OqoLGG.js} +3 -3
- package/frontend/server/assets/{route-runtime.server-DiqwWb8W.js → route-runtime.server-03_pjVDT.js} +1 -1
- package/frontend/server/assets/{session-BaAt7WMI.js → session-sJkmzJie.js} +36 -24
- package/frontend/server/index.js +239 -193
- package/package.json +1 -1
- package/frontend/client/assets/document-navigation-Cnp3Alf0.js +0 -1
- package/frontend/client/assets/i18n-Dzv9HKFm.js +0 -1
- package/frontend/client/assets/manifest-71025d92.js +0 -1
- package/frontend/client/assets/route-B4jDMFTW.js +0 -1
- package/frontend/client/assets/route-C-DecXPL.js +0 -1
- package/frontend/client/assets/route-CGTMMDiX.js +0 -1
- package/frontend/client/assets/route-CMJbXiDe.js +0 -1
- package/frontend/client/assets/route-DBpAiakW.js +0 -1
- package/frontend/client/assets/route-DS92RKs5.js +0 -1
- package/frontend/client/assets/route-Dc6G2aDX.js +0 -1
- package/frontend/client/assets/route-DqAmRSJE.js +0 -1
- package/frontend/client/assets/route-Ezzcj26w.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-DVFGkhCN.js","imports":["/assets/components-DF4L3dSB.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/jsx-runtime-B-57GDDH.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/root-BkavuloG.js","imports":["/assets/components-DF4L3dSB.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/jsx-runtime-B-57GDDH.js","/assets/toast-XXVYYXim.js","/assets/api-CfCwvXbU.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/mutation-DMG1qWFd.js","/assets/progress-vGb7EZn1.js","/assets/i18n-vfKY-byx.js","/assets/usePositioner-CrQOY-iw.js","/assets/valueToPercent-LgbY_prH.js"],"css":["/assets/root-BzgVDKW8.css"]},"routes/profile":{"id":"routes/profile","parentId":"root","path":"profile","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-DHmYUnJR.js","imports":["/assets/components-DF4L3dSB.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/useQuery-BLm0XsTI.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/select-C_WHBpl_.js","/assets/shell-header-bar-DRx10tE5.js","/assets/NullStore-UyCsFQfz.js","/assets/card-BaQElRNE.js","/assets/circle-alert-BZCKPkRn.js","/assets/use-totp-setup-CoOXWOcT.js","/assets/auth-field-CDCz-y27.js","/assets/fingerprint-pattern-AUfgwio5.js","/assets/key-round-BlUAV-K9.js","/assets/language-selector-Jso2cQNI.js","/assets/provider-mark-CCOkSxh7.js","/assets/logout-DpMjBzc5.js","/assets/shield-check-2DKLuF9J.js","/assets/trash-C7RyeTUJ.js","/assets/triangle-alert-B0lTzZDi.js","/assets/auth-page-header-CV85AJLW.js","/assets/link-button-DGt9hwk7.js","/assets/alert-DS8e0Gvg.js","/assets/modal-BDu41alh.js","/assets/security-error-message-CMsTsiWf.js","/assets/initial-avatar-ByHiX-IF.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/standard-schema-kM5DbC12.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/schemas-B87iTMww.js","/assets/document-navigation-FZbb5ldf.js","/assets/promise-BP9iSIs-.js","/assets/totp-4989Pb-o.js","/assets/badge-Cr0iG_iG.js","/assets/passkey-CJhT-7yO.js","/assets/route-module-2foR49uh.js","/assets/mutation-DMG1qWFd.js","/assets/react-dom-oT9-I0GD.js","/assets/usePositioner-CrQOY-iw.js","/assets/toast-XXVYYXim.js","/assets/i18n-vfKY-byx.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/useRender-DSFiJ2Vm.js","/assets/code-Dc5QnXCh.js","/assets/field-Du5xBKGW.js","/assets/checkbox-BymOAmaw.js","/assets/pin-input-DiWLndxH.js","/assets/alert-BIM0hnda.js","/assets/FieldControl-CwHXFt7p.js","/assets/useAriaLabelledBy-CQ_H8SUl.js","/assets/separator-nIgnJSXV.js","/assets/Separator-Bu_799IG.js","/assets/input-Dyj4-3JM.js","/assets/avatar-DupqO5iP.js","/assets/auth-outcome-DyY0JgWG.js","/assets/HydrationBoundary-C71PwQKm.js"],"css":[]},"routes/_index":{"id":"routes/_index","parentId":"root","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-DFwqLWT0.js","imports":["/assets/components-DF4L3dSB.js"],"css":[]},"routes/_auth":{"id":"routes/_auth","parentId":"root","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-FY92YQhF.js","imports":["/assets/components-DF4L3dSB.js","/assets/jsx-runtime-B-57GDDH.js","/assets/auth-layout-sea6nww4.js","/assets/text-CBHShrvS.js","/assets/shell-header-bar-DRx10tE5.js","/assets/api-CfCwvXbU.js","/assets/react-dom-oT9-I0GD.js","/assets/toast-XXVYYXim.js","/assets/usePositioner-CrQOY-iw.js","/assets/select-C_WHBpl_.js","/assets/NullStore-UyCsFQfz.js","/assets/i18n-vfKY-byx.js","/assets/language-selector-Jso2cQNI.js","/assets/errorBoundaries-C_UC4h4T.js"],"css":[]},"routes/_auth.verify.totp_.recovery":{"id":"routes/_auth.verify.totp_.recovery","parentId":"routes/_auth","path":"verify/totp/recovery","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-BvyDzziE.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/NullStore-UyCsFQfz.js","/assets/circle-alert-BZCKPkRn.js","/assets/auth-page-header-CV85AJLW.js","/assets/alert-DS8e0Gvg.js","/assets/security-error-message-CMsTsiWf.js","/assets/standard-schema-kM5DbC12.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/schemas-B87iTMww.js","/assets/field-Du5xBKGW.js","/assets/input-Dyj4-3JM.js","/assets/document-navigation-FZbb5ldf.js","/assets/promise-BP9iSIs-.js","/assets/totp-4989Pb-o.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/auth-footer-LG_gGuJv.js","/assets/labeled-separator-JGa2pO6H.js","/assets/oauth-search-DebNssaC.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/mutation-DMG1qWFd.js","/assets/select-C_WHBpl_.js","/assets/shell-header-bar-DRx10tE5.js","/assets/i18n-vfKY-byx.js","/assets/language-selector-Jso2cQNI.js","/assets/alert-BIM0hnda.js","/assets/useRender-DSFiJ2Vm.js","/assets/FieldControl-CwHXFt7p.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/link-Dsq51NsW.js","/assets/separator-nIgnJSXV.js","/assets/Separator-Bu_799IG.js"],"css":[]},"routes/_auth.login_.password":{"id":"routes/_auth.login_.password","parentId":"routes/_auth","path":"login/password","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-DTjZQ_Fl.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/NullStore-UyCsFQfz.js","/assets/auth-field-CDCz-y27.js","/assets/language-selector-Jso2cQNI.js","/assets/lock-Cr_egoXD.js","/assets/mail-B2PK2vlI.js","/assets/security-error-message-CMsTsiWf.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/standard-schema-kM5DbC12.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/schemas-B87iTMww.js","/assets/document-navigation-FZbb5ldf.js","/assets/promise-BP9iSIs-.js","/assets/passkey-CJhT-7yO.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/link-Dsq51NsW.js","/assets/auth-footer-LG_gGuJv.js","/assets/oauth-search-DebNssaC.js","/assets/sanitized-rich-text-uZcpKo6H.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/mutation-DMG1qWFd.js","/assets/select-C_WHBpl_.js","/assets/field-Du5xBKGW.js","/assets/input-Dyj4-3JM.js","/assets/FieldControl-CwHXFt7p.js","/assets/i18n-vfKY-byx.js","/assets/circle-alert-BZCKPkRn.js","/assets/link-button-DGt9hwk7.js","/assets/code-Dc5QnXCh.js","/assets/auth-outcome-DyY0JgWG.js","/assets/useRender-DSFiJ2Vm.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/shell-header-bar-DRx10tE5.js"],"css":[]},"routes/_auth.password.forgot":{"id":"routes/_auth.password.forgot","parentId":"routes/_auth","path":"password/forgot","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-D_dTeu1b.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/select-C_WHBpl_.js","/assets/NullStore-UyCsFQfz.js","/assets/auth-field-CDCz-y27.js","/assets/mail-B2PK2vlI.js","/assets/auth-page-header-CV85AJLW.js","/assets/security-error-message-CMsTsiWf.js","/assets/auth-outcome-DyY0JgWG.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/standard-schema-kM5DbC12.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/schemas-B87iTMww.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/auth-footer-LG_gGuJv.js","/assets/password-reset-BhkJhVQ4.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/mutation-DMG1qWFd.js","/assets/field-Du5xBKGW.js","/assets/input-Dyj4-3JM.js","/assets/FieldControl-CwHXFt7p.js","/assets/shell-header-bar-DRx10tE5.js","/assets/i18n-vfKY-byx.js","/assets/language-selector-Jso2cQNI.js","/assets/circle-alert-BZCKPkRn.js","/assets/link-button-DGt9hwk7.js","/assets/code-Dc5QnXCh.js","/assets/useRender-DSFiJ2Vm.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/link-Dsq51NsW.js","/assets/mutationOptions-Dfvzj6n2.js"],"css":[]},"routes/_auth.account.select":{"id":"routes/_auth.account.select","parentId":"routes/_auth","path":"account/select","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-PcLpZHbT.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/select-C_WHBpl_.js","/assets/shell-header-bar-DRx10tE5.js","/assets/NullStore-UyCsFQfz.js","/assets/auth-choice-row-DNB3B1Vs.js","/assets/language-selector-Jso2cQNI.js","/assets/trash-C7RyeTUJ.js","/assets/auth-page-header-CV85AJLW.js","/assets/link-button-DGt9hwk7.js","/assets/alert-DS8e0Gvg.js","/assets/initial-avatar-ByHiX-IF.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/document-navigation-FZbb5ldf.js","/assets/badge-Cr0iG_iG.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/oauth-search-DebNssaC.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/mutation-DMG1qWFd.js","/assets/i18n-vfKY-byx.js","/assets/card-BaQElRNE.js","/assets/useRender-DSFiJ2Vm.js","/assets/alert-BIM0hnda.js","/assets/avatar-DupqO5iP.js","/assets/circle-alert-BZCKPkRn.js","/assets/code-Dc5QnXCh.js","/assets/auth-outcome-DyY0JgWG.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/schemas-B87iTMww.js"],"css":[]},"routes/_auth.password.reset":{"id":"routes/_auth.password.reset","parentId":"routes/_auth","path":"password/reset","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-BEWds2g-.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/select-C_WHBpl_.js","/assets/NullStore-UyCsFQfz.js","/assets/circle-alert-BZCKPkRn.js","/assets/circle-check-BW_XcUlv.js","/assets/auth-field-CDCz-y27.js","/assets/key-round-BlUAV-K9.js","/assets/language-selector-Jso2cQNI.js","/assets/lock-Cr_egoXD.js","/assets/auth-page-header-CV85AJLW.js","/assets/alert-DS8e0Gvg.js","/assets/auth-outcome-DyY0JgWG.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/standard-schema-kM5DbC12.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/schemas-B87iTMww.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/auth-footer-LG_gGuJv.js","/assets/password-reset-BhkJhVQ4.js","/assets/password-strength-B1w3RCA1.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/mutation-DMG1qWFd.js","/assets/field-Du5xBKGW.js","/assets/input-Dyj4-3JM.js","/assets/FieldControl-CwHXFt7p.js","/assets/i18n-vfKY-byx.js","/assets/shell-header-bar-DRx10tE5.js","/assets/alert-BIM0hnda.js","/assets/useRender-DSFiJ2Vm.js","/assets/link-button-DGt9hwk7.js","/assets/code-Dc5QnXCh.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/link-Dsq51NsW.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/valueToPercent-LgbY_prH.js"],"css":[]},"routes/_auth.verify.passkey":{"id":"routes/_auth.verify.passkey","parentId":"routes/_auth","path":"verify/passkey","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-Dj8gVemC.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/useQuery-BLm0XsTI.js","/assets/NullStore-UyCsFQfz.js","/assets/circle-alert-BZCKPkRn.js","/assets/fingerprint-pattern-AUfgwio5.js","/assets/language-selector-Jso2cQNI.js","/assets/auth-page-header-CV85AJLW.js","/assets/link-button-DGt9hwk7.js","/assets/alert-DS8e0Gvg.js","/assets/document-navigation-FZbb5ldf.js","/assets/promise-BP9iSIs-.js","/assets/passkey-CJhT-7yO.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/auth-footer-LG_gGuJv.js","/assets/oauth-search-DebNssaC.js","/assets/passkey-error-C3DrncLi.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/mutation-DMG1qWFd.js","/assets/select-C_WHBpl_.js","/assets/i18n-vfKY-byx.js","/assets/shell-header-bar-DRx10tE5.js","/assets/useRender-DSFiJ2Vm.js","/assets/alert-BIM0hnda.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/link-Dsq51NsW.js","/assets/schemas-B87iTMww.js"],"css":[]},"routes/_auth.setup.passkey":{"id":"routes/_auth.setup.passkey","parentId":"routes/_auth","path":"setup/passkey","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-wK89gmoS.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/select-C_WHBpl_.js","/assets/NullStore-UyCsFQfz.js","/assets/circle-alert-BZCKPkRn.js","/assets/auth-field-CDCz-y27.js","/assets/fingerprint-pattern-AUfgwio5.js","/assets/language-selector-Jso2cQNI.js","/assets/shield-check-2DKLuF9J.js","/assets/auth-page-header-CV85AJLW.js","/assets/link-button-DGt9hwk7.js","/assets/alert-DS8e0Gvg.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/standard-schema-kM5DbC12.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/schemas-B87iTMww.js","/assets/document-navigation-FZbb5ldf.js","/assets/promise-BP9iSIs-.js","/assets/passkey-CJhT-7yO.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/auth-footer-LG_gGuJv.js","/assets/oauth-search-DebNssaC.js","/assets/passkey-error-C3DrncLi.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/mutation-DMG1qWFd.js","/assets/field-Du5xBKGW.js","/assets/input-Dyj4-3JM.js","/assets/FieldControl-CwHXFt7p.js","/assets/i18n-vfKY-byx.js","/assets/shell-header-bar-DRx10tE5.js","/assets/useRender-DSFiJ2Vm.js","/assets/alert-BIM0hnda.js","/assets/code-Dc5QnXCh.js","/assets/auth-outcome-DyY0JgWG.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/link-Dsq51NsW.js"],"css":[]},"routes/_auth.verify.email":{"id":"routes/_auth.verify.email","parentId":"routes/_auth","path":"verify/email","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-C6kG9u7j.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/NullStore-UyCsFQfz.js","/assets/circle-check-BW_XcUlv.js","/assets/auth-field-CDCz-y27.js","/assets/key-round-BlUAV-K9.js","/assets/language-selector-Jso2cQNI.js","/assets/mail-B2PK2vlI.js","/assets/auth-page-header-CV85AJLW.js","/assets/alert-DS8e0Gvg.js","/assets/security-error-message-CMsTsiWf.js","/assets/auth-outcome-DyY0JgWG.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/standard-schema-kM5DbC12.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/schemas-B87iTMww.js","/assets/document-navigation-FZbb5ldf.js","/assets/promise-BP9iSIs-.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/labeled-separator-JGa2pO6H.js","/assets/oauth-search-DebNssaC.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/mutation-DMG1qWFd.js","/assets/select-C_WHBpl_.js","/assets/field-Du5xBKGW.js","/assets/input-Dyj4-3JM.js","/assets/FieldControl-CwHXFt7p.js","/assets/i18n-vfKY-byx.js","/assets/shell-header-bar-DRx10tE5.js","/assets/alert-BIM0hnda.js","/assets/useRender-DSFiJ2Vm.js","/assets/circle-alert-BZCKPkRn.js","/assets/link-button-DGt9hwk7.js","/assets/code-Dc5QnXCh.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/separator-nIgnJSXV.js","/assets/Separator-Bu_799IG.js"],"css":[]},"routes/_auth.verify.totp":{"id":"routes/_auth.verify.totp","parentId":"routes/_auth","path":"verify/totp","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-Btv5Y69z.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/NullStore-UyCsFQfz.js","/assets/circle-alert-BZCKPkRn.js","/assets/auth-page-header-CV85AJLW.js","/assets/alert-DS8e0Gvg.js","/assets/security-error-message-CMsTsiWf.js","/assets/standard-schema-kM5DbC12.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/schemas-B87iTMww.js","/assets/document-navigation-FZbb5ldf.js","/assets/promise-BP9iSIs-.js","/assets/totp-4989Pb-o.js","/assets/pin-input-DiWLndxH.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/auth-footer-LG_gGuJv.js","/assets/labeled-separator-JGa2pO6H.js","/assets/oauth-search-DebNssaC.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/mutation-DMG1qWFd.js","/assets/select-C_WHBpl_.js","/assets/shell-header-bar-DRx10tE5.js","/assets/i18n-vfKY-byx.js","/assets/language-selector-Jso2cQNI.js","/assets/alert-BIM0hnda.js","/assets/useRender-DSFiJ2Vm.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/field-Du5xBKGW.js","/assets/useAriaLabelledBy-CQ_H8SUl.js","/assets/separator-nIgnJSXV.js","/assets/FieldControl-CwHXFt7p.js","/assets/Separator-Bu_799IG.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/link-Dsq51NsW.js"],"css":[]},"routes/_auth.setup.totp":{"id":"routes/_auth.setup.totp","parentId":"routes/_auth","path":"setup/totp","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-B0udr9eT.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/select-C_WHBpl_.js","/assets/NullStore-UyCsFQfz.js","/assets/circle-alert-BZCKPkRn.js","/assets/use-totp-setup-CoOXWOcT.js","/assets/shield-check-2DKLuF9J.js","/assets/auth-page-header-CV85AJLW.js","/assets/alert-BIM0hnda.js","/assets/alert-DS8e0Gvg.js","/assets/document-navigation-FZbb5ldf.js","/assets/promise-BP9iSIs-.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/auth-footer-LG_gGuJv.js","/assets/oauth-search-DebNssaC.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/useMutation-BkuKGzks.js","/assets/triangle-alert-B0lTzZDi.js","/assets/code-Dc5QnXCh.js","/assets/standard-schema-kM5DbC12.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/schemas-B87iTMww.js","/assets/field-Du5xBKGW.js","/assets/totp-4989Pb-o.js","/assets/checkbox-BymOAmaw.js","/assets/pin-input-DiWLndxH.js","/assets/mutation-DMG1qWFd.js","/assets/useRender-DSFiJ2Vm.js","/assets/FieldControl-CwHXFt7p.js","/assets/language-selector-Jso2cQNI.js","/assets/i18n-vfKY-byx.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/useAriaLabelledBy-CQ_H8SUl.js","/assets/separator-nIgnJSXV.js","/assets/Separator-Bu_799IG.js","/assets/shell-header-bar-DRx10tE5.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/link-Dsq51NsW.js"],"css":[]},"routes/_auth.verify.2fa":{"id":"routes/_auth.verify.2fa","parentId":"routes/_auth","path":"verify/2fa","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-CVyefM3x.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/auth-choice-row-DNB3B1Vs.js","/assets/fingerprint-pattern-AUfgwio5.js","/assets/language-selector-Jso2cQNI.js","/assets/shield-check-2DKLuF9J.js","/assets/auth-page-header-CV85AJLW.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/auth-footer-LG_gGuJv.js","/assets/oauth-search-DebNssaC.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/select-C_WHBpl_.js","/assets/card-BaQElRNE.js","/assets/link-button-DGt9hwk7.js","/assets/useRender-DSFiJ2Vm.js","/assets/i18n-vfKY-byx.js","/assets/shell-header-bar-DRx10tE5.js","/assets/NullStore-UyCsFQfz.js","/assets/circle-alert-BZCKPkRn.js","/assets/code-Dc5QnXCh.js","/assets/auth-outcome-DyY0JgWG.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/link-Dsq51NsW.js","/assets/schemas-B87iTMww.js"],"css":[]},"routes/_auth.setup.2fa":{"id":"routes/_auth.setup.2fa","parentId":"routes/_auth","path":"setup/2fa","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-B6hIfgxz.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/auth-choice-row-DNB3B1Vs.js","/assets/fingerprint-pattern-AUfgwio5.js","/assets/language-selector-Jso2cQNI.js","/assets/shield-check-2DKLuF9J.js","/assets/auth-page-header-CV85AJLW.js","/assets/alert-DS8e0Gvg.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/auth-footer-LG_gGuJv.js","/assets/oauth-search-DebNssaC.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/select-C_WHBpl_.js","/assets/card-BaQElRNE.js","/assets/link-button-DGt9hwk7.js","/assets/useRender-DSFiJ2Vm.js","/assets/i18n-vfKY-byx.js","/assets/shell-header-bar-DRx10tE5.js","/assets/NullStore-UyCsFQfz.js","/assets/alert-BIM0hnda.js","/assets/circle-alert-BZCKPkRn.js","/assets/code-Dc5QnXCh.js","/assets/auth-outcome-DyY0JgWG.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/link-Dsq51NsW.js","/assets/schemas-B87iTMww.js"],"css":[]},"routes/_auth.register":{"id":"routes/_auth.register","parentId":"routes/_auth","path":"register","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-Bm9LsorH.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/NullStore-UyCsFQfz.js","/assets/auth-field-CDCz-y27.js","/assets/language-selector-Jso2cQNI.js","/assets/lock-Cr_egoXD.js","/assets/mail-B2PK2vlI.js","/assets/auth-page-header-CV85AJLW.js","/assets/security-error-message-CMsTsiWf.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/standard-schema-kM5DbC12.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/schemas-B87iTMww.js","/assets/document-navigation-FZbb5ldf.js","/assets/promise-BP9iSIs-.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/auth-footer-LG_gGuJv.js","/assets/labeled-separator-JGa2pO6H.js","/assets/oauth-search-DebNssaC.js","/assets/sanitized-rich-text-uZcpKo6H.js","/assets/password-strength-B1w3RCA1.js","/assets/terms-Bu9Itxxs.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/mutation-DMG1qWFd.js","/assets/select-C_WHBpl_.js","/assets/field-Du5xBKGW.js","/assets/input-Dyj4-3JM.js","/assets/FieldControl-CwHXFt7p.js","/assets/i18n-vfKY-byx.js","/assets/shell-header-bar-DRx10tE5.js","/assets/circle-alert-BZCKPkRn.js","/assets/link-button-DGt9hwk7.js","/assets/code-Dc5QnXCh.js","/assets/auth-outcome-DyY0JgWG.js","/assets/useRender-DSFiJ2Vm.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/link-Dsq51NsW.js","/assets/separator-nIgnJSXV.js","/assets/Separator-Bu_799IG.js","/assets/valueToPercent-LgbY_prH.js","/assets/modal-BDu41alh.js","/assets/badge-Cr0iG_iG.js","/assets/checkbox-BymOAmaw.js","/assets/useAriaLabelledBy-CQ_H8SUl.js"],"css":[]},"routes/_auth.consent":{"id":"routes/_auth.consent","parentId":"routes/_auth","path":"consent","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-C7C3Z0vI.js","imports":["/assets/components-DF4L3dSB.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/NullStore-UyCsFQfz.js","/assets/card-BaQElRNE.js","/assets/language-selector-Jso2cQNI.js","/assets/shield-check-2DKLuF9J.js","/assets/auth-page-header-CV85AJLW.js","/assets/initial-avatar-ByHiX-IF.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/document-navigation-FZbb5ldf.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/oauth-search-DebNssaC.js","/assets/mutation-DMG1qWFd.js","/assets/usePositioner-CrQOY-iw.js","/assets/select-C_WHBpl_.js","/assets/react-dom-oT9-I0GD.js","/assets/useRender-DSFiJ2Vm.js","/assets/i18n-vfKY-byx.js","/assets/shell-header-bar-DRx10tE5.js","/assets/toast-XXVYYXim.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/avatar-DupqO5iP.js","/assets/circle-alert-BZCKPkRn.js","/assets/link-button-DGt9hwk7.js","/assets/code-Dc5QnXCh.js","/assets/auth-outcome-DyY0JgWG.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/schemas-B87iTMww.js"],"css":[]},"routes/_auth.error":{"id":"routes/_auth.error","parentId":"routes/_auth","path":"error","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-CXth2Wqz.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/NullStore-UyCsFQfz.js","/assets/circle-alert-BZCKPkRn.js","/assets/link-button-DGt9hwk7.js","/assets/code-Dc5QnXCh.js","/assets/auth-outcome-DyY0JgWG.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/auth-footer-LG_gGuJv.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/select-C_WHBpl_.js","/assets/useRender-DSFiJ2Vm.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/shell-header-bar-DRx10tE5.js","/assets/i18n-vfKY-byx.js","/assets/language-selector-Jso2cQNI.js","/assets/link-Dsq51NsW.js"],"css":[]},"routes/_auth.login":{"id":"routes/_auth.login","parentId":"routes/_auth","path":"login","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-B3Uv9aTa.js","imports":["/assets/components-DF4L3dSB.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/shell-header-bar-DRx10tE5.js","/assets/NullStore-UyCsFQfz.js","/assets/circle-alert-BZCKPkRn.js","/assets/fingerprint-pattern-AUfgwio5.js","/assets/language-selector-Jso2cQNI.js","/assets/provider-mark-CCOkSxh7.js","/assets/mail-B2PK2vlI.js","/assets/link-button-DGt9hwk7.js","/assets/alert-DS8e0Gvg.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/document-navigation-FZbb5ldf.js","/assets/promise-BP9iSIs-.js","/assets/passkey-CJhT-7yO.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/oauth-search-DebNssaC.js","/assets/sanitized-rich-text-uZcpKo6H.js","/assets/passkey-error-C3DrncLi.js","/assets/react-dom-oT9-I0GD.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/usePositioner-CrQOY-iw.js","/assets/mutation-DMG1qWFd.js","/assets/select-C_WHBpl_.js","/assets/i18n-vfKY-byx.js","/assets/useRender-DSFiJ2Vm.js","/assets/alert-BIM0hnda.js","/assets/code-Dc5QnXCh.js","/assets/auth-outcome-DyY0JgWG.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/schemas-B87iTMww.js"],"css":[]},"routes/_auth.terms":{"id":"routes/_auth.terms","parentId":"routes/_auth","path":"terms","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-D0IqOurp.js","imports":["/assets/components-DF4L3dSB.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/NullStore-UyCsFQfz.js","/assets/language-selector-Jso2cQNI.js","/assets/triangle-alert-B0lTzZDi.js","/assets/auth-page-header-CV85AJLW.js","/assets/alert-DS8e0Gvg.js","/assets/route-error-fallback-CRL2Et8O.js","/assets/standard-schema-kM5DbC12.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/schemas-B87iTMww.js","/assets/document-navigation-FZbb5ldf.js","/assets/promise-BP9iSIs-.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/labeled-separator-JGa2pO6H.js","/assets/sanitized-rich-text-uZcpKo6H.js","/assets/terms-Bu9Itxxs.js","/assets/mutation-DMG1qWFd.js","/assets/usePositioner-CrQOY-iw.js","/assets/select-C_WHBpl_.js","/assets/react-dom-oT9-I0GD.js","/assets/i18n-vfKY-byx.js","/assets/shell-header-bar-DRx10tE5.js","/assets/toast-XXVYYXim.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/alert-BIM0hnda.js","/assets/useRender-DSFiJ2Vm.js","/assets/circle-alert-BZCKPkRn.js","/assets/link-button-DGt9hwk7.js","/assets/code-Dc5QnXCh.js","/assets/auth-outcome-DyY0JgWG.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/separator-nIgnJSXV.js","/assets/Separator-Bu_799IG.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/modal-BDu41alh.js","/assets/badge-Cr0iG_iG.js","/assets/checkbox-BymOAmaw.js","/assets/link-Dsq51NsW.js","/assets/useAriaLabelledBy-CQ_H8SUl.js"],"css":[]},"routes/admin":{"id":"routes/admin","parentId":"root","path":"admin","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/route-qpE7i22X.js","imports":["/assets/components-DF4L3dSB.js","/assets/react-dom-oT9-I0GD.js","/assets/toast-XXVYYXim.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/useQuery-BLm0XsTI.js","/assets/usePositioner-CrQOY-iw.js","/assets/progress-vGb7EZn1.js","/assets/select-C_WHBpl_.js","/assets/shell-header-bar-DRx10tE5.js","/assets/NullStore-UyCsFQfz.js","/assets/useRender-DSFiJ2Vm.js","/assets/logout-DpMjBzc5.js","/assets/search-QwZZIij9.js","/assets/link-button-DGt9hwk7.js","/assets/modal-BDu41alh.js","/assets/avatar-DupqO5iP.js","/assets/auth-outcome-DyY0JgWG.js","/assets/input-Dyj4-3JM.js","/assets/promise-BP9iSIs-.js","/assets/badge-Cr0iG_iG.js","/assets/Separator-Bu_799IG.js","/assets/route-module-2foR49uh.js","/assets/auth-layout-sea6nww4.js","/assets/CompositeItem-JwkStZhq.js","/assets/format-admin-user-BiqYL7ZT.js","/assets/admin-console-Ej5TUkij.js","/assets/errorBoundaries-C_UC4h4T.js","/assets/mutation-DMG1qWFd.js","/assets/valueToPercent-LgbY_prH.js","/assets/i18n-vfKY-byx.js","/assets/language-selector-Jso2cQNI.js","/assets/mutationOptions-Dfvzj6n2.js","/assets/FieldControl-CwHXFt7p.js","/assets/HydrationBoundary-C71PwQKm.js"],"css":[]},"routes/admin.settings":{"id":"routes/admin.settings","parentId":"routes/admin","path":"settings","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-DnhPlHOi.js","imports":["/assets/components-DF4L3dSB.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/select-C_WHBpl_.js","/assets/i18n-vfKY-byx.js","/assets/language-selector-Jso2cQNI.js","/assets/route-module-2foR49uh.js","/assets/react-dom-oT9-I0GD.js","/assets/usePositioner-CrQOY-iw.js","/assets/HydrationBoundary-C71PwQKm.js"],"css":[]},"routes/admin.clients":{"id":"routes/admin.clients","parentId":"routes/admin","path":"clients","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-Clxc1C2d.js","imports":["/assets/components-DF4L3dSB.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/usePositioner-CrQOY-iw.js","/assets/select-C_WHBpl_.js","/assets/NullStore-UyCsFQfz.js","/assets/use-admin-selection-i-WvRvvB.js","/assets/triangle-alert-B0lTzZDi.js","/assets/modal-BDu41alh.js","/assets/code-Dc5QnXCh.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/field-Du5xBKGW.js","/assets/input-Dyj4-3JM.js","/assets/badge-Cr0iG_iG.js","/assets/checkbox-BymOAmaw.js","/assets/Separator-Bu_799IG.js","/assets/route-module-2foR49uh.js","/assets/CompositeItem-JwkStZhq.js","/assets/admin-console-Ej5TUkij.js","/assets/table-BpQCtRY7.js","/assets/admin-users-notice-D3rf-k5S.js","/assets/mutation-DMG1qWFd.js","/assets/react-dom-oT9-I0GD.js","/assets/search-QwZZIij9.js","/assets/FieldControl-CwHXFt7p.js","/assets/useAriaLabelledBy-CQ_H8SUl.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/alert-BIM0hnda.js","/assets/useRender-DSFiJ2Vm.js"],"css":[]},"routes/admin._index":{"id":"routes/admin._index","parentId":"routes/admin","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-BYWFA1fQ.js","imports":["/assets/components-DF4L3dSB.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/badge-Cr0iG_iG.js","/assets/route-module-2foR49uh.js","/assets/admin-console-Ej5TUkij.js","/assets/table-BpQCtRY7.js","/assets/HydrationBoundary-C71PwQKm.js"],"css":[]},"routes/admin.system":{"id":"routes/admin.system","parentId":"routes/admin","path":"system","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-BKFb9RYA.js","imports":["/assets/components-DF4L3dSB.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/badge-Cr0iG_iG.js","/assets/route-module-2foR49uh.js","/assets/admin-console-Ej5TUkij.js","/assets/table-BpQCtRY7.js","/assets/HydrationBoundary-C71PwQKm.js"],"css":[]},"routes/admin.terms":{"id":"routes/admin.terms","parentId":"routes/admin","path":"terms","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-C4_l_qs9.js","imports":["/assets/components-DF4L3dSB.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/usePositioner-CrQOY-iw.js","/assets/select-C_WHBpl_.js","/assets/NullStore-UyCsFQfz.js","/assets/use-admin-selection-i-WvRvvB.js","/assets/modal-BDu41alh.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/field-Du5xBKGW.js","/assets/FieldControl-CwHXFt7p.js","/assets/input-Dyj4-3JM.js","/assets/badge-Cr0iG_iG.js","/assets/checkbox-BymOAmaw.js","/assets/route-module-2foR49uh.js","/assets/admin-console-Ej5TUkij.js","/assets/table-BpQCtRY7.js","/assets/mutation-DMG1qWFd.js","/assets/react-dom-oT9-I0GD.js","/assets/search-QwZZIij9.js","/assets/useAriaLabelledBy-CQ_H8SUl.js","/assets/HydrationBoundary-C71PwQKm.js"],"css":[]},"routes/admin.users":{"id":"routes/admin.users","parentId":"routes/admin","path":"users","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/route-D9Y1oCUO.js","imports":["/assets/components-DF4L3dSB.js","/assets/jsx-runtime-B-57GDDH.js","/assets/api-CfCwvXbU.js","/assets/text-CBHShrvS.js","/assets/useMutation-BkuKGzks.js","/assets/select-C_WHBpl_.js","/assets/NullStore-UyCsFQfz.js","/assets/use-admin-selection-i-WvRvvB.js","/assets/triangle-alert-B0lTzZDi.js","/assets/modal-BDu41alh.js","/assets/FieldItemContext-B3N2qWH8.js","/assets/field-Du5xBKGW.js","/assets/input-Dyj4-3JM.js","/assets/badge-Cr0iG_iG.js","/assets/checkbox-BymOAmaw.js","/assets/route-module-2foR49uh.js","/assets/format-admin-user-BiqYL7ZT.js","/assets/table-BpQCtRY7.js","/assets/admin-users-notice-D3rf-k5S.js","/assets/mutation-DMG1qWFd.js","/assets/react-dom-oT9-I0GD.js","/assets/usePositioner-CrQOY-iw.js","/assets/search-QwZZIij9.js","/assets/FieldControl-CwHXFt7p.js","/assets/useAriaLabelledBy-CQ_H8SUl.js","/assets/HydrationBoundary-C71PwQKm.js","/assets/alert-BIM0hnda.js","/assets/useRender-DSFiJ2Vm.js"],"css":[]}},"url":"/assets/manifest-90703545.js","version":"90703545"};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./api-CfCwvXbU.js";import{n}from"./text-CBHShrvS.js";import{t as r}from"./mutationOptions-Dfvzj6n2.js";import{r as i}from"./language-selector-
|
|
1
|
+
import{n as e,t}from"./api-CfCwvXbU.js";import{n}from"./text-CBHShrvS.js";import{t as r}from"./mutationOptions-Dfvzj6n2.js";import{r as i}from"./language-selector-Jso2cQNI.js";function a(e){let t=new Uint8Array(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=/g,``)}function o(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=(4-t.length%4)%4,r=t.padEnd(t.length+n,`=`),i=atob(r),a=new ArrayBuffer(i.length),o=new Uint8Array(a);for(let e=0;e<i.length;e++)o[e]=i.charCodeAt(e);return a}function s(){return c.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var c={stubThis:e=>e};function l(e){let{id:t}=e;return{...e,id:o(t),transports:e.transports,type:e.type}}function u(e){return e===`localhost`||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var d=class extends Error{constructor({message:e,code:t,cause:n,name:r}){super(e,{cause:n}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=r??n.name,this.code=t}};function f({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new d({message:`Registration ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`ConstraintError`){if(n.authenticatorSelection?.requireResidentKey===!0)return new d({message:`Discoverable credentials were required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`,cause:e});if(t.mediation===`conditional`&&n.authenticatorSelection?.userVerification===`required`)return new d({message:`User verification was required during automatic registration but it could not be performed`,code:`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`,cause:e});if(n.authenticatorSelection?.userVerification===`required`)return new d({message:`User verification was required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`,cause:e})}else if(e.name===`InvalidStateError`)return new d({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new d({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`NotSupportedError`)return n.pubKeyCredParams.filter(e=>e.type===`public-key`).length===0?new d({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new d({message:`No available authenticator supported any of the specified pubKeyCredParams algorithms`,code:`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!u(t))return new d({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new d({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`TypeError`){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new d({message:`User ID was not between 1 and 64 characters`,code:`ERROR_INVALID_USER_ID_LENGTH`,cause:e})}else if(e.name===`UnknownError`)return new d({message:`The authenticator was unable to process the specified options, or could not create a new credential`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return e}var p=new class{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){let e=Error(`Cancelling existing WebAuthn API call for new one`);e.name=`AbortError`,this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error(`Manually cancelling existing WebAuthn API call`);e.name=`AbortError`,this.controller.abort(e),this.controller=void 0}}},m=[`cross-platform`,`platform`];function h(e){if(e&&!(m.indexOf(e)<0))return e}async function g(e){!e.optionsJSON&&e.challenge&&(console.warn(`startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.`),e={optionsJSON:e});let{optionsJSON:t,useAutoRegister:n=!1}=e;if(!s())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:o(t.challenge),user:{...t.user,id:o(t.user.id)},excludeCredentials:t.excludeCredentials?.map(l)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=p.createNewAbortSignal();let c;try{c=await navigator.credentials.create(i)}catch(e){throw f({error:e,options:i})}if(!c)throw Error(`Registration was not completed`);let{id:u,rawId:d,response:m,type:g}=c,v;typeof m.getTransports==`function`&&(v=m.getTransports());let y;if(typeof m.getPublicKeyAlgorithm==`function`)try{y=m.getPublicKeyAlgorithm()}catch(e){_(`getPublicKeyAlgorithm()`,e)}let b;if(typeof m.getPublicKey==`function`)try{let e=m.getPublicKey();e!==null&&(b=a(e))}catch(e){_(`getPublicKey()`,e)}let x;if(typeof m.getAuthenticatorData==`function`)try{x=a(m.getAuthenticatorData())}catch(e){_(`getAuthenticatorData()`,e)}return{id:u,rawId:a(d),response:{attestationObject:a(m.attestationObject),clientDataJSON:a(m.clientDataJSON),transports:v,publicKeyAlgorithm:y,publicKey:b,authenticatorData:x},type:g,clientExtensionResults:c.getClientExtensionResults(),authenticatorAttachment:h(c.authenticatorAttachment)}}function _(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.\n`,t)}function v(){if(!s())return y.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?y.stubThis(new Promise(e=>e(!1))):y.stubThis(e.isConditionalMediationAvailable())}var y={stubThis:e=>e};function b({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new d({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new d({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!u(t))return new d({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new d({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`UnknownError`)return new d({message:`The authenticator was unable to process the specified options, or could not create a new assertion signature`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return e}async function x(e){!e.optionsJSON&&e.challenge&&(console.warn(`startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.`),e={optionsJSON:e});let{optionsJSON:t,useBrowserAutofill:n=!1,verifyBrowserAutofillInput:r=!0}=e;if(!s())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(l));let c={...t,challenge:o(t.challenge),allowCredentials:i},u={};if(n){if(!await v())throw Error(`Browser does not support WebAuthn autofill`);if(document.querySelectorAll(`input[autocomplete$='webauthn']`).length<1&&r)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');u.mediation=`conditional`,c.allowCredentials=[]}u.publicKey=c,u.signal=p.createNewAbortSignal();let d;try{d=await navigator.credentials.get(u)}catch(e){throw b({error:e,options:u})}if(!d)throw Error(`Authentication was not completed`);let{id:f,rawId:m,response:g,type:_}=d,y;return g.userHandle&&(y=a(g.userHandle)),{id:f,rawId:a(m),response:{authenticatorData:a(g.authenticatorData),clientDataJSON:a(g.clientDataJSON),signature:a(g.signature),userHandle:y},type:_,clientExtensionResults:d.getClientExtensionResults(),authenticatorAttachment:h(d.authenticatorAttachment)}}var S=n({queryKey:i.passkeys(),queryFn:async()=>{let n=await t.api.user.passkeys.$get();return e(n)}}),C=r({mutationFn:async n=>{let r=await t.api.user.passkeys.register.options.$post(),{options:i}=await e(r),a=await g({optionsJSON:{...i,extensions:void 0}}),o=await t.api.user.passkeys.register.verify.$post({json:{response:a,name:n.name}});return e(o)}}),w=r({mutationFn:async n=>{let r=await t.api.user.passkeys[`:id`].$delete({param:{id:n.id}});return e(r)}}),T=r({mutationFn:async n=>{let r=await t.api.user.passkeys[`:id`].$patch({param:{id:n.id},json:{name:n.name}});return e(r)}}),E=r({mutationFn:async()=>{let n=await t.api.auth.passkey.options.$post(),{options:r}=await e(n),i=await x({optionsJSON:{...r,extensions:void 0}}),a=await t.api.auth.passkey.verify.$post({json:{response:{...i,clientExtensionResults:{...i.clientExtensionResults}}}});return e(a)}}),D=async(n,r)=>{try{let i=await t.api.auth.passkey.options.$post({},{init:{signal:r}}),{options:a}=await e(i),o=await x({optionsJSON:{...a,extensions:void 0},useBrowserAutofill:!0}),s=await t.api.auth.passkey.verify.$post({json:{response:{...o,clientExtensionResults:{...o.clientExtensionResults}}}},{init:{signal:r}});n(await e(s))}catch(e){e instanceof Error&&e.name}};export{T as a,C as i,w as n,D as o,S as r,E as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./api-CfCwvXbU.js";import{n}from"./text-CBHShrvS.js";import{r}from"./language-selector-
|
|
1
|
+
import{n as e,t}from"./api-CfCwvXbU.js";import{n}from"./text-CBHShrvS.js";import{r}from"./language-selector-Jso2cQNI.js";function i(t){return n({queryKey:r.session(),queryFn:async()=>{let n=await t.api.user.session.$get();return e(n)}})}var a=i(t),o=()=>new Promise(e=>setTimeout(e,0));export{a as n,o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,J as t,a as n,l as r,p as i,t as a,u as o,y as s}from"./components-DF4L3dSB.js";import{l as c,t as l}from"./toast-XXVYYXim.js";import{i as u,o as d,r as f}from"./errorBoundaries-C_UC4h4T.js";import{t as p}from"./jsx-runtime-B-57GDDH.js";import{A as m,C as h,D as g,E as _,I as v,N as y,O as b,S as x,T as S,_ as C,a as w,f as T,g as E,i as D,o as O,r as k,v as A,x as j,y as M}from"./api-CfCwvXbU.js";import{t as N}from"./HydrationBoundary-C71PwQKm.js";import{t as P}from"./mutation-DMG1qWFd.js";import{t as F}from"./progress-vGb7EZn1.js";import{i as I,o as L}from"./i18n-
|
|
1
|
+
import{$ as e,J as t,a as n,l as r,p as i,t as a,u as o,y as s}from"./components-DF4L3dSB.js";import{l as c,t as l}from"./toast-XXVYYXim.js";import{i as u,o as d,r as f}from"./errorBoundaries-C_UC4h4T.js";import{t as p}from"./jsx-runtime-B-57GDDH.js";import{A as m,C as h,D as g,E as _,I as v,N as y,O as b,S as x,T as S,_ as C,a as w,f as T,g as E,i as D,o as O,r as k,v as A,x as j,y as M}from"./api-CfCwvXbU.js";import{t as N}from"./HydrationBoundary-C71PwQKm.js";import{t as P}from"./mutation-DMG1qWFd.js";import{t as F}from"./progress-vGb7EZn1.js";import{i as I,o as L}from"./i18n-vfKY-byx.js";var R=class extends M{#e;#t;#n;constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}build(e,t,n){let r=new P({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=z(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=z(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=z(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=z(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){C.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>S(t,e))}findAll(e={}){return this.getAll().filter(t=>S(e,t))}notify(e){C.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return C.batch(()=>Promise.all(e.map(e=>e.continue().catch(g))))}};function z(e){return e.options.scope?.id}var B=class extends M{#e;constructor(e={}){super(),this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,i=t.queryHash??h(r,t),a=this.get(i);return a||(a=new T({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){C.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>_(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>_(e,t)):t}notify(e){C.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){C.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){C.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},V=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new B,this.#t=e.mutationCache||new R,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=A.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=E.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(m(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=j(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return C.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;C.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return C.batch(()=>{let r=n.findAll(e),i=new Set(r);return r.forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,predicate:e=>i.has(e)},t)})}cancelQueries(e,t={}){let n={revert:!0,...t},r=C.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(g).catch(g)}invalidateQueries(e,t={}){return C.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=C.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(g)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(g)}async query(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t),r=n.isStaleByTime(m(t.staleTime,n))?await n.fetch(t):n.state.data,i=t.select;return i?i(r):r}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(m(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(g).catch(g)}infiniteQuery(e){return e._type=`infinite`,this.query(e)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(g).catch(g)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return E.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(x(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{b(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(x(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{b(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=h(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===y&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},H=e(t());function U({i18n:e,defaultNS:t,children:n}){let r=(0,H.useMemo)(()=>({i18n:e,defaultNS:t}),[e,t]);return(0,H.createElement)(O.Provider,{value:r},n)}function W(){return new V({defaultOptions:{queries:{retry:(e,t)=>t instanceof D&&t.status>=400&&t.status<500?!1:e<3},mutations:{retry:!1}}})}var G;function K(){return typeof window>`u`?W():(G??=W(),G)}var q=p();function J({loaderData:e}){let t=e?.config.branding.title?.[e.language]??`Issuary`,n=e?.config.branding.subtitle?.[e.language]??`OIDC Provider for everyone`;return[{title:t},{name:`description`,content:n},{name:`robots`,content:`noindex, nofollow`},{tagName:`link`,rel:`icon`,href:e?.config.branding.icon_url??`/issuary-app-icon.svg`}]}function Y({children:e}){let t=s(`root`);return(0,q.jsxs)(`html`,{"data-theme":t?.theme===`dark`?`tinyrack-dark`:`tinyrack-light`,lang:t?.language??`en`,suppressHydrationWarning:!0,children:[(0,q.jsxs)(`head`,{children:[(0,q.jsx)(`meta`,{charSet:`utf-8`}),(0,q.jsx)(`meta`,{content:`width=device-width, initial-scale=1`,name:`viewport`}),(0,q.jsx)(`meta`,{content:`light dark`,name:`color-scheme`}),(0,q.jsx)(u,{}),(0,q.jsx)(f,{})]}),(0,q.jsxs)(`body`,{children:[e,(0,q.jsx)(c,{}),(0,q.jsx)(d,{})]})]})}function X(){let{t:e}=w(),t=i(),n=o(),[r,a]=(0,H.useState)(!1);return(0,H.useEffect)(()=>{let e=()=>a(!0),t=()=>a(!1);return window.addEventListener(`issuary-document-navigation`,e),window.addEventListener(`pageshow`,t),()=>{window.removeEventListener(`issuary-document-navigation`,e),window.removeEventListener(`pageshow`,t)}},[]),!(t.state!==`idle`&&t.location!==void 0&&t.location.pathname!==n.pathname||r)||n.pathname.startsWith(`/admin`)?null:(0,q.jsxs)(F.Root,{className:`route-progress`,value:null,children:[(0,q.jsx)(F.Label,{className:`route-progress-label`,children:e(`common.loading`)}),(0,q.jsx)(F.Track,{children:(0,q.jsx)(F.Indicator,{})})]})}var Z=n(function(){let e=r(),t=K(),n=(0,H.useMemo)(()=>I({supportedLanguages:e.config.i18n.supported_languages,defaultLanguage:e.config.i18n.default_language,fallbackLanguage:e.config.i18n.fallback_language},e.language),[e.config.i18n,e.language]);return(0,H.useEffect)(()=>{document.documentElement.dataset.hydrated=`true`,k(n.language);let e=e=>k(e);return n.on(`languageChanged`,e),()=>n.off(`languageChanged`,e)},[n]),(0,q.jsx)(U,{i18n:n,children:(0,q.jsx)(L,{initialColorScheme:e.theme,children:(0,q.jsx)(v,{client:t,children:(0,q.jsx)(N,{state:e.dehydratedState,children:(0,q.jsxs)(l.Provider,{children:[(0,q.jsx)(X,{}),(0,q.jsx)(a,{})]})})})})})});export{Y as Layout,Z as default,J as meta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,J as t,a as n,f as r}from"./components-DF4L3dSB.js";import{c as i}from"./toast-XXVYYXim.js";import{t as a}from"./jsx-runtime-B-57GDDH.js";import{L as o,a as ee,i as s,u as c}from"./api-CfCwvXbU.js";import{t as l}from"./text-CBHShrvS.js";import{V as u}from"./select-C_WHBpl_.js";import{i as te,r as d}from"./NullStore-UyCsFQfz.js";import{t as ne}from"./circle-alert-BZCKPkRn.js";import{a as f,i as p,n as m,r as h,t as re}from"./use-totp-setup-
|
|
1
|
+
import{$ as e,J as t,a as n,f as r}from"./components-DF4L3dSB.js";import{c as i}from"./toast-XXVYYXim.js";import{t as a}from"./jsx-runtime-B-57GDDH.js";import{L as o,a as ee,i as s,u as c}from"./api-CfCwvXbU.js";import{t as l}from"./text-CBHShrvS.js";import{V as u}from"./select-C_WHBpl_.js";import{i as te,r as d}from"./NullStore-UyCsFQfz.js";import{t as ne}from"./circle-alert-BZCKPkRn.js";import{a as f,i as p,n as m,r as h,t as re}from"./use-totp-setup-CoOXWOcT.js";import{t as ie}from"./shield-check-2DKLuF9J.js";import{t as ae}from"./auth-page-header-CV85AJLW.js";import{t as g}from"./alert-BIM0hnda.js";import{t as _}from"./alert-DS8e0Gvg.js";import{t as v}from"./document-navigation-FZbb5ldf.js";import{n as y,t as b}from"./promise-BP9iSIs-.js";import{n as x,r as S}from"./route-module-2foR49uh.js";import{t as C}from"./auth-layout-sea6nww4.js";import{n as oe,t as w}from"./auth-footer-LG_gGuJv.js";import{i as T,r as E,t as D}from"./oauth-search-DebNssaC.js";var O={name:`circle-x`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]],aliases:[`x-circle`]};O.node;var k=u(O),A=e(t(),1),j=a();function M({className:e,role:t=`list`,...n}){return(0,j.jsx)(`ol`,{...n,className:c(`tr-steps`,e),role:t})}function N({className:e,...t}){return(0,j.jsx)(`li`,{...t,className:c(`tr-steps-item`,e)})}function P({className:e,current:t,total:n,...r}){let i=Math.max(1,n),a=Math.min(Math.max(1,t),i);return(0,j.jsx)(`div`,{...r,"aria-valuemax":i,"aria-valuemin":1,"aria-valuenow":a,className:c(`tr-steps-progress`,e),role:`progressbar`,children:Array.from({length:i},(e,t)=>String(t+1)).map(e=>(0,j.jsx)(`span`,{"aria-hidden":`true`,className:`tr-steps-progress-segment`,"data-complete":Number(e)<=a?`true`:void 0},e))})}var F={Item:N,Progress:P,Root:M};function I({steps:e,current:t,progressLabel:n}){return(0,j.jsxs)(`div`,{className:`flex w-full flex-col gap-tinyrack-xs`,children:[(0,j.jsxs)(`div`,{className:`flex items-baseline justify-between gap-tinyrack-sm`,children:[(0,j.jsx)(l,{color:`muted`,variant:`label`,children:n}),(0,j.jsx)(l,{color:`muted`,variant:`caption`,children:e[t]})]}),(0,j.jsx)(F.Progress,{"aria-label":n,current:t+1,total:e.length})]})}var L={TOTP_ALREADY_ENABLED:`TOTP_ALREADY_ENABLED`,TOTP_NOT_SETUP:`TOTP_NOT_SETUP`,INVALID_TOTP_CODE:`INVALID_TOTP_CODE`,UNAUTHORIZED:`UNAUTHORIZED`,SECOND_FACTOR_SESSION_EXPIRED:`SECOND_FACTOR_SESSION_EXPIRED`},R=5;function z({search:e}){let{t}=ee(),n=r(),a=o(),[c,l]=(0,A.useState)(`generic`),[u,x]=(0,A.useState)(R),O=(0,A.useCallback)(()=>{n(S(`/login`,E(e)))},[n,e]),M=(0,A.useCallback)(()=>{n(`/profile`)},[n]),N=(0,A.useCallback)(e=>{if(e instanceof s)switch(e.code){case L.TOTP_ALREADY_ENABLED:l(`already_enabled`);break;case L.UNAUTHORIZED:case L.SECOND_FACTOR_SESSION_EXPIRED:l(`session_expired`),x(R);break;default:l(`generic`)}else l(`generic`)},[]),P=(0,A.useCallback)(async e=>{await b()},[]),F=(0,A.useCallback)(async t=>{a.setQueryData(y.queryKey,{user:t.user}),await b(),T(e)?v(D(e)):n(`/profile`)},[n,a,e]),{step:z,setupData:B,recoveryCodes:V,isSetupPending:H,isVerifyPending:U,isConfirmPending:W,startSetup:G,verify:K,goToQr:se,goToVerify:ce,confirmRecoveryCodes:le}=re({autoStart:!0,onSetupError:N,onVerifySuccess:P,onConfirmSuccess:F,onVerifyError:e=>{if(e instanceof s)switch(e.code){case L.TOTP_ALREADY_ENABLED:M();break;case L.UNAUTHORIZED:case L.SECOND_FACTOR_SESSION_EXPIRED:l(`session_expired`),x(R);break;case L.TOTP_NOT_SETUP:G()}}});(0,A.useEffect)(()=>{if(c!==`session_expired`||z!==`error`)return;let e=setInterval(()=>{x(t=>t<=1?(clearInterval(e),O(),0):t-1)},1e3);return()=>clearInterval(e)},[c,z,O]);let ue=(0,A.useCallback)(async e=>{await K(e)},[K]),q=z===`recovery`&&V.length>0,J=z===`qr`&&B!==null,Y=z!==`loading`&&z!==`error`,X=1;q?X=2:J&&(X=0);let Z=t(`setupTotp.title`),Q=t(`setupTotp.subtitle`);q?Z=t(`setupTotp.recoveryCodes.title`):Y&&!J&&(Z=t(`setupTotp.verifyTitle`),Q=t(`setupTotp.verifySubtitle`));let de=z===`error`||J,$;return $=z===`loading`?(0,j.jsx)(`div`,{className:`flex justify-center py-tinyrack-xl`,"data-testid":`totp-setup-loading`,children:(0,j.jsx)(te,{uiSize:`lg`,variant:`primary`})}):z===`error`&&c===`session_expired`?(0,j.jsxs)(g.Root,{"data-testid":`totp-setup-session-expired`,variant:`warning`,children:[(0,j.jsx)(ne,{"aria-hidden":!0,className:`size-tinyrack-xl`}),(0,j.jsx)(g.Title,{children:t(`setupTotp.error.expired`)}),(0,j.jsx)(g.Description,{children:t(`setupTotp.redirecting`,{seconds:u})}),(0,j.jsx)(g.Actions,{children:(0,j.jsx)(d,{appearance:`ghost`,intent:`neutral`,onClick:O,type:`button`,uiSize:`sm`,children:t(`setupTotp.redirectNow`)})})]}):z===`error`&&c===`already_enabled`?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(_,{icon:f,type:`info`,children:t(`setupTotp.error.alreadyEnabled`)}),(0,j.jsx)(d,{className:`w-full`,intent:`primary`,onClick:M,type:`button`,uiSize:`lg`,children:t(`setupTotp.goToProfile`)})]}):z===`error`?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(_,{icon:k,type:`error`,children:t(`setupTotp.error.setupFailed`)}),(0,j.jsx)(d,{className:`w-full`,disabled:H,intent:`primary`,loading:H,onClick:G,type:`button`,uiSize:`lg`,children:t(`setupTotp.retry`)})]}):q?(0,j.jsx)(p,{isLoading:W,onConfirm:le,recoveryCodes:V}):J&&B?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(_,{icon:ie,type:`info`,children:t(`setupTotp.required`)}),(0,j.jsx)(m,{onNext:ce,setupData:B})]}):(0,j.jsx)(h,{isPending:U,onBack:se,onSubmit:ue}),(0,j.jsxs)(C,{width:q?`wide`:`form`,children:[(0,j.jsx)(ae,{eyebrow:Y?(0,j.jsx)(I,{current:X,progressLabel:t(`setupTotp.stepProgress`,{current:X+1,total:3}),steps:[t(`setupTotp.steps.scan`),t(`setupTotp.steps.verify`),t(`setupTotp.steps.saveCodes`)]}):void 0,subtitle:Q,title:Z}),(0,j.jsx)(`div`,{className:`auth-enter flex flex-col gap-tinyrack-lg`,children:$},z),de&&(0,j.jsx)(w,{children:(0,j.jsx)(oe,{link:(0,j.jsx)(i,{to:S(`/login`,E(e)),children:t(`setupTotp.backToLogin`)})})})]})}var B=n(function({loaderData:e}){return(0,j.jsx)(x,{state:e.dehydratedState,children:(0,j.jsx)(z,{search:e.search})})});export{B as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,J as t,a as n,f as r,o as i}from"./components-DF4L3dSB.js";import{c as a}from"./toast-XXVYYXim.js";import{t as o}from"./jsx-runtime-B-57GDDH.js";import{L as s,a as c}from"./api-CfCwvXbU.js";import{r as l,t as u}from"./text-CBHShrvS.js";import{t as d}from"./useMutation-BkuKGzks.js";import{c as f}from"./shell-header-bar-
|
|
1
|
+
import{$ as e,J as t,a as n,f as r,o as i}from"./components-DF4L3dSB.js";import{c as a}from"./toast-XXVYYXim.js";import{t as o}from"./jsx-runtime-B-57GDDH.js";import{L as s,a as c}from"./api-CfCwvXbU.js";import{r as l,t as u}from"./text-CBHShrvS.js";import{t as d}from"./useMutation-BkuKGzks.js";import{c as f}from"./shell-header-bar-DRx10tE5.js";import{r as p}from"./NullStore-UyCsFQfz.js";import{t as m}from"./circle-alert-BZCKPkRn.js";import{t as h}from"./fingerprint-pattern-AUfgwio5.js";import{n as g}from"./language-selector-Jso2cQNI.js";import{n as _,t as v}from"./provider-mark-CCOkSxh7.js";import{t as y}from"./mail-B2PK2vlI.js";import{t as b}from"./link-button-DGt9hwk7.js";import{t as x}from"./alert-DS8e0Gvg.js";import{t as S}from"./route-error-fallback-CRL2Et8O.js";import{n as C,t as w}from"./document-navigation-FZbb5ldf.js";import{n as T,t as E}from"./promise-BP9iSIs-.js";import{t as D}from"./passkey-CJhT-7yO.js";import{n as O,t as k}from"./route-module-2foR49uh.js";import{t as A}from"./auth-layout-sea6nww4.js";import{i as j,r as M,t as N}from"./oauth-search-DebNssaC.js";import{t as P}from"./sanitized-rich-text-uZcpKo6H.js";import{t as F}from"./passkey-error-C3DrncLi.js";var I=e(t(),1),L=o(),R={google:(0,L.jsx)(v,{"aria-hidden":!0,className:`size-tinyrack-xl`,provider:`google`}),github:(0,L.jsx)(v,{"aria-hidden":!0,className:`size-tinyrack-xl`,provider:`github`}),apple:(0,L.jsx)(v,{"aria-hidden":!0,className:`size-tinyrack-xl`,provider:`apple`})};function z({icon:e,label:t,providerType:n,render:r,onClick:i,isLoading:a,disabled:o}){let s;s=n&&n!==`generic_oauth`?R[n]:typeof e==`string`&&e.length>0?(0,L.jsx)(`img`,{alt:``,className:`size-tinyrack-xl`,src:e}):e||(0,L.jsx)(_,{"aria-hidden":!0,className:`size-tinyrack-xl`});let c=(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{className:`flex size-tinyrack-xl shrink-0 items-center justify-center`,children:s}),(0,L.jsx)(u,{truncate:!0,variant:`body`,children:t})]}),l=`w-full justify-start gap-tinyrack-md transition-colors duration-tinyrack-fast ease-tinyrack-standard [&>.tr-spinner]:order-last [&>.tr-spinner]:ms-auto`;return r?(0,L.jsx)(b,{appearance:`outline`,className:`cursor-pointer ${l}`,intent:`neutral`,render:r,uiSize:`lg`,children:c}):(0,L.jsx)(p,{appearance:`outline`,className:l,disabled:o,intent:`neutral`,loading:a,onClick:i,type:`button`,uiSize:`lg`,children:c})}var B={access_denied:`oauth.error.accessDenied`,temporarily_unavailable:`oauth.error.temporarilyUnavailable`,server_error:`oauth.error.serverError`,registration_email_not_allowed:`oauth.error.registrationEmailNotAllowed`};function V({search:e}){let{t,i18n:n}=c(),i=r(),o=s(),p=e.lang??n.language,{data:_}=l(g),{loginMethodDescription:v}=f(),b=_.registration.signup_notice?.[p]??_.registration.signup_notice?.[_.i18n.fallback_language],S=_.identity_providers,O=e.oauth_error,k=O?t(B[O]??`oauth.error.failed`):void 0,R=_.auth.password.enabled,V=_.auth.passkey.enabled,[H,U]=(0,I.useState)(null),W=async t=>{t.user&&(o.setQueryData(T.queryKey,t),await E(),j(e)?w(N(e)):i(`/profile`))},G=d({...D,onSuccess:e=>{U(null),W(e)},onError:e=>{if(F(e)===`unsupported`){U(t(`login.passkey.error.unsupported`));return}U(t(`login.passkey.error.failed`))}}),K=t=>{let n=`/api/oauth/${t}/authorize?mode=login`;if(j(e)){let t=N(e);n+=`&return_url=${encodeURIComponent(t)}`}return n};return(0,L.jsxs)(A,{showBrandSubtitle:!0,children:[v&&(0,L.jsx)(u,{as:`p`,className:`-mb-tinyrack-sm`,color:`muted`,variant:`body`,children:v}),k&&(0,L.jsx)(x,{icon:m,type:`error`,children:k}),H&&(0,L.jsx)(x,{icon:m,type:`error`,children:H}),(0,L.jsxs)(`div`,{className:`flex flex-col gap-tinyrack-sm`,children:[S.map(e=>(0,L.jsx)(z,{icon:e.icon_url,label:e.display_name,providerType:e.type,render:(0,L.jsx)(`a`,{href:K(e.id),onClick:C})},e.id)),R&&(0,L.jsx)(z,{icon:(0,L.jsx)(y,{"aria-hidden":!0,className:`size-tinyrack-xl`}),label:t(`login.method.password`),render:(0,L.jsx)(a,{to:(()=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(M(e)))if(r!==void 0){let e=String(r);t.set(n,n===`account_selected`?decodeURIComponent(e).replaceAll(`"`,``):e)}let n=t.toString();return n?`/login/password?${n}`:`/login/password`})()})}),V&&(0,L.jsx)(z,{disabled:G.isPending,icon:(0,L.jsx)(h,{"aria-hidden":!0,className:`size-tinyrack-xl`}),isLoading:G.isPending,label:t(`login.method.passkey`),onClick:()=>{U(null),G.mutate()}})]}),b&&(0,L.jsx)(P,{html:b,variant:`notice`})]})}var H=i(function({error:e}){return(0,L.jsx)(k,{component:S,error:e})}),U=n(function({loaderData:e}){return(0,L.jsx)(O,{state:e.dehydratedState,children:(0,L.jsx)(V,{search:e.search})})});export{H as ErrorBoundary,U as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,o as t}from"./components-DF4L3dSB.js";import{c as n}from"./toast-XXVYYXim.js";import{t as r}from"./jsx-runtime-B-57GDDH.js";import{a as i}from"./api-CfCwvXbU.js";import{r as a}from"./text-CBHShrvS.js";import{t as o}from"./auth-choice-row-DNB3B1Vs.js";import{t as s}from"./fingerprint-pattern-AUfgwio5.js";import{n as c}from"./language-selector-
|
|
1
|
+
import{a as e,o as t}from"./components-DF4L3dSB.js";import{c as n}from"./toast-XXVYYXim.js";import{t as r}from"./jsx-runtime-B-57GDDH.js";import{a as i}from"./api-CfCwvXbU.js";import{r as a}from"./text-CBHShrvS.js";import{t as o}from"./auth-choice-row-DNB3B1Vs.js";import{t as s}from"./fingerprint-pattern-AUfgwio5.js";import{n as c}from"./language-selector-Jso2cQNI.js";import{t as l}from"./shield-check-2DKLuF9J.js";import{t as u}from"./auth-page-header-CV85AJLW.js";import{t as d}from"./alert-DS8e0Gvg.js";import{t as f}from"./route-error-fallback-CRL2Et8O.js";import{n as p,r as m,t as h}from"./route-module-2foR49uh.js";import{t as g}from"./auth-layout-sea6nww4.js";import{n as _,t as v}from"./auth-footer-LG_gGuJv.js";import{r as y}from"./oauth-search-DebNssaC.js";var b=r();function x({search:e}){let{t}=i(),{data:r}=a(c),f=y(e);return(0,b.jsxs)(g,{children:[(0,b.jsx)(u,{subtitle:t(`setup2fa.subtitle`),title:t(`setup2fa.title`)}),(0,b.jsx)(d,{icon:l,type:`info`,children:t(`setup2fa.required`)}),(0,b.jsxs)(`div`,{className:`flex flex-col gap-tinyrack-sm`,children:[r.auth.password.enabled&&r.auth.password.totp.enabled&&(0,b.jsx)(o,{description:t(`setup2fa.totp.description`),icon:l,label:t(`setup2fa.totp.title`),render:(0,b.jsx)(n,{to:m(`/setup/totp`,f)})}),r.auth.passkey.enabled&&(0,b.jsx)(o,{description:t(`setup2fa.passkey.description`),icon:s,label:t(`setup2fa.passkey.title`),render:(0,b.jsx)(n,{to:m(`/setup/passkey`,{...f,passkey_name:`default`})})})]}),(0,b.jsx)(v,{children:(0,b.jsx)(_,{link:(0,b.jsx)(n,{to:m(`/login`,f),children:t(`setup2fa.backToLogin`)})})})]})}var S=t(function({error:e}){return(0,b.jsx)(h,{component:f,error:e})}),C=e(function({loaderData:e}){return(0,b.jsx)(p,{state:e.dehydratedState,children:(0,b.jsx)(x,{search:e.search})})});export{S as ErrorBoundary,C as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,J as t,a as n,f as r,o as i}from"./components-DF4L3dSB.js";import{c as a}from"./toast-XXVYYXim.js";import{t as o}from"./jsx-runtime-B-57GDDH.js";import{a as s}from"./api-CfCwvXbU.js";import{r as c}from"./text-CBHShrvS.js";import{t as l}from"./useMutation-BkuKGzks.js";import{V as u}from"./select-C_WHBpl_.js";import{r as d}from"./NullStore-UyCsFQfz.js";import{t as f}from"./circle-alert-BZCKPkRn.js";import{t as p}from"./circle-check-BW_XcUlv.js";import{t as m}from"./auth-field-CDCz-y27.js";import{t as h}from"./key-round-BlUAV-K9.js";import{n as g}from"./language-selector-
|
|
1
|
+
import{$ as e,J as t,a as n,f as r,o as i}from"./components-DF4L3dSB.js";import{c as a}from"./toast-XXVYYXim.js";import{t as o}from"./jsx-runtime-B-57GDDH.js";import{a as s}from"./api-CfCwvXbU.js";import{r as c}from"./text-CBHShrvS.js";import{t as l}from"./useMutation-BkuKGzks.js";import{V as u}from"./select-C_WHBpl_.js";import{r as d}from"./NullStore-UyCsFQfz.js";import{t as f}from"./circle-alert-BZCKPkRn.js";import{t as p}from"./circle-check-BW_XcUlv.js";import{t as m}from"./auth-field-CDCz-y27.js";import{t as h}from"./key-round-BlUAV-K9.js";import{n as g}from"./language-selector-Jso2cQNI.js";import{t as _}from"./lock-Cr_egoXD.js";import{t as v}from"./auth-page-header-CV85AJLW.js";import{t as y}from"./alert-DS8e0Gvg.js";import{t as b}from"./auth-outcome-DyY0JgWG.js";import{t as x}from"./route-error-fallback-CRL2Et8O.js";import{r as S,t as C}from"./standard-schema-kM5DbC12.js";import{r as w}from"./FieldItemContext-B3N2qWH8.js";import{a as T,s as E}from"./schemas-B87iTMww.js";import{n as D,t as O}from"./route-module-2foR49uh.js";import{t as k}from"./auth-layout-sea6nww4.js";import{n as A,t as j}from"./auth-footer-LG_gGuJv.js";import{n as M}from"./password-reset-BhkJhVQ4.js";import{t as N}from"./password-strength-B1w3RCA1.js";var P={name:`lock-keyhole`,size:24,node:[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]};P.node;var F=u(P),I=e(t(),1),L=o();function R({search:e}){let{t}=s(),n=r(),{token:i}=e,[o,u]=(0,I.useState)(!1),{data:x}=c(g),D=x.auth.password.policy,O=(0,I.useMemo)(()=>T({token:E().min(1,t(`validation.token.required`)),password:E().min(D.min_length,t(`validation.password.min`,{count:D.min_length})).max(D.max_length,t(`validation.password.max`,{count:D.max_length})),confirmPassword:E().min(1,t(`validation.confirmPassword.required`))}).refine(e=>e.password===e.confirmPassword,{message:t(`validation.confirmPassword.mismatch`),path:[`confirmPassword`]}),[D.max_length,D.min_length,t]),P=l({...M,onSuccess:()=>{u(!0)}}),{register:R,setError:z,handleSubmit:B,watch:V,formState:{errors:H}}=S({defaultValues:{token:i||``,password:``,confirmPassword:``},resolver:C(O)}),U=V(`password`);return o?(0,L.jsx)(k,{children:(0,L.jsx)(`div`,{"data-testid":`alert-success`,children:(0,L.jsx)(b,{description:(0,L.jsxs)(L.Fragment,{children:[t(`resetPassword.success.subtitle`),(0,L.jsx)(`br`,{}),t(`resetPassword.success.description`)]}),icon:p,title:t(`resetPassword.success.title`),tone:`success`,children:(0,L.jsx)(d,{className:`w-full`,"data-testid":`reset-password-go-login`,intent:`primary`,onClick:()=>n(`/login`),type:`button`,uiSize:`lg`,children:t(`resetPassword.success.goToLogin`)})})})}):(0,L.jsxs)(k,{children:[(0,L.jsx)(v,{subtitle:t(`resetPassword.subtitle`),title:t(`resetPassword.title`)}),(0,L.jsxs)(w,{className:`flex flex-col gap-tinyrack-lg`,onSubmit:B(async e=>{try{await P.mutateAsync({token:e.token,password:e.password})}catch(e){e&&typeof e==`object`&&`code`in e?e.code===`INVALID_PASSWORD_RESET_TOKEN`?z(`token`,{type:`manual`,message:t(`resetPassword.error.invalidToken`)}):e.code===`USER_NOT_EDITABLE`&&z(`token`,{type:`manual`,message:t(`resetPassword.error.notEditable`)}):z(`token`,{type:`manual`,message:t(`resetPassword.error.invalidToken`)})}}),children:[!i&&(0,L.jsx)(m,{error:H.token,icon:h,label:t(`resetPassword.token.label`),placeholder:t(`resetPassword.token.placeholder`),...R(`token`),type:`text`}),i&&H.token&&(0,L.jsx)(y,{"data-testid":`reset-password-token-error`,icon:f,type:`error`,children:H.token.message}),(0,L.jsxs)(`div`,{className:`flex flex-col gap-tinyrack-sm`,children:[(0,L.jsx)(m,{autoComplete:`new-password`,error:H.password,icon:_,label:t(`resetPassword.password.label`),placeholder:t(`resetPassword.password.placeholder`),...R(`password`),type:`password`}),(0,L.jsx)(N,{password:U,policy:D})]}),(0,L.jsx)(m,{autoComplete:`new-password`,error:H.confirmPassword,icon:F,label:t(`resetPassword.confirmPassword.label`),placeholder:t(`resetPassword.confirmPassword.placeholder`),...R(`confirmPassword`),type:`password`}),(0,L.jsx)(d,{className:`w-full`,intent:`primary`,loading:P.isPending,loadingLabel:t(`resetPassword.submitting`),type:`submit`,uiSize:`lg`,children:t(`resetPassword.submit`)})]}),(0,L.jsx)(j,{children:(0,L.jsx)(A,{link:(0,L.jsx)(a,{"data-testid":`reset-password-back-to-login`,to:`/login`,children:t(`resetPassword.backToLogin`)})})})]})}var z=i(function({error:e}){return(0,L.jsx)(O,{component:x,error:e})}),B=n(function({loaderData:e}){return(0,L.jsx)(D,{state:e.dehydratedState,children:(0,L.jsx)(R,{search:e.search})})});export{z as ErrorBoundary,B as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,J as t,a as n,f as r,o as i}from"./components-DF4L3dSB.js";import{c as a}from"./toast-XXVYYXim.js";import{t as o}from"./jsx-runtime-B-57GDDH.js";import{L as s,a as c,i as ee,n as l,t as u}from"./api-CfCwvXbU.js";import{r as d}from"./text-CBHShrvS.js";import{t as f}from"./useMutation-BkuKGzks.js";import{t as p}from"./mutationOptions-Dfvzj6n2.js";import{r as m}from"./NullStore-UyCsFQfz.js";import{t as h}from"./auth-field-CDCz-y27.js";import{n as te}from"./language-selector-Jso2cQNI.js";import{t as ne}from"./lock-Cr_egoXD.js";import{t as re}from"./mail-B2PK2vlI.js";import{t as ie}from"./auth-page-header-CV85AJLW.js";import{t as g}from"./security-error-message-CMsTsiWf.js";import{t as _}from"./route-error-fallback-CRL2Et8O.js";import{r as v,t as y}from"./standard-schema-kM5DbC12.js";import{r as b}from"./FieldItemContext-B3N2qWH8.js";import{a as x,i as ae,n as S,r as C,s as w}from"./schemas-B87iTMww.js";import{t as oe}from"./document-navigation-FZbb5ldf.js";import{n as T,t as E}from"./promise-BP9iSIs-.js";import{n as D,r as O,t as k}from"./route-module-2foR49uh.js";import{t as A}from"./auth-layout-sea6nww4.js";import{n as j,t as M}from"./auth-footer-LG_gGuJv.js";import{t as N}from"./labeled-separator-JGa2pO6H.js";import{i as P,r as F,t as I}from"./oauth-search-DebNssaC.js";import{t as L}from"./sanitized-rich-text-uZcpKo6H.js";import{t as R}from"./password-strength-B1w3RCA1.js";import{r as z,t as B}from"./terms-Bu9Itxxs.js";var V=e(t(),1),H=p({mutationFn:async e=>{let t=await u.api.auth.register.$post({json:e,header:{}});return l(t)}}),U=o();function W({search:e}){let{t,i18n:n}=c(),i=r(),o=s(),l=(e,t)=>i(t?O(e,t):e),u=e.lang??n.language,p=(0,V.useDeferredValue)(u),{data:_}=d(te),{data:D}=d(B(p)),k=_.auth.password.enabled,W=_.auth.password.policy,G=D.terms.length>0,K=(0,V.useMemo)(()=>D.terms.filter(e=>e.consentMode===`explicit`),[D.terms]),q=K.length>0,J=_.registration.signup_notice?.[u]??_.registration.signup_notice?.[_.i18n.fallback_language],Y=(0,V.useMemo)(()=>x({email:w().min(1,t(`validation.email.required`)).pipe(C(t(`validation.email.invalid`))),password:w().min(W.min_length,t(`validation.password.min`,{count:W.min_length})).max(W.max_length,t(`validation.password.max`,{count:W.max_length})),termsConsents:x(Object.fromEntries(K.map(e=>[e.id,e.required?ae(!0,{message:t(`validation.terms.required`)}):S()])))}),[K,W.max_length,W.min_length,t]),X=f({...H,onSuccess:async(t,n)=>{let r=t.user;if(r.email_verification_required&&!r.email_verified)return l(`/verify/email`,{email:n.email,...F(e)});if(o.setQueryData(T.queryKey,{user:r}),await E(),r.second_factor_required){let t=[];return _.auth.password.totp.enabled&&t.push(`totp`),_.auth.passkey.enabled&&t.push(`passkey`),t.length===1?t[0]===`totp`?l(`/setup/totp`,F(e)):l(`/setup/passkey`,{...F(e),passkey_name:`default`}):l(`/setup/2fa`,F(e))}P(e)?oe(I(e)):i(`/profile`)},onError:e=>{e instanceof ee?e.code===`REGISTRATION_EMAIL_NOT_ALLOWED`?Q(`email`,{type:`manual`,message:t(`register.error.emailNotAllowed`)}):e.code===`REGISTRATION_DISABLED`?Q(`email`,{type:`manual`,message:t(`register.error.registrationDisabled`)}):Q(`email`,{type:`manual`,message:g(e,t,t(`register.error.emailExists`))}):Q(`email`,{type:`manual`,message:g(e,t,t(`register.error.emailExists`))})},onSettled:async()=>{await o.invalidateQueries({queryKey:T.queryKey})}}),{register:Z,setError:Q,handleSubmit:se,control:ce,setValue:le,watch:ue,formState:{errors:$}}=v({defaultValues:{email:``,password:``,termsConsents:Object.fromEntries(K.map(e=>[e.id,!1]))},resolver:y(Y),mode:`onChange`}),de=ue(`password`);return(0,U.jsxs)(A,{children:[(0,U.jsx)(ie,{subtitle:t(`register.subtitle`),title:t(`register.title`)}),k&&(0,U.jsxs)(b,{className:`flex flex-col gap-tinyrack-lg`,onSubmit:se(e=>{let t=G?K.map(t=>({termsId:t.id,agreed:e.termsConsents[t.id]??!1})):void 0;X.mutate({email:e.email,password:e.password,consents:t})}),children:[(0,U.jsx)(h,{autoComplete:`email`,error:$.email,icon:re,label:t(`register.email.label`),placeholder:t(`register.email.placeholder`),...Z(`email`),type:`email`}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-tinyrack-sm`,children:[(0,U.jsx)(h,{autoComplete:`new-password`,error:$.password,hint:t(`register.password.hint`,{count:W.min_length}),icon:ne,label:t(`register.password.label`),placeholder:t(`register.password.placeholder`),...Z(`password`),type:`password`}),(0,U.jsx)(R,{password:de,policy:W})]}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-tinyrack-md`,children:[J&&(0,U.jsx)(`div`,{"data-testid":`terms-implicit-notice`,children:(0,U.jsx)(L,{html:J,variant:`notice`})}),J&&q&&(0,U.jsx)(N,{label:t(`terms.additionalOptionalConsent`)}),G&&q&&(0,U.jsx)(z,{control:ce,disabled:X.isPending,errors:$,setValue:le,terms:K})]}),(0,U.jsx)(m,{className:`w-full`,intent:`primary`,loading:X.isPending,loadingLabel:t(`register.submitting`),type:`submit`,uiSize:`lg`,children:t(`register.submit`)})]}),(0,U.jsx)(M,{children:(0,U.jsx)(j,{link:(0,U.jsx)(a,{to:O(`/login`,F(e)),children:t(`register.link.login`)}),text:t(`register.footer.haveAccount`)})})]})}var G=i(function({error:e}){return(0,U.jsx)(k,{component:_,error:e})}),K=n(function({loaderData:e}){return(0,U.jsx)(D,{state:e.dehydratedState,children:(0,U.jsx)(W,{search:e.search})})});export{G as ErrorBoundary,K as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,J as t,a as n,f as r}from"./components-DF4L3dSB.js";import{c as i}from"./toast-XXVYYXim.js";import{t as a}from"./jsx-runtime-B-57GDDH.js";import{L as o,a as s,i as c}from"./api-CfCwvXbU.js";import{t as l}from"./text-CBHShrvS.js";import{t as u}from"./useMutation-BkuKGzks.js";import{r as d}from"./NullStore-UyCsFQfz.js";import{t as f}from"./circle-alert-BZCKPkRn.js";import{t as p}from"./auth-page-header-CV85AJLW.js";import{t as m}from"./alert-DS8e0Gvg.js";import{t as h}from"./security-error-message-CMsTsiWf.js";import{r as g,t as _}from"./standard-schema-kM5DbC12.js";import{r as v}from"./FieldItemContext-B3N2qWH8.js";import{a as y,s as b}from"./schemas-B87iTMww.js";import{t as x}from"./document-navigation-FZbb5ldf.js";import{n as S,t as C}from"./promise-BP9iSIs-.js";import{o as w}from"./totp-4989Pb-o.js";import{t as T}from"./pin-input-DiWLndxH.js";import{n as E,r as D}from"./route-module-2foR49uh.js";import{t as O}from"./auth-layout-sea6nww4.js";import{n as k,t as A}from"./auth-footer-LG_gGuJv.js";import{t as j}from"./labeled-separator-JGa2pO6H.js";import{i as M,r as N,t as P}from"./oauth-search-DebNssaC.js";var F=e(t(),1),I=a(),L={SECOND_FACTOR_SESSION_EXPIRED:`SECOND_FACTOR_SESSION_EXPIRED`,INVALID_TOTP_CODE:`INVALID_TOTP_CODE`,TOTP_NOT_ENABLED:`TOTP_NOT_ENABLED`},R=5;function z({search:e}){let{t}=s(),n=r(),a=o(),E=(0,F.useRef)(null),[z,B]=(0,F.useState)(!1),[V,H]=(0,F.useState)(R),U=(0,F.useMemo)(()=>y({code:b().length(6,t(`validation.totp.length`)).regex(/^\d{6}$/,t(`validation.totp.digits`))}),[t]),W=u({...w,onSuccess:async t=>{a.setQueryData(S.queryKey,{user:t.user}),await C(),M(e)?x(P(e)):n(`/profile`)},onSettled:()=>{a.invalidateQueries({queryKey:S.queryKey})}}),{setValue:G,setError:K,handleSubmit:q,watch:J,formState:{errors:Y}}=g({defaultValues:{code:``},resolver:_(U)}),X=J(`code`),Z=(0,F.useCallback)(()=>{n(D(`/login`,N(e)))},[n,e]);(0,F.useEffect)(()=>{if(!z)return;let e=setInterval(()=>{H(t=>t<=1?(clearInterval(e),Z(),0):t-1)},1e3);return()=>clearInterval(e)},[z,Z]);let Q=async e=>{try{await W.mutateAsync(e)}catch(e){if(e instanceof c)switch(e.code){case L.SECOND_FACTOR_SESSION_EXPIRED:B(!0),H(R);return;case L.TOTP_NOT_ENABLED:Z();return;case L.INVALID_TOTP_CODE:K(`code`,{type:`manual`,message:h(e,t,t(`verifyTotp.error.invalid`))}),G(`code`,``),E.current?.focus();return}K(`code`,{type:`manual`,message:h(e,t,t(`verifyTotp.error.invalid`))}),G(`code`,``),E.current?.focus()}};return(0,I.jsxs)(O,{children:[(0,I.jsx)(p,{subtitle:t(`verifyTotp.subtitle`),title:t(`verifyTotp.title`)}),z&&(0,I.jsx)(m,{"data-testid":`totp-verify-session-expired`,icon:f,type:`warning`,children:(0,I.jsxs)(`div`,{className:`flex flex-col items-start gap-tinyrack-3xs`,children:[(0,I.jsx)(l,{as:`span`,variant:`bodySm`,children:t(`verifyTotp.error.expired`)}),(0,I.jsx)(l,{as:`span`,color:`muted`,variant:`caption`,children:t(`verifyTotp.redirecting`,{seconds:V})}),(0,I.jsx)(d,{appearance:`ghost`,intent:`neutral`,onClick:Z,type:`button`,uiSize:`sm`,children:t(`verifyTotp.redirectNow`)})]})}),(0,I.jsxs)(v,{className:`flex flex-col gap-tinyrack-lg`,onSubmit:q(Q),children:[(0,I.jsx)(T,{autoFocus:!0,disabled:z,error:Y.code,length:6,onChange:e=>G(`code`,e),onComplete:()=>q(Q)(),ref:E,value:X}),z?(0,I.jsx)(d,{className:`w-full`,disabled:!0,intent:`primary`,type:`button`,uiSize:`lg`,children:t(`verifyTotp.submit`)}):(0,I.jsx)(d,{className:`w-full`,intent:`primary`,loading:W.isPending,loadingLabel:t(`verifyTotp.submitting`),type:`submit`,uiSize:`lg`,children:t(`verifyTotp.submit`)})]}),(0,I.jsxs)(`div`,{className:`flex flex-col gap-tinyrack-md`,children:[(0,I.jsx)(j,{label:t(`common.or`)}),(0,I.jsx)(d,{appearance:`ghost`,className:`w-full`,"data-testid":`totp-verify-recovery-link`,intent:`neutral`,onClick:()=>n(D(`/verify/totp/recovery`,N(e))),type:`button`,uiSize:`lg`,children:t(`verifyTotp.useRecoveryCode`)})]}),(0,I.jsx)(A,{children:(0,I.jsx)(k,{link:(0,I.jsx)(i,{to:D(`/login`,N(e)),children:t(`verifyTotp.backToLogin`)})})})]})}var B=n(function({loaderData:e}){return(0,I.jsx)(E,{state:e.dehydratedState,children:(0,I.jsx)(z,{search:e.search})})});export{B as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,J as t,a as n,f as r}from"./components-DF4L3dSB.js";import{c as i}from"./toast-XXVYYXim.js";import{t as a}from"./jsx-runtime-B-57GDDH.js";import{L as o,a as s,i as c}from"./api-CfCwvXbU.js";import{t as l}from"./text-CBHShrvS.js";import{t as u}from"./useMutation-BkuKGzks.js";import{r as d}from"./NullStore-UyCsFQfz.js";import{t as f}from"./circle-alert-BZCKPkRn.js";import{t as p}from"./auth-page-header-CV85AJLW.js";import{t as m}from"./alert-DS8e0Gvg.js";import{t as h}from"./security-error-message-CMsTsiWf.js";import{r as g,t as _}from"./standard-schema-kM5DbC12.js";import{r as v}from"./FieldItemContext-B3N2qWH8.js";import{a as y,s as b}from"./schemas-B87iTMww.js";import{t as x}from"./field-Du5xBKGW.js";import{t as S}from"./input-Dyj4-3JM.js";import{t as C}from"./document-navigation-FZbb5ldf.js";import{n as w,t as T}from"./promise-BP9iSIs-.js";import{a as E}from"./totp-4989Pb-o.js";import{n as D,r as O}from"./route-module-2foR49uh.js";import{t as k}from"./auth-layout-sea6nww4.js";import{n as A,t as j}from"./auth-footer-LG_gGuJv.js";import{t as M}from"./labeled-separator-JGa2pO6H.js";import{i as N,r as P,t as F}from"./oauth-search-DebNssaC.js";var I=e(t(),1),L=a(),R={SECOND_FACTOR_SESSION_EXPIRED:`SECOND_FACTOR_SESSION_EXPIRED`,INVALID_RECOVERY_CODE:`INVALID_RECOVERY_CODE`,NO_RECOVERY_CODES_AVAILABLE:`NO_RECOVERY_CODES_AVAILABLE`,TOTP_NOT_ENABLED:`TOTP_NOT_ENABLED`},z=5;function B({search:e}){let{t}=s(),n=r(),a=o(),D=(0,I.useRef)(null),[B,V]=(0,I.useState)(!1),[H,U]=(0,I.useState)(z),W=(0,I.useMemo)(()=>y({code:b().transform(e=>e.toUpperCase()).pipe(b().regex(/^[A-HJ-NP-TV-Z2-9]{4}(?:-[A-HJ-NP-TV-Z2-9]{4}){3}$/,t(`verifyRecovery.error.invalid`)))}),[t]),G=u({...E,onSuccess:async t=>{a.setQueryData(w.queryKey,{user:t.user}),await T(),N(e)?C(F(e)):n(`/profile`)},onSettled:()=>{a.invalidateQueries({queryKey:w.queryKey})}}),{register:K,setError:q,handleSubmit:J,setValue:Y,formState:{errors:X}}=g({defaultValues:{code:``},resolver:_(W)}),Z=(0,I.useCallback)(()=>{n(O(`/login`,P(e)))},[n,e]);(0,I.useEffect)(()=>{if(!B)return;let e=setInterval(()=>{U(t=>t<=1?(clearInterval(e),Z(),0):t-1)},1e3);return()=>clearInterval(e)},[B,Z]);let Q=async e=>{try{await G.mutateAsync(e)}catch(e){if(e instanceof c)switch(e.code){case R.SECOND_FACTOR_SESSION_EXPIRED:V(!0),U(z);return;case R.TOTP_NOT_ENABLED:Z();return;case R.NO_RECOVERY_CODES_AVAILABLE:q(`code`,{type:`manual`,message:t(`verifyRecovery.error.noCodesAvailable`)}),Y(`code`,``),D.current?.focus();return;case R.INVALID_RECOVERY_CODE:q(`code`,{type:`manual`,message:h(e,t,t(`verifyRecovery.error.invalid`))}),Y(`code`,``),D.current?.focus();return}q(`code`,{type:`manual`,message:h(e,t,t(`verifyRecovery.error.invalid`))}),Y(`code`,``),D.current?.focus()}},{ref:$,...ee}=K(`code`);return(0,L.jsxs)(k,{children:[(0,L.jsx)(p,{subtitle:t(`verifyRecovery.subtitle`),title:t(`verifyRecovery.title`)}),B&&(0,L.jsx)(m,{"data-testid":`recovery-session-expired`,icon:f,type:`warning`,children:(0,L.jsxs)(`div`,{className:`flex flex-col items-start gap-tinyrack-3xs`,children:[(0,L.jsx)(l,{as:`span`,variant:`bodySm`,children:t(`verifyRecovery.error.expired`)}),(0,L.jsx)(l,{as:`span`,color:`muted`,variant:`caption`,children:t(`verifyRecovery.redirecting`,{seconds:H})}),(0,L.jsx)(d,{appearance:`ghost`,intent:`neutral`,onClick:Z,type:`button`,uiSize:`sm`,children:t(`verifyRecovery.redirectNow`)})]})}),(0,L.jsxs)(v,{className:`flex flex-col gap-tinyrack-lg`,onSubmit:J(Q),children:[(0,L.jsxs)(x.Root,{children:[(0,L.jsx)(S,{...ee,autoComplete:`off`,className:`w-full text-center font-tinyrack-mono`,"data-testid":`recovery-code-input`,disabled:B,placeholder:t(`verifyRecovery.placeholder`),ref:e=>{$(e),D.current=e},type:`text`,uiSize:`lg`}),(0,L.jsx)(x.Error,{"data-testid":`recovery-error`,match:!!X.code,children:X.code?.message})]}),B?(0,L.jsx)(d,{className:`w-full`,disabled:!0,intent:`primary`,type:`button`,uiSize:`lg`,children:t(`verifyRecovery.submit`)}):(0,L.jsx)(d,{className:`w-full`,intent:`primary`,loading:G.isPending,loadingLabel:t(`verifyRecovery.submitting`),type:`submit`,uiSize:`lg`,children:t(`verifyRecovery.submit`)})]}),(0,L.jsxs)(`div`,{className:`flex flex-col gap-tinyrack-md`,children:[(0,L.jsx)(M,{label:t(`common.or`)}),(0,L.jsx)(d,{appearance:`ghost`,className:`w-full`,"data-testid":`recovery-back-to-totp`,intent:`neutral`,onClick:()=>n(O(`/verify/totp`,P(e))),type:`button`,uiSize:`lg`,children:t(`verifyRecovery.backToTotp`)})]}),(0,L.jsx)(j,{children:(0,L.jsx)(A,{link:(0,L.jsx)(i,{to:O(`/login`,P(e)),children:t(`verifyRecovery.backToLogin`)})})})]})}var V=n(function({loaderData:e}){return(0,L.jsx)(D,{state:e.dehydratedState,children:(0,L.jsx)(B,{search:e.search})})});export{V as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,J as t,a as n,f as ee,o as r}from"./components-DF4L3dSB.js";import{t as i}from"./toast-XXVYYXim.js";import{t as a}from"./jsx-runtime-B-57GDDH.js";import{L as o,a as s,n as c,t as l}from"./api-CfCwvXbU.js";import{r as u,t as d}from"./text-CBHShrvS.js";import{t as f}from"./useMutation-BkuKGzks.js";import{t as p}from"./mutationOptions-Dfvzj6n2.js";import{i as m,r as h}from"./NullStore-UyCsFQfz.js";import{t as g}from"./circle-check-BW_XcUlv.js";import{t as _}from"./auth-field-CDCz-y27.js";import{t as v}from"./key-round-BlUAV-K9.js";import{n as y}from"./language-selector-Jso2cQNI.js";import{t as b}from"./mail-B2PK2vlI.js";import{t as x}from"./auth-page-header-CV85AJLW.js";import{t as S}from"./alert-DS8e0Gvg.js";import{t as C}from"./security-error-message-CMsTsiWf.js";import{t as w}from"./auth-outcome-DyY0JgWG.js";import{t as T}from"./route-error-fallback-CRL2Et8O.js";import{r as E,t as D}from"./standard-schema-kM5DbC12.js";import{r as O}from"./FieldItemContext-B3N2qWH8.js";import{a as k,s as A}from"./schemas-B87iTMww.js";import{t as j}from"./document-navigation-FZbb5ldf.js";import{n as M,t as N}from"./promise-BP9iSIs-.js";import{n as P,r as F,t as I}from"./route-module-2foR49uh.js";import{t as L}from"./auth-layout-sea6nww4.js";import{t as R}from"./labeled-separator-JGa2pO6H.js";import{i as z,r as B,t as V}from"./oauth-search-DebNssaC.js";var H=e(t(),1),U=p({mutationFn:async e=>{let t=await l.api.auth.email.verify.$post({json:e});return c(t)}}),W=p({mutationFn:async e=>{let t=await l.api.auth.email.resend.$post({json:e,header:{}});return c(t)}}),G=a();function K({search:e}){let{t}=s(),n=ee(),r=o(),a=(e,t)=>n(t?F(e,t):e),{token:c,email:l}=e,[p,T]=(0,H.useState)(!1),[P,I]=(0,H.useState)(!1),K=i.useToastManager(),{data:q}=u(y),J=(0,H.useMemo)(()=>k({token:A().min(1,t(`validation.token.required`))}),[t]),Y=f({...U,onSuccess:async t=>{let n=t.user;if(r.setQueryData(M.queryKey,{user:n}),await N(),n.totp_registered||n.passkey_count>0){let t=n.totp_registered&&n.passkey_count>0?`/verify/2fa`:n.totp_registered?`/verify/totp`:`/verify/passkey`;return a(t,B(e))}if(n.second_factor_required){let t=[];return q.auth.password.totp.enabled&&t.push(`totp`),q.auth.passkey.enabled&&t.push(`passkey`),t.length===1?t[0]===`totp`?a(`/setup/totp`,B(e)):a(`/setup/passkey`,B(e)):a(`/setup/2fa`,B(e))}z(e)?j(V(e)):T(!0)},onSettled:()=>{r.invalidateQueries({queryKey:M.queryKey})}}),X=f({...W,onError:e=>{K.add({title:C(e,t,t(`error.defaultMessage`)),type:`error`})},onSuccess:()=>{K.add({title:t(`verifyEmail.resendSuccess`),type:`success`}),I(!0),setTimeout(()=>I(!1),5e3)}}),{register:Z,setError:Q,handleSubmit:$,formState:{errors:te}}=E({defaultValues:{token:c||``},resolver:D(J)}),ne=async e=>{try{await Y.mutateAsync(e)}catch{Q(`token`,{type:`manual`,message:t(`verifyEmail.error.invalidToken`)})}},re=async()=>{if(l)try{await X.mutateAsync({email:l})}catch{}};return p?(0,G.jsx)(L,{children:(0,G.jsx)(`div`,{"data-testid":`alert-success`,children:(0,G.jsx)(w,{description:(0,G.jsxs)(G.Fragment,{children:[t(`verifyEmail.success.subtitle`),(0,G.jsx)(`br`,{}),t(`verifyEmail.success.description`)]}),icon:g,title:t(`verifyEmail.success.title`),tone:`success`,children:(0,G.jsx)(h,{className:`w-full`,"data-testid":`email-verify-go-profile`,intent:`primary`,onClick:()=>n(`/profile`),type:`button`,uiSize:`lg`,children:t(`verifyEmail.success.goToProfile`)})})})}):(0,G.jsxs)(L,{children:[(0,G.jsx)(x,{subtitle:t(`verifyEmail.subtitle`),title:t(`verifyEmail.title`)}),l&&(0,G.jsx)(S,{icon:b,type:`info`,children:(0,G.jsxs)(`span`,{className:`flex flex-col gap-tinyrack-3xs text-left`,children:[(0,G.jsx)(d,{variant:`body`,weight:`strong`,children:t(`register.success.subtitle`)}),(0,G.jsx)(d,{color:`muted`,variant:`caption`,children:t(`register.success.description`,{email:l})})]})}),(0,G.jsxs)(O,{className:`flex flex-col gap-tinyrack-lg`,onSubmit:$(ne),children:[(0,G.jsx)(_,{error:te.token,icon:v,label:t(`verifyEmail.token.label`),placeholder:t(`verifyEmail.token.placeholder`),...Z(`token`),type:`text`}),(0,G.jsx)(h,{className:`w-full`,intent:`primary`,loading:Y.isPending,loadingLabel:t(`verifyEmail.submitting`),type:`submit`,uiSize:`lg`,children:t(`verifyEmail.submit`)})]}),l&&(0,G.jsxs)(`div`,{className:`flex flex-col gap-tinyrack-md`,children:[(0,G.jsx)(R,{}),(0,G.jsx)(h,{appearance:`ghost`,className:`w-full`,"data-testid":`email-verify-resend`,disabled:X.isPending||P,intent:`neutral`,onClick:re,type:`button`,uiSize:`lg`,children:X.isPending?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(m,{uiSize:`sm`}),t(`verifyEmail.resending`)]}):t(`verifyEmail.resend`)})]})]})}var q=r(function({error:e}){return(0,G.jsx)(I,{component:T,error:e})}),J=n(function({loaderData:e}){return(0,G.jsx)(P,{state:e.dehydratedState,children:(0,G.jsx)(K,{search:e.search})})});export{q as ErrorBoundary,J as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,o as t,u as n}from"./components-DF4L3dSB.js";import{t as r}from"./jsx-runtime-B-57GDDH.js";import{a as i,n as a,t as o}from"./api-CfCwvXbU.js";import{n as s,r as c,t as l}from"./text-CBHShrvS.js";import{t as u}from"./useMutation-BkuKGzks.js";import{t as d}from"./mutationOptions-Dfvzj6n2.js";import{n as f,r as p}from"./NullStore-UyCsFQfz.js";import{t as m}from"./card-BaQElRNE.js";import{r as h}from"./language-selector-
|
|
1
|
+
import{a as e,o as t,u as n}from"./components-DF4L3dSB.js";import{t as r}from"./jsx-runtime-B-57GDDH.js";import{a as i,n as a,t as o}from"./api-CfCwvXbU.js";import{n as s,r as c,t as l}from"./text-CBHShrvS.js";import{t as u}from"./useMutation-BkuKGzks.js";import{t as d}from"./mutationOptions-Dfvzj6n2.js";import{n as f,r as p}from"./NullStore-UyCsFQfz.js";import{t as m}from"./card-BaQElRNE.js";import{r as h}from"./language-selector-Jso2cQNI.js";import{t as g}from"./shield-check-2DKLuF9J.js";import{t as _}from"./auth-page-header-CV85AJLW.js";import{t as v}from"./initial-avatar-ByHiX-IF.js";import{t as y}from"./route-error-fallback-CRL2Et8O.js";import{t as b}from"./document-navigation-FZbb5ldf.js";import{n as x,t as S}from"./route-module-2foR49uh.js";import{t as C}from"./auth-layout-sea6nww4.js";import{n as w}from"./oauth-search-DebNssaC.js";var T=(e,t)=>s({queryKey:h.consent(t.client_id,t.redirect_uri,t.response_type,t.scope,t.prompt),queryFn:async()=>{let n=await e.api.consent.$get({query:{client_id:t.client_id,redirect_uri:t.redirect_uri,response_type:t.response_type,prompt:t.prompt,scope:t.scope}});return a(n)}}),E=e=>T(o,e),D=d({mutationFn:async e=>{let t=await o.api.consent.$post({json:e});return a(t)}}),O=r();function k(e){let t=n();return(0,O.jsx)(y,{...e,onUnauthorized:()=>{let e=new URLSearchParams(t.search),n=Object.fromEntries(e.entries());b(w(n))}})}function A({search:e}){let{t}=i(),n=c(E({client_id:e.client_id,redirect_uri:e.redirect_uri,response_type:e.response_type,prompt:e.prompt,scope:e.scope})),r=u({...D,onSuccess:e=>{b(e.redirect_url)}}),a=()=>{r.mutate({client_id:e.client_id,redirect_uri:e.redirect_uri,response_type:e.response_type,scope:e.scope,state:e.state,nonce:e.nonce,code_challenge:e.code_challenge,code_challenge_method:e.code_challenge_method,prompt:e.prompt,max_age:e.max_age,reauthenticated:e.reauthenticated,display:e.display,response_mode:e.response_mode,login_hint:e.login_hint,ui_locales:e.ui_locales,id_token_hint:e.id_token_hint,acr_values:e.acr_values,account_selected:e.account_selected,account_selection_state:e.account_selection_state,decision:`allow`})},o=()=>{r.mutate({client_id:e.client_id,redirect_uri:e.redirect_uri,response_type:e.response_type,scope:e.scope,state:e.state,nonce:e.nonce,code_challenge:e.code_challenge,code_challenge_method:e.code_challenge_method,prompt:e.prompt,max_age:e.max_age,reauthenticated:e.reauthenticated,display:e.display,response_mode:e.response_mode,login_hint:e.login_hint,ui_locales:e.ui_locales,id_token_hint:e.id_token_hint,acr_values:e.acr_values,account_selected:e.account_selected,account_selection_state:e.account_selection_state,decision:`deny`})},{client:s,scopes:d,user:h}=n.data;return(0,O.jsxs)(C,{width:`wide`,children:[(0,O.jsx)(_,{subtitle:t(`consent.subtitle`,{app:s.name}),title:t(`consent.title`)}),(0,O.jsx)(m.Root,{padding:`lg`,variant:`outlined`,children:(0,O.jsxs)(m.Content,{className:`flex items-center gap-tinyrack-md`,children:[(0,O.jsx)(v,{email:h.email,size:`sm`}),(0,O.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,O.jsx)(l,{color:`muted`,variant:`caption`,children:t(`consent.loggedInAs`)}),(0,O.jsx)(l,{"data-testid":`consent-user-email`,truncate:!0,variant:`body`,weight:`medium`,children:h.email})]})]})}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-tinyrack-sm`,children:[(0,O.jsx)(l,{as:`h3`,variant:`label`,children:t(`consent.permissions.title`)}),(0,O.jsx)(`ul`,{className:`flex flex-col gap-tinyrack-xs`,"data-testid":`consent-scope-list`,children:d.map(e=>(0,O.jsxs)(`li`,{className:`flex items-center gap-tinyrack-sm rounded-tinyrack-md bg-tinyrack-surface-muted px-tinyrack-md py-tinyrack-sm`,children:[(0,O.jsx)(g,{"aria-hidden":!0,className:`size-tinyrack-lg shrink-0 text-tinyrack-info-foreground`}),(0,O.jsx)(l,{variant:`body`,children:t(`consent.scope.${e.name}`,{defaultValue:e.description})})]},e.name))})]}),(0,O.jsxs)(`div`,{className:`sticky bottom-0 flex gap-tinyrack-sm border-tinyrack-border border-t-tinyrack-default bg-tinyrack-surface py-tinyrack-md`,children:[(0,O.jsxs)(p,{appearance:`outline`,className:`flex-1`,"data-testid":`consent-deny`,intent:`neutral`,loading:r.isPending,loadingLabel:t(`consent.deny`),onClick:o,type:`button`,uiSize:`lg`,children:[(0,O.jsx)(f,{"aria-hidden":!0,className:`size-tinyrack-lg`}),t(`consent.deny`)]}),(0,O.jsxs)(p,{className:`flex-1`,"data-testid":`consent-allow`,intent:`primary`,loading:r.isPending,loadingLabel:t(`consent.allow`),onClick:a,type:`button`,uiSize:`lg`,children:[(0,O.jsx)(g,{"aria-hidden":!0,className:`size-tinyrack-lg`}),t(`consent.allow`)]})]})]})}var j=t(function({error:e}){return(0,O.jsx)(S,{component:k,error:e})}),M=e(function({loaderData:e}){return(0,O.jsx)(x,{state:e.dehydratedState,children:(0,O.jsx)(A,{search:e.search})})});export{j as ErrorBoundary,M as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,o as t}from"./components-DF4L3dSB.js";import{c as n}from"./toast-XXVYYXim.js";import{t as r}from"./jsx-runtime-B-57GDDH.js";import{a as i}from"./api-CfCwvXbU.js";import{r as a}from"./text-CBHShrvS.js";import{t as o}from"./auth-choice-row-DNB3B1Vs.js";import{t as s}from"./fingerprint-pattern-AUfgwio5.js";import{n as c}from"./language-selector-
|
|
1
|
+
import{a as e,o as t}from"./components-DF4L3dSB.js";import{c as n}from"./toast-XXVYYXim.js";import{t as r}from"./jsx-runtime-B-57GDDH.js";import{a as i}from"./api-CfCwvXbU.js";import{r as a}from"./text-CBHShrvS.js";import{t as o}from"./auth-choice-row-DNB3B1Vs.js";import{t as s}from"./fingerprint-pattern-AUfgwio5.js";import{n as c}from"./language-selector-Jso2cQNI.js";import{t as l}from"./shield-check-2DKLuF9J.js";import{t as u}from"./auth-page-header-CV85AJLW.js";import{t as d}from"./route-error-fallback-CRL2Et8O.js";import{n as f,r as p,t as m}from"./route-module-2foR49uh.js";import{t as h}from"./auth-layout-sea6nww4.js";import{n as g,t as _}from"./auth-footer-LG_gGuJv.js";import{r as v}from"./oauth-search-DebNssaC.js";var y=r();function b({search:e}){let{t}=i(),r=v(e),{data:d}=a(c);return(0,y.jsxs)(h,{children:[(0,y.jsx)(u,{subtitle:t(`verify2fa.subtitle`),title:t(`verify2fa.title`)}),(0,y.jsxs)(`div`,{className:`flex flex-col gap-tinyrack-sm`,children:[d.auth.password.enabled&&d.auth.password.totp.enabled&&(0,y.jsx)(o,{description:t(`verify2fa.totp.description`),icon:l,label:t(`verify2fa.totp.title`),render:(0,y.jsx)(n,{to:p(`/verify/totp`,r)})}),d.auth.passkey.enabled&&(0,y.jsx)(o,{description:t(`verify2fa.passkey.description`),icon:s,label:t(`verify2fa.passkey.title`),render:(0,y.jsx)(n,{to:p(`/verify/passkey`,r)})})]}),(0,y.jsx)(_,{children:(0,y.jsx)(g,{link:(0,y.jsx)(n,{to:p(`/login`,r),children:t(`verify2fa.backToLogin`)})})})]})}var x=t(function({error:e}){return(0,y.jsx)(m,{component:d,error:e})}),S=e(function({loaderData:e}){return(0,y.jsx)(f,{state:e.dehydratedState,children:(0,y.jsx)(b,{search:e.search})})});export{x as ErrorBoundary,S as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./components-DF4L3dSB.js";import{c as t}from"./toast-XXVYYXim.js";import{t as n}from"./jsx-runtime-B-57GDDH.js";import{a as r}from"./api-CfCwvXbU.js";import{t as i}from"./text-CBHShrvS.js";import{r as a}from"./NullStore-UyCsFQfz.js";import{t as o}from"./circle-alert-BZCKPkRn.js";import{t as s}from"./link-button-DGt9hwk7.js";import{t as c}from"./code-Dc5QnXCh.js";import{t as l}from"./auth-outcome-DyY0JgWG.js";import{n as u}from"./route-module-2foR49uh.js";import{t as d}from"./auth-layout-
|
|
1
|
+
import{a as e}from"./components-DF4L3dSB.js";import{c as t}from"./toast-XXVYYXim.js";import{t as n}from"./jsx-runtime-B-57GDDH.js";import{a as r}from"./api-CfCwvXbU.js";import{t as i}from"./text-CBHShrvS.js";import{r as a}from"./NullStore-UyCsFQfz.js";import{t as o}from"./circle-alert-BZCKPkRn.js";import{t as s}from"./link-button-DGt9hwk7.js";import{t as c}from"./code-Dc5QnXCh.js";import{t as l}from"./auth-outcome-DyY0JgWG.js";import{n as u}from"./route-module-2foR49uh.js";import{t as d}from"./auth-layout-sea6nww4.js";import{n as f,t as p}from"./auth-footer-LG_gGuJv.js";var m=n();function h({search:e}){let{t:n}=r(),u=e.code||`UNKNOWN_ERROR`,h=e.message||n(`error.defaultMessage`);return(0,m.jsxs)(d,{children:[(0,m.jsxs)(l,{description:h,icon:o,title:n(`error.subtitle`),tone:`danger`,children:[(0,m.jsxs)(i,{color:`muted`,variant:`caption`,children:[n(`error.codeLabel`),` `,(0,m.jsx)(c,{"data-testid":`error-code`,children:u})]}),(0,m.jsx)(s,{className:`w-full`,intent:`primary`,render:(0,m.jsx)(t,{to:`/login`}),uiSize:`lg`,children:n(`error.goToLogin`)}),(0,m.jsx)(a,{appearance:`ghost`,className:`w-full`,intent:`neutral`,onClick:()=>window.history.back(),type:`button`,uiSize:`lg`,children:n(`error.goBack`)})]}),(0,m.jsx)(p,{children:(0,m.jsx)(f,{link:(0,m.jsx)(`a`,{href:`mailto:support@example.com`,children:n(`error.footer.contactSupport`)}),text:n(`error.footer.needHelp`)})})]})}var g=e(function({loaderData:e}){return(0,m.jsx)(u,{state:e.dehydratedState,children:(0,m.jsx)(h,{search:e.search})})});export{g as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,J as t,a as n,f as r,o as i}from"./components-DF4L3dSB.js";import{t as a}from"./jsx-runtime-B-57GDDH.js";import{L as o,a as s}from"./api-CfCwvXbU.js";import{r as c}from"./text-CBHShrvS.js";import{t as l}from"./useMutation-BkuKGzks.js";import{r as u}from"./NullStore-UyCsFQfz.js";import{n as d}from"./language-selector-Jso2cQNI.js";import{t as f}from"./triangle-alert-B0lTzZDi.js";import{t as p}from"./auth-page-header-CV85AJLW.js";import{t as m}from"./alert-DS8e0Gvg.js";import{t as h}from"./route-error-fallback-CRL2Et8O.js";import{r as g,t as _}from"./standard-schema-kM5DbC12.js";import{r as v}from"./FieldItemContext-B3N2qWH8.js";import{a as y,i as b,n as x}from"./schemas-B87iTMww.js";import{t as S}from"./document-navigation-FZbb5ldf.js";import{n as C,t as w}from"./promise-BP9iSIs-.js";import{n as T,t as E}from"./route-module-2foR49uh.js";import{t as D}from"./auth-layout-sea6nww4.js";import{t as O}from"./labeled-separator-JGa2pO6H.js";import{t as k}from"./sanitized-rich-text-uZcpKo6H.js";import{n as A,r as j,t as M}from"./terms-Bu9Itxxs.js";var N=e(t(),1);function P(e){if(!e.startsWith(`/`)||e.startsWith(`//`)||e.includes(`\\`))return`/profile`;try{return new URL(e,`https://return.invalid`).origin===`https://return.invalid`?e:`/profile`}catch{return`/profile`}}var F=a();function I(e){return(0,F.jsx)(h,{...e,onUnauthorized:()=>{S(`/login`)}})}function L({search:e}){let{t,i18n:n}=s(),i=r(),a=o(),{data:h}=c(d),T=e.lang??n.language,E=c(M(T)),I=h.registration.signup_notice?.[T]??h.registration.signup_notice?.[h.i18n.fallback_language],L=(0,N.useMemo)(()=>E.data.terms.filter(e=>e.consentMode===`explicit`),[E.data.terms]),R=(0,N.useMemo)(()=>E.data.terms.filter(e=>e.consentMode===`implicit`),[E.data.terms]),z=L.length>0,B=(0,N.useMemo)(()=>y({termsConsents:y(Object.fromEntries(L.map(e=>[e.id,e.required?b(!0,{message:t(`validation.terms.required`)}):x()])))}),[t,L]),{handleSubmit:V,control:H,setValue:U,formState:{errors:W}}=g({defaultValues:{termsConsents:Object.fromEntries(L.map(e=>[e.id,!(!e.userConsent?.agreed||e.userConsent.requiresUpdate)]))},resolver:_(B),mode:`onChange`}),G=l({...A,onSuccess:async()=>{await a.invalidateQueries({queryKey:C.queryKey}),await a.fetchQuery(C),await w(),e.redirect?S(P(e.redirect)):i(`/profile`)}});return(0,F.jsxs)(D,{width:`wide`,children:[(0,F.jsx)(p,{title:t(`terms.title`)}),I&&(0,F.jsx)(k,{html:I,variant:`notice`}),I&&z&&(0,F.jsx)(O,{label:t(`terms.additionalOptionalConsent`)}),(0,F.jsxs)(v,{className:`flex flex-col gap-tinyrack-lg`,onSubmit:V(t=>{let n=Object.entries(t.termsConsents).map(([e,t])=>({termsId:e,agreed:t,consentType:`explicit`})),r=R.map(e=>({termsId:e.id,agreed:!0,consentType:`implicit`}));G.mutate({consents:[...n,...r],...e.registration_token&&{registrationToken:e.registration_token}})}),children:[z&&(0,F.jsx)(j,{control:H,disabled:G.isPending,errors:W,setValue:U,terms:L}),G.isError&&(0,F.jsx)(m,{icon:f,type:`error`,children:t(`terms.error.submitFailed`)}),(0,F.jsx)(`div`,{className:`sticky bottom-0 flex gap-tinyrack-sm border-tinyrack-border border-t-tinyrack-default bg-tinyrack-surface py-tinyrack-md`,children:(0,F.jsx)(u,{className:`w-full`,intent:`primary`,loading:G.isPending,loadingLabel:t(`terms.submit`),type:`submit`,uiSize:`lg`,children:t(`terms.submit`)})})]})]})}var R=i(function({error:e}){return(0,F.jsx)(E,{component:I,error:e})}),z=n(function({loaderData:e}){return(0,F.jsx)(T,{state:e.dehydratedState,children:(0,F.jsx)(L,{search:e.search})})});export{R as ErrorBoundary,z as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,J as t,a as n,f as r,o as i}from"./components-DF4L3dSB.js";import{t as a}from"./jsx-runtime-B-57GDDH.js";import{L as o,a as s,i as c,n as l,t as u}from"./api-CfCwvXbU.js";import{n as d,r as f,t as p}from"./text-CBHShrvS.js";import{t as m}from"./useMutation-BkuKGzks.js";import{t as h}from"./useQuery-BLm0XsTI.js";import{t as g}from"./mutationOptions-Dfvzj6n2.js";import{V as _}from"./select-C_WHBpl_.js";import{a as v,i as y,r as b,t as x}from"./shell-header-bar-DRx10tE5.js";import{i as S,r as C}from"./NullStore-UyCsFQfz.js";import{t as w}from"./card-BaQElRNE.js";import{t as T}from"./circle-alert-BZCKPkRn.js";import{a as E,i as D,n as ee,r as O,t as k}from"./use-totp-setup-CoOXWOcT.js";import{t as A}from"./auth-field-CDCz-y27.js";import{t as j}from"./fingerprint-pattern-AUfgwio5.js";import{t as M}from"./key-round-BlUAV-K9.js";import{n as N,r as P}from"./language-selector-Jso2cQNI.js";import{n as te,t as F}from"./provider-mark-CCOkSxh7.js";import{n as ne,r as re,t as ie}from"./logout-DpMjBzc5.js";import{t as I}from"./shield-check-2DKLuF9J.js";import{t as L}from"./trash-C7RyeTUJ.js";import{t as R}from"./triangle-alert-B0lTzZDi.js";import{t as ae}from"./auth-page-header-CV85AJLW.js";import{t as oe}from"./link-button-DGt9hwk7.js";import{t as z}from"./alert-DS8e0Gvg.js";import{n as B,t as V}from"./modal-BDu41alh.js";import{t as H}from"./security-error-message-CMsTsiWf.js";import{t as se}from"./initial-avatar-ByHiX-IF.js";import{t as ce}from"./route-error-fallback-CRL2Et8O.js";import{r as U,t as W}from"./standard-schema-kM5DbC12.js";import{r as G}from"./FieldItemContext-B3N2qWH8.js";import{a as K,s as q}from"./schemas-B87iTMww.js";import{t as J}from"./document-navigation-FZbb5ldf.js";import{n as Y,t as le}from"./promise-BP9iSIs-.js";import{n as ue,r as de}from"./totp-4989Pb-o.js";import{t as fe}from"./badge-Cr0iG_iG.js";import{a as pe,i as me,n as he,r as ge}from"./passkey-CJhT-7yO.js";import{n as _e,t as ve}from"./route-module-2foR49uh.js";var ye={name:`cloud`,size:24,node:[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]};ye.node;var be=_(ye),xe={name:`link-2-off`,size:24,node:[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7`,key:`10o201`}],[`path`,{d:`M15 7h2a5 5 0 0 1 4 8`,key:`1d3206`}],[`line`,{x1:`8`,x2:`12`,y1:`12`,y2:`12`,key:`rvw6j4`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}]]};xe.node;var Se=_(xe),Ce={name:`pencil`,size:24,node:[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]};Ce.node;var we=_(Ce),Te={name:`smartphone`,size:24,node:[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`,key:`1yt0o3`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}]]};Te.node;var Ee=_(Te),X=e(t(),1),Z=a();function De({isConfigManaged:e,isDeletionEnabled:t,onDeleteClick:n}){let{t:r}=s();return t?(0,Z.jsxs)(w.Root,{className:`border-tinyrack-danger-border bg-tinyrack-danger-surface`,variant:`outlined`,children:[(0,Z.jsxs)(w.Header,{className:`border-tinyrack-danger-border border-b-tinyrack-default px-tinyrack-lg py-tinyrack-md`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-tinyrack-sm`,children:[(0,Z.jsx)(R,{"aria-hidden":!0,className:`size-tinyrack-lg text-tinyrack-danger-foreground`}),(0,Z.jsx)(w.Title,{className:`text-tinyrack-danger-foreground`,children:r(`profile.dangerZone.title`)})]}),(0,Z.jsx)(w.Description,{children:r(`profile.dangerZone.description`)})]}),(0,Z.jsx)(w.Content,{className:`px-tinyrack-lg py-tinyrack-md`,children:(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-tinyrack-lg`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-tinyrack-3xs`,children:[(0,Z.jsx)(p,{as:`p`,variant:`bodySm`,weight:`medium`,children:r(`profile.deleteAccount.title`)}),(0,Z.jsx)(p,{as:`p`,color:`muted`,variant:`caption`,children:r(e?`profile.deleteAccount.configManaged`:`profile.deleteAccount.description`)})]}),(0,Z.jsxs)(C,{appearance:`outline`,"data-testid":`profile-delete-account`,disabled:e,intent:`danger`,onClick:n,type:`button`,uiSize:`sm`,children:[(0,Z.jsx)(L,{"aria-hidden":!0,className:`size-tinyrack-lg`}),r(`profile.deleteAccount.button`)]})]})})]}):null}function Oe({providerId:e,iconUrl:t,className:n=`size-tinyrack-xl`}){return e===`google`||e===`github`||e===`apple`?(0,Z.jsx)(F,{"aria-hidden":!0,className:n,provider:e}):t?(0,Z.jsx)(`img`,{alt:``,className:n,src:t}):(0,Z.jsx)(te,{"aria-hidden":!0,className:n})}function Q({icon:e,active:t,title:n,status:r,note:i,actions:a}){let o;return o=(0,X.isValidElement)(e)?e:(0,Z.jsx)(e,{"aria-hidden":!0,className:`size-tinyrack-lg ${t?`text-tinyrack-success-foreground`:`text-tinyrack-text-muted`}`}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-tinyrack-lg p-tinyrack-lg`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-tinyrack-md`,children:[(0,Z.jsx)(`div`,{className:`flex size-9 shrink-0 items-center justify-center rounded-tinyrack-md ${t?`bg-tinyrack-success-surface`:`bg-tinyrack-surface-muted`}`,children:o}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-tinyrack-3xs`,children:[(0,Z.jsx)(p,{variant:`bodySm`,weight:`medium`,children:n}),(0,Z.jsx)(p,{color:`muted`,variant:`caption`,children:r}),i]})]}),a&&(0,Z.jsx)(`div`,{className:`flex shrink-0 flex-wrap justify-end gap-tinyrack-xs`,children:a})]})}function ke({providers:e,unlinkingProvider:t,getAuthorizeUrl:n,onUnlinkRequest:r}){let{t:i}=s();return e.length===0?null:(0,Z.jsxs)(w.Root,{variant:`outlined`,children:[(0,Z.jsxs)(w.Header,{className:`border-tinyrack-border border-b-tinyrack-default px-tinyrack-lg py-tinyrack-md`,children:[(0,Z.jsx)(w.Title,{children:i(`profile.linkedAccounts.title`)}),(0,Z.jsx)(w.Description,{children:i(`profile.linkedAccounts.description`)})]}),(0,Z.jsx)(w.Content,{className:`divide-y divide-tinyrack-border p-0`,children:e.map(e=>(0,Z.jsx)(Q,{actions:e.linked?(0,Z.jsx)(C,{appearance:`ghost`,intent:`danger`,loading:t===e.id,loadingLabel:i(`profile.linkedAccounts.unlinking`),onClick:()=>r(e),type:`button`,uiSize:`sm`,children:t===e.id?void 0:i(`profile.linkedAccounts.unlink`)}):(0,Z.jsx)(oe,{appearance:`outline`,intent:`neutral`,render:(0,Z.jsx)(`a`,{href:n(e.id,`link`,`/profile`)}),uiSize:`sm`,children:i(`profile.linkedAccounts.link`)}),active:e.linked,icon:(0,Z.jsx)(Oe,{className:`size-tinyrack-lg`,iconUrl:e.icon_url,providerId:e.id}),status:e.linked?i(`profile.linkedAccounts.connected`):i(`profile.linkedAccounts.notConnected`),title:e.display_name},e.id))})]})}function Ae({passkeyCount:e,onOpenModal:t}){let{t:n}=s(),r=e>0;return(0,Z.jsx)(Q,{actions:(0,Z.jsx)(C,{appearance:`ghost`,intent:`primary`,onClick:()=>t(r?`manage`:`setup`),type:`button`,uiSize:`sm`,children:n(r?`profile.passkey.manage`:`profile.passkey.add`)}),active:r,icon:j,status:r?n(`profile.passkey.status.enabled`,{count:e}):n(`profile.passkey.status.disabled`),title:n(`profile.passkey.title`)})}function je({hasPassword:e,hasOtherPrimaryMethod:t,isConfigManaged:n,hasSecondFactorOnly:r,onOpenModal:i}){let{t:a}=s();return(0,Z.jsx)(Q,{actions:n?void 0:e?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(C,{appearance:`ghost`,"data-testid":`profile-password-change`,intent:`primary`,onClick:()=>i(`change`),type:`button`,uiSize:`sm`,children:a(`profile.password.change`)}),t?(0,Z.jsx)(C,{appearance:`ghost`,"data-testid":`profile-password-remove`,intent:`danger`,onClick:()=>i(`remove`),type:`button`,uiSize:`sm`,children:a(`profile.password.remove`)}):null,!t&&r&&(0,Z.jsxs)(v.Root,{children:[(0,Z.jsx)(v.Trigger,{render:(0,Z.jsx)(C,{appearance:`ghost`,disabled:!0,type:`button`,uiSize:`sm`,children:a(`profile.password.remove`)})}),(0,Z.jsx)(v.Portal,{children:(0,Z.jsx)(v.Positioner,{children:(0,Z.jsx)(v.Popup,{className:`max-w-tinyrack-measure-lg rounded-tinyrack-md border border-tinyrack-border bg-tinyrack-surface p-tinyrack-md text-tinyrack-text text-tinyrack-xs shadow-tinyrack-overlay`,children:(0,Z.jsxs)(`div`,{className:`flex items-start gap-tinyrack-sm`,children:[(0,Z.jsx)(E,{"aria-hidden":!0,className:`size-tinyrack-lg shrink-0 text-tinyrack-warning-foreground`}),(0,Z.jsx)(p,{variant:`caption`,children:a(`profile.password.removeDisabledReason`)})]})})})})]})]}):(0,Z.jsx)(C,{appearance:`ghost`,"data-testid":`profile-password-set`,intent:`primary`,onClick:()=>i(`set`),type:`button`,uiSize:`sm`,children:a(`profile.password.set`)}),active:e,icon:M,note:n?(0,Z.jsxs)(`div`,{className:`flex items-center gap-tinyrack-xs`,children:[(0,Z.jsx)(ne,{"aria-hidden":!0,className:`size-tinyrack-md shrink-0`}),(0,Z.jsx)(p,{as:`span`,color:`muted`,variant:`caption`,children:a(`profile.password.configManaged`)})]}):void 0,status:a(e?`profile.password.status.set`:`profile.password.status.notSet`),title:a(`profile.password.title`)})}function Me({totpEnabled:e,recoveryCodesMissing:t,onOpenModal:n}){let{t:r}=s();return(0,Z.jsx)(Q,{actions:e?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(C,{appearance:`ghost`,"data-testid":`profile-totp-regenerate`,intent:`primary`,onClick:()=>n(`regenerate`),type:`button`,uiSize:`sm`,children:r(`profile.totp.regenerate`)}),(0,Z.jsx)(C,{appearance:`ghost`,"data-testid":`profile-totp-disable`,intent:`danger`,onClick:()=>n(`disable`),type:`button`,uiSize:`sm`,children:r(`profile.totp.disable`)})]}):(0,Z.jsx)(C,{appearance:`ghost`,"data-testid":`profile-totp-enable`,intent:`primary`,onClick:()=>n(`setup`),type:`button`,uiSize:`sm`,children:r(`profile.totp.enable`)}),active:e,icon:I,status:r(e?t?`profile.totp.status.recoveryCodesMissing`:`profile.totp.status.enabled`:`profile.totp.status.disabled`),title:r(`profile.totp.title`)})}var Ne={error:T,warning:R,info:E};function $({variant:e,children:t}){return(0,Z.jsx)(z,{"data-testid":`alert-banner-${e}`,icon:Ne[e],type:e,children:t})}function Pe({isOpen:e,onClose:t,providerName:n,isPending:r,onConfirm:i}){let{t:a}=s(),[o,c]=(0,X.useState)(null),l=()=>{r||(c(null),t())};return(0,Z.jsx)(V,{description:a(`profile.linkedAccounts.unlinkModal.description`,{provider:n}),icon:Se,isOpen:e,onClose:l,preventClose:r,title:a(`profile.linkedAccounts.unlinkModal.title`),variant:`destructive`,children:(0,Z.jsxs)(`div`,{className:`mt-tinyrack-lg flex flex-col gap-tinyrack-md`,children:[(0,Z.jsx)($,{variant:`warning`,children:a(`profile.linkedAccounts.unlinkModal.warning`,{provider:n})}),o&&(0,Z.jsx)($,{variant:`error`,children:o}),(0,Z.jsxs)(B,{children:[(0,Z.jsx)(C,{appearance:`outline`,"data-testid":`unlink-oauth-cancel`,disabled:r,intent:`neutral`,onClick:l,type:`button`,uiSize:`sm`,children:a(`profile.linkedAccounts.unlinkModal.cancel`)}),(0,Z.jsx)(C,{"data-testid":`unlink-oauth-unlink`,disabled:r,intent:`danger`,loading:r,loadingLabel:a(`profile.linkedAccounts.unlinking`),onClick:async()=>{c(null);try{await i(),l()}catch(e){c(H(e,a,a(`profile.linkedAccounts.unlinkError`)))}},type:`button`,uiSize:`sm`,children:a(`profile.linkedAccounts.unlink`)})]})]})})}function Fe({label:e,value:t}){return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-tinyrack-lg px-tinyrack-lg py-tinyrack-md`,children:[(0,Z.jsx)(p,{className:`shrink-0`,color:`muted`,variant:`caption`,children:e}),(0,Z.jsx)(p,{truncate:!0,variant:`bodySm`,weight:`medium`,children:t})]})}function Ie({user:e}){let{t}=s();return(0,Z.jsxs)(w.Root,{variant:`outlined`,children:[(0,Z.jsxs)(w.Header,{className:`border-tinyrack-border border-b-tinyrack-default px-tinyrack-lg py-tinyrack-md`,children:[(0,Z.jsx)(w.Title,{children:t(`profile.account.title`)}),(0,Z.jsx)(w.Description,{children:t(`profile.account.description`)})]}),(0,Z.jsxs)(w.Content,{className:`divide-y divide-tinyrack-border p-0`,children:[(0,Z.jsx)(Fe,{label:t(`profile.id.label`),value:e.sub}),(0,Z.jsx)(Fe,{label:t(`profile.email.label`),value:e.email})]})]})}function Le({children:e,headerActions:t}){return(0,Z.jsxs)(`div`,{className:`flex min-h-dvh flex-col bg-tinyrack-surface`,children:[(0,Z.jsx)(y,{}),(0,Z.jsx)(x,{actions:t,brand:!0}),(0,Z.jsx)(`main`,{className:`flex flex-1 justify-center px-tinyrack-lg py-tinyrack-xl`,children:(0,Z.jsx)(`div`,{className:`auth-enter flex w-full max-w-tinyrack-overlay-width-md flex-col gap-tinyrack-xl`,children:e})}),(0,Z.jsx)(b,{})]})}var Re=g({mutationFn:async e=>{let t=await u.api.user.password.$post({json:e});return l(t)}}),ze=g({mutationFn:async e=>{let t=await u.api.user.password.$put({json:e});return l(t)}}),Be=g({mutationFn:async e=>{let t=await u.api.user.password.$delete({json:e});return l(t)}});function Ve({isOpen:e,onClose:t}){let{t:n}=s(),r=o(),{data:i}=f(N),a=i.auth.password.policy,l=(0,X.useMemo)(()=>K({currentPassword:q().min(1,n(`validation.password.required`)),newPassword:q().min(a.min_length,n(`validation.password.min`,{count:a.min_length})).max(a.max_length,n(`validation.password.max`,{count:a.max_length})),confirmPassword:q()}).refine(e=>e.newPassword===e.confirmPassword,{message:n(`validation.confirmPassword.mismatch`),path:[`confirmPassword`]}),[a.max_length,a.min_length,n]),u=U({resolver:W(l),defaultValues:{currentPassword:``,newPassword:``,confirmPassword:``}}),d=m({...ze,onSuccess:()=>{r.invalidateQueries({queryKey:Y.queryKey}),p(),J(`/login`)}}),p=()=>{u.reset(),t()},h=u.handleSubmit(async e=>{try{await d.mutateAsync({current_password:e.currentPassword,new_password:e.newPassword})}catch(e){e instanceof c&&e.code===`INVALID_CURRENT_PASSWORD`?u.setError(`currentPassword`,{message:n(`profile.password.changeModal.invalidCurrent`)}):u.setError(`root`,{message:H(e,n,n(`profile.password.changeModal.error`))})}});return(0,Z.jsx)(V,{description:n(`profile.password.changeModal.description`),icon:M,isOpen:e,onClose:p,title:n(`profile.password.changeModal.title`),children:(0,Z.jsxs)(G,{className:`mt-tinyrack-lg flex flex-col gap-tinyrack-md`,onSubmit:h,children:[(0,Z.jsx)(A,{error:u.formState.errors.currentPassword,errorTestId:`change-password-error-currentPassword`,id:`current-password`,label:n(`profile.password.changeModal.currentPassword`),placeholder:n(`profile.password.changeModal.currentPasswordPlaceholder`),...u.register(`currentPassword`),type:`password`}),(0,Z.jsx)(A,{error:u.formState.errors.newPassword,errorTestId:`change-password-error-newPassword`,id:`new-password-change`,label:n(`profile.password.changeModal.newPassword`),placeholder:n(`profile.password.changeModal.newPasswordPlaceholder`),...u.register(`newPassword`),type:`password`}),(0,Z.jsx)(A,{error:u.formState.errors.confirmPassword,errorTestId:`change-password-error-confirmPassword`,id:`confirm-password-change`,label:n(`profile.password.changeModal.confirmPassword`),placeholder:n(`profile.password.changeModal.confirmPasswordPlaceholder`),...u.register(`confirmPassword`),type:`password`}),u.formState.errors.root&&(0,Z.jsx)($,{variant:`error`,children:u.formState.errors.root.message}),(0,Z.jsxs)(B,{children:[(0,Z.jsx)(C,{appearance:`outline`,"data-testid":`change-password-cancel`,disabled:d.isPending,intent:`neutral`,onClick:p,type:`button`,uiSize:`sm`,children:n(`profile.password.changeModal.cancel`)}),(0,Z.jsx)(C,{"data-testid":`change-password-submit`,disabled:d.isPending,intent:`primary`,loading:d.isPending,loadingLabel:n(`profile.password.changeModal.submitting`),type:`submit`,uiSize:`sm`,children:d.isPending?void 0:n(`profile.password.changeModal.submit`)})]})]})})}var He=g({mutationFn:async()=>{let e=await u.api.user.$delete();return l(e)}});function Ue({isOpen:e,onClose:t,retentionDays:n}){let{t:i}=s(),a=r(),c=o(),l=(0,X.useMemo)(()=>K({confirmation:q().refine(e=>e.toLowerCase()===i(`profile.deleteAccount.modal.confirmPlaceholder`).toLowerCase(),{message:i(`validation.confirmText.mismatch`)})}),[i]),u=U({resolver:W(l),defaultValues:{confirmation:``}}),d=m({...He,onSuccess:async()=>{c.setQueryData(Y.queryKey,{user:null}),await le(),a(`/login`)}}),f=()=>{d.isPending||(u.reset(),t())},h=u.handleSubmit(async()=>{try{await d.mutateAsync()}catch{u.setError(`root`,{message:i(`profile.deleteAccount.error`)})}});return(0,Z.jsx)(V,{icon:L,isOpen:e,onClose:f,preventClose:d.isPending,title:i(`profile.deleteAccount.modal.title`),variant:`destructive`,children:(0,Z.jsxs)(G,{className:`mt-tinyrack-lg flex flex-col gap-tinyrack-md`,onSubmit:h,children:[(0,Z.jsxs)($,{variant:`error`,children:[(0,Z.jsx)(p,{as:`span`,variant:`bodySm`,children:i(`profile.deleteAccount.modal.description`,{days:n})}),(0,Z.jsx)(`br`,{}),(0,Z.jsx)(p,{as:`span`,className:`opacity-tinyrack-hover`,variant:`caption`,children:i(`profile.deleteAccount.modal.warning`)})]}),(0,Z.jsx)(A,{autoComplete:`off`,error:u.formState.errors.confirmation,errorTestId:`delete-account-error`,id:`delete-confirmation`,label:i(`profile.deleteAccount.modal.confirmLabel`),placeholder:i(`profile.deleteAccount.modal.confirmPlaceholder`),...u.register(`confirmation`),type:`text`}),u.formState.errors.root&&(0,Z.jsx)($,{variant:`error`,children:u.formState.errors.root.message}),(0,Z.jsxs)(B,{children:[(0,Z.jsx)(C,{appearance:`outline`,"data-testid":`delete-account-cancel`,disabled:d.isPending,intent:`neutral`,onClick:f,type:`button`,uiSize:`sm`,children:i(`profile.deleteAccount.modal.cancel`)}),(0,Z.jsx)(C,{"data-testid":`delete-account-submit`,disabled:d.isPending,intent:`danger`,loading:d.isPending,loadingLabel:i(`profile.deleteAccount.modal.confirming`),type:`submit`,uiSize:`sm`,children:d.isPending?void 0:i(`profile.deleteAccount.modal.confirm`)})]})]})})}function We({isOpen:e,onClose:t}){let{t:n}=s(),r=o(),i=(0,X.useMemo)(()=>K({code:q().length(6,n(`validation.totp.length`)).regex(/^\d{6}$/,n(`validation.totp.digits`))}),[n]),a=U({resolver:W(i),defaultValues:{code:``}}),l=m({...ue,onSuccess:()=>{r.invalidateQueries({queryKey:Y.queryKey}),u()}}),u=()=>{a.reset(),t()},d=a.handleSubmit(async e=>{try{await l.mutateAsync({code:e.code})}catch(e){if(e instanceof c&&e.code===`CANNOT_REMOVE_LAST_SECOND_FACTOR`){a.setError(`code`,{message:n(`profile.totp.disableModal.cannotRemoveLastSecondFactor`)});return}a.setError(`code`,{message:H(e,n,n(`profile.totp.disableModal.error`))})}});return(0,Z.jsx)(V,{description:n(`profile.totp.disableModal.description`),icon:I,isOpen:e,onClose:u,title:n(`profile.totp.disableModal.title`),variant:`destructive`,children:(0,Z.jsxs)(G,{className:`mt-tinyrack-lg flex flex-col gap-tinyrack-md`,onSubmit:d,children:[(0,Z.jsx)($,{variant:`warning`,children:n(`profile.totp.disableModal.warning`)}),(0,Z.jsx)(A,{autoComplete:`one-time-code`,error:a.formState.errors.code,errorTestId:`disable-totp-error`,id:`disable-totp-code`,inputMode:`numeric`,label:n(`profile.totp.disableModal.codeLabel`),maxLength:6,pattern:`[0-9]*`,placeholder:`000000`,...a.register(`code`),type:`text`}),(0,Z.jsxs)(B,{children:[(0,Z.jsx)(C,{appearance:`outline`,"data-testid":`disable-totp-cancel`,disabled:l.isPending,intent:`neutral`,onClick:u,type:`button`,uiSize:`sm`,children:n(`profile.totp.disableModal.cancel`)}),(0,Z.jsx)(C,{"data-testid":`disable-totp-submit`,disabled:l.isPending,intent:`danger`,loading:l.isPending,loadingLabel:n(`profile.totp.disableModal.disabling`),type:`submit`,uiSize:`sm`,children:l.isPending?void 0:n(`profile.totp.disableModal.disable`)})]})]})})}function Ge({isOpen:e,onClose:t,onAddNew:n}){let{t:r}=s(),i=o(),[a,l]=(0,X.useState)(null),[u,d]=(0,X.useState)(null),[f,g]=(0,X.useState)(null),[_,v]=(0,X.useState)(null),{data:y,isLoading:b}=h({...ge,enabled:e}),x=m({...he,onSuccess:()=>{i.invalidateQueries({queryKey:P.passkeys()}),i.invalidateQueries({queryKey:Y.queryKey})},onSettled:()=>{d(null)}}),w=(0,X.useCallback)(()=>{l(null),d(null),g(null),v(null),t()},[t]),T=e=>{g(e.id),v(null)},E=()=>{g(null),v(null)},D=async e=>{d(e.id),g(null);try{await x.mutateAsync({id:e.id})}catch(e){if(e instanceof c&&e.code===`CANNOT_REMOVE_LAST_SECOND_FACTOR`){v(r(`profile.passkey.manageModal.cannotRemoveLastSecondFactor`));return}v(H(e,r,r(`profile.passkey.manageModal.deleteError`)))}},ee=e=>new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`}),O=y?.passkeys||[];return(0,Z.jsxs)(V,{icon:j,isOpen:e,onClose:w,size:`lg`,title:r(`profile.passkey.manageModal.title`),children:[(0,Z.jsxs)(`div`,{className:`mt-tinyrack-lg flex flex-col gap-tinyrack-sm`,children:[_&&(0,Z.jsx)($,{variant:`error`,children:_}),b&&(0,Z.jsx)(`div`,{className:`flex justify-center py-tinyrack-xl`,children:(0,Z.jsx)(S,{uiSize:`md`})}),!b&&O.length===0&&(0,Z.jsx)(p,{align:`center`,className:`py-tinyrack-xl`,color:`muted`,"data-testid":`passkeys-empty`,variant:`bodySm`,children:r(`profile.passkey.manageModal.noPasskeys`)}),!b&&O.length>0&&(0,Z.jsx)(`div`,{className:`flex flex-col gap-tinyrack-sm`,children:O.map(e=>(0,Z.jsx)(Ke,{formatDate:ee,isConfirmingDelete:f===e.id,isDeleting:u===e.id,isEditing:a?.id===e.id,onCancelDelete:E,onCancelEdit:()=>l(null),onConfirmDelete:()=>D(e),onEdit:()=>l(e),onRequestDelete:()=>T(e),passkey:e},e.id))})]}),(0,Z.jsxs)(B,{children:[(0,Z.jsx)(C,{appearance:`outline`,"data-testid":`manage-passkeys-close`,intent:`neutral`,onClick:w,type:`button`,uiSize:`sm`,children:r(`profile.passkey.manageModal.close`)}),(0,Z.jsx)(C,{"data-testid":`manage-passkeys-add-new`,intent:`primary`,onClick:()=>{w(),n()},type:`button`,uiSize:`sm`,children:r(`profile.passkey.manageModal.addNew`)})]})]})}function Ke({passkey:e,isDeleting:t,isEditing:n,isConfirmingDelete:r,onEdit:i,onCancelEdit:a,onRequestDelete:c,onConfirmDelete:l,onCancelDelete:u,formatDate:d}){let{t:f}=s(),h=o(),g=(0,X.useMemo)(()=>K({name:q().min(1,f(`validation.passkey.name.required`)).max(100,f(`validation.passkey.name.max`))}),[f]),_=U({resolver:W(g),defaultValues:{name:e.name||``}}),v=m({...pe,onSuccess:()=>{h.invalidateQueries({queryKey:P.passkeys()}),a()}}),y=_.handleSubmit(async t=>{try{await v.mutateAsync({id:e.id,name:t.name})}catch{_.setError(`name`,{message:f(`profile.passkey.manageModal.renameError`)})}});return n?(0,Z.jsxs)(G,{className:`flex flex-col gap-tinyrack-xs rounded-tinyrack-md bg-tinyrack-surface-muted p-tinyrack-sm`,onSubmit:y,children:[(0,Z.jsx)(A,{"data-testid":`passkey-rename-input`,error:_.formState.errors.name,errorTestId:`passkey-rename-error`,hideLabel:!0,label:f(`profile.passkey.manageModal.nameLabel`),placeholder:f(`profile.passkey.manageModal.namePlaceholder`),..._.register(`name`),type:`text`}),(0,Z.jsxs)(`div`,{className:`flex justify-end gap-tinyrack-xs`,children:[(0,Z.jsx)(C,{appearance:`ghost`,disabled:v.isPending,onClick:()=>{_.reset(),a()},type:`button`,uiSize:`sm`,children:f(`profile.passkey.manageModal.cancelEdit`)}),(0,Z.jsx)(C,{disabled:v.isPending,intent:`primary`,type:`submit`,uiSize:`sm`,children:v.isPending?f(`profile.passkey.manageModal.saving`):f(`profile.passkey.manageModal.save`)})]})]}):r?(0,Z.jsxs)(`div`,{className:`flex items-center justify-between rounded-tinyrack-md border border-tinyrack-danger-border bg-tinyrack-danger-surface p-tinyrack-sm text-tinyrack-danger-foreground`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-tinyrack-sm`,children:[(0,Z.jsx)(L,{className:`size-tinyrack-lg`}),(0,Z.jsx)(p,{color:`danger`,variant:`caption`,children:f(`profile.passkey.manageModal.deleteConfirmInline`)})]}),(0,Z.jsxs)(`div`,{className:`flex gap-tinyrack-xs`,children:[(0,Z.jsx)(C,{appearance:`ghost`,onClick:u,type:`button`,uiSize:`sm`,children:f(`profile.passkey.manageModal.cancelEdit`)}),(0,Z.jsx)(C,{intent:`danger`,onClick:l,type:`button`,uiSize:`sm`,children:f(`profile.passkey.manageModal.delete`)})]})]}):(0,Z.jsxs)(`div`,{className:`flex items-center justify-between rounded-tinyrack-md bg-tinyrack-surface-muted p-tinyrack-sm`,"data-testid":`passkey-item`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-tinyrack-sm`,children:[e.device_type===`multiDevice`?(0,Z.jsx)(be,{className:`size-tinyrack-lg text-tinyrack-primary-foreground`}):(0,Z.jsx)(Ee,{className:`size-tinyrack-lg text-tinyrack-primary-foreground`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(p,{variant:`caption`,weight:`medium`,children:e.name||f(`profile.passkey.manageModal.unnamedPasskey`)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-tinyrack-xs`,children:[(0,Z.jsx)(p,{color:`muted`,variant:`caption`,children:f(`profile.passkey.manageModal.createdAt`,{date:d(e.created_at)})}),e.backed_up&&(0,Z.jsx)(fe,{uiSize:`md`,variant:`success`,children:f(`profile.passkey.manageModal.backedUp`)})]})]})]}),(0,Z.jsxs)(`div`,{className:`flex gap-tinyrack-xs`,children:[(0,Z.jsx)(C,{appearance:`ghost`,"aria-label":f(`profile.passkey.manageModal.rename`),onClick:i,type:`button`,uiSize:`sm`,children:(0,Z.jsx)(we,{className:`size-tinyrack-lg`})}),(0,Z.jsx)(C,{appearance:`ghost`,"aria-label":f(`profile.passkey.manageModal.delete`),disabled:t,intent:`danger`,loading:t,onClick:c,type:`button`,uiSize:`sm`,children:t?void 0:(0,Z.jsx)(L,{className:`size-tinyrack-lg`})})]})]})}function qe({isOpen:e,onClose:t}){let{t:n}=s(),i=r(),a=o(),{data:l}=f(N),[u,d]=(0,X.useState)(`verify`),[p,h]=(0,X.useState)(null),[g,_]=(0,X.useState)(null),v=m({...de,onSuccess:async e=>{h(e),d(`recovery`),await a.invalidateQueries({queryKey:Y.queryKey})}}),y=(0,X.useCallback)(()=>{d(`verify`),h(null),_(null),v.reset()},[v]),b=(0,X.useCallback)(()=>{y(),t()},[t,y]),x=(0,X.useCallback)(async e=>{_(null);try{await v.mutateAsync({code:e})}catch(e){if(e instanceof c){if(e.code===`INVALID_TOTP_CODE`)throw e;if(e.code===`UNAUTHORIZED`){a.setQueryData(Y.queryKey,{user:null}),await le(),i(`/login`);return}if(e.code===`TOTP_NOT_ENABLED`||e.code===`VALIDATION_ERROR`){await a.invalidateQueries({queryKey:Y.queryKey}),b();return}}_(H(e,n,n(`profile.totp.regenerateModal.unexpectedError`)))}},[b,v,i,a,n]);return l.auth.password.totp.enabled?(0,Z.jsx)(V,{description:n(u===`verify`?`profile.totp.regenerateModal.description`:`profile.totp.regenerateModal.recoveryDescription`),icon:I,isOpen:e,onClose:b,preventClose:u===`recovery`,size:`sm`,title:n(u===`verify`?`profile.totp.regenerateModal.title`:`profile.totp.regenerateModal.recoveryTitle`),children:u===`verify`?(0,Z.jsxs)(`div`,{className:`mt-tinyrack-lg`,children:[g&&(0,Z.jsx)(`div`,{className:`mb-tinyrack-md`,children:(0,Z.jsx)($,{variant:`error`,children:g})}),(0,Z.jsx)(O,{invalidMessage:n(`profile.totp.regenerateModal.error`),isPending:v.isPending,onSubmit:x,pendingText:n(`profile.totp.regenerateModal.submitting`),submitLabel:n(`profile.totp.regenerateModal.submit`)})]}):(0,Z.jsx)(`div`,{className:`mt-tinyrack-lg`,children:(0,Z.jsx)(D,{onConfirm:b,recoveryCodes:p?.recovery_codes??[]})})}):null}function Je({isOpen:e,onClose:t}){let{t:n}=s(),r=o(),i=(0,X.useMemo)(()=>K({currentPassword:q().min(1,n(`validation.password.required`))}),[n]),a=U({resolver:W(i),defaultValues:{currentPassword:``}}),l=m({...Be,onSuccess:()=>{r.invalidateQueries({queryKey:Y.queryKey}),u(),J(`/login`)}}),u=()=>{a.reset(),t()},d=a.handleSubmit(async e=>{try{await l.mutateAsync({current_password:e.currentPassword})}catch(e){if(e instanceof c){if(e.code===`INVALID_CURRENT_PASSWORD`){a.setError(`currentPassword`,{message:n(`profile.password.removeModal.invalidCurrent`)});return}if(e.code===`CANNOT_REMOVE_LAST_AUTH_METHOD`){a.setError(`root`,{message:n(`profile.password.removeModal.noOAuth`)});return}if(e.code===`CANNOT_REMOVE_PASSWORD_WITH_SECOND_FACTOR_ONLY`){a.setError(`root`,{message:n(`profile.password.removeModal.noOAuthWith2FA`)});return}}a.setError(`root`,{message:H(e,n,n(`profile.password.removeModal.error`))})}});return(0,Z.jsx)(V,{description:n(`profile.password.removeModal.description`),icon:M,isOpen:e,onClose:u,title:n(`profile.password.removeModal.title`),variant:`destructive`,children:(0,Z.jsxs)(G,{className:`mt-tinyrack-lg flex flex-col gap-tinyrack-md`,onSubmit:d,children:[(0,Z.jsx)(A,{error:a.formState.errors.currentPassword,errorTestId:`remove-password-error`,id:`current-password-remove`,label:n(`profile.password.removeModal.currentPassword`),placeholder:n(`profile.password.removeModal.currentPasswordPlaceholder`),...a.register(`currentPassword`),type:`password`}),a.formState.errors.root&&(0,Z.jsx)($,{variant:`error`,children:a.formState.errors.root.message}),(0,Z.jsxs)(B,{children:[(0,Z.jsx)(C,{appearance:`outline`,"data-testid":`remove-password-cancel`,disabled:l.isPending,intent:`neutral`,onClick:u,type:`button`,uiSize:`sm`,children:n(`profile.password.removeModal.cancel`)}),(0,Z.jsx)(C,{"data-testid":`remove-password-submit`,disabled:l.isPending,intent:`danger`,loading:l.isPending,loadingLabel:n(`profile.password.removeModal.submitting`),type:`submit`,uiSize:`sm`,children:l.isPending?void 0:n(`profile.password.removeModal.submit`)})]})]})})}function Ye({isOpen:e,onClose:t}){let{t:n}=s(),r=o(),{data:i}=f(N),a=i.auth.password.policy,c=(0,X.useMemo)(()=>K({password:q().min(a.min_length,n(`validation.password.min`,{count:a.min_length})).max(a.max_length,n(`validation.password.max`,{count:a.max_length})),confirmPassword:q()}).refine(e=>e.password===e.confirmPassword,{message:n(`validation.confirmPassword.mismatch`),path:[`confirmPassword`]}),[a.max_length,a.min_length,n]),l=U({resolver:W(c),defaultValues:{password:``,confirmPassword:``}}),u=m({...Re,onSuccess:()=>{r.invalidateQueries({queryKey:Y.queryKey}),d(),J(`/login`)}}),d=()=>{l.reset(),t()},p=l.handleSubmit(async e=>{try{await u.mutateAsync({password:e.password})}catch(e){l.setError(`root`,{message:H(e,n,n(`profile.password.setModal.error`))})}});return(0,Z.jsx)(V,{description:n(`profile.password.setModal.description`),icon:M,isOpen:e,onClose:d,title:n(`profile.password.setModal.title`),children:(0,Z.jsxs)(G,{className:`mt-tinyrack-lg flex flex-col gap-tinyrack-md`,onSubmit:p,children:[(0,Z.jsx)(A,{error:l.formState.errors.password,errorTestId:`set-password-error-password`,id:`new-password`,label:n(`profile.password.setModal.newPassword`),placeholder:n(`profile.password.setModal.newPasswordPlaceholder`),...l.register(`password`),type:`password`}),(0,Z.jsx)(A,{error:l.formState.errors.confirmPassword,errorTestId:`set-password-error-confirmPassword`,id:`confirm-password`,label:n(`profile.password.setModal.confirmPassword`),placeholder:n(`profile.password.setModal.confirmPasswordPlaceholder`),...l.register(`confirmPassword`),type:`password`}),l.formState.errors.root&&(0,Z.jsx)($,{variant:`error`,children:l.formState.errors.root.message}),(0,Z.jsxs)(B,{children:[(0,Z.jsx)(C,{appearance:`outline`,"data-testid":`set-password-cancel`,disabled:u.isPending,intent:`neutral`,onClick:d,type:`button`,uiSize:`sm`,children:n(`profile.password.setModal.cancel`)}),(0,Z.jsx)(C,{"data-testid":`set-password-submit`,disabled:u.isPending,intent:`primary`,loading:u.isPending,loadingLabel:n(`profile.password.setModal.submitting`),type:`submit`,uiSize:`sm`,children:u.isPending?void 0:n(`profile.password.setModal.submit`)})]})]})})}function Xe({isOpen:e,onClose:t,isRequired:n=!1,canSwitchToTotp:r=!1,onSwitchToTotp:i}){let{t:a}=s(),c=o(),[l,u]=(0,X.useState)(`name`),[d,f]=(0,X.useState)(null),h=(0,X.useMemo)(()=>K({name:q().max(100,a(`validation.passkey.name.max`)).optional().transform(e=>e?.trim()||void 0)}),[a]),g=U({resolver:W(h),defaultValues:{name:``}}),_=m({...me,onSuccess:()=>{c.invalidateQueries({queryKey:P.passkeys()}),c.invalidateQueries({queryKey:Y.queryKey}),v()},onError:e=>{u(`name`),e.name===`NotAllowedError`?f(a(`profile.passkey.setupModal.cancelled`)):f(H(e,a,a(`profile.passkey.setupModal.error`)))}}),v=(0,X.useCallback)(()=>{g.reset(),u(`name`),f(null),t()},[g,t]),y=g.handleSubmit(async e=>{u(`register`),f(null);try{await _.mutateAsync({name:e.name})}catch{}}),b=_.isPending;return(0,Z.jsxs)(V,{description:n?a(`profile.passkey.setupModal.requiredDescription`):void 0,icon:j,isOpen:e,onClose:v,preventClose:n,size:`sm`,title:a(`profile.passkey.setupModal.title`),children:[l===`name`&&(0,Z.jsxs)(G,{className:`mt-tinyrack-lg flex flex-col gap-tinyrack-md`,onSubmit:y,children:[(0,Z.jsx)(p,{as:`p`,color:`muted`,variant:`caption`,children:a(`profile.passkey.setupModal.description`)}),d&&(0,Z.jsx)($,{variant:`error`,children:d}),(0,Z.jsx)(A,{error:g.formState.errors.name,errorTestId:`setup-passkey-error`,hint:a(`profile.passkey.setupModal.nameHint`),id:`passkey-name`,label:a(`profile.passkey.setupModal.nameLabel`),placeholder:a(`profile.passkey.setupModal.namePlaceholder`),...g.register(`name`),type:`text`}),(0,Z.jsxs)(B,{children:[(0,Z.jsx)(C,{appearance:`outline`,"data-testid":`setup-passkey-cancel`,intent:`neutral`,onClick:v,type:`button`,uiSize:`sm`,children:a(`profile.passkey.setupModal.cancel`)}),(0,Z.jsx)(C,{"data-testid":`setup-passkey-continue`,intent:`primary`,type:`submit`,uiSize:`sm`,children:a(`profile.passkey.setupModal.continue`)})]}),r&&i&&(0,Z.jsx)(p,{align:`center`,as:`p`,className:`mt-tinyrack-sm`,variant:`caption`,children:(0,Z.jsx)(C,{appearance:`ghost`,intent:`primary`,onClick:i,type:`button`,uiSize:`sm`,children:a(`profile.passkey.setupModal.switchToTotp`)})})]}),l===`register`&&(0,Z.jsxs)(`div`,{className:`mt-tinyrack-lg`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-col items-center gap-tinyrack-md py-tinyrack-xl`,"data-testid":`setup-passkey-loading`,children:[(0,Z.jsx)(S,{uiSize:`md`}),(0,Z.jsx)(p,{align:`center`,as:`p`,color:`muted`,variant:`caption`,children:a(`profile.passkey.setupModal.waitingForDevice`)})]}),(0,Z.jsx)(B,{children:(0,Z.jsx)(C,{appearance:`outline`,"data-testid":`setup-passkey-cancel`,disabled:b,intent:`neutral`,onClick:v,type:`button`,uiSize:`sm`,children:a(`profile.passkey.setupModal.cancel`)})})]})]})}function Ze({isOpen:e,onClose:t,isRequired:n=!1,canSwitchToPasskey:r=!1,onSwitchToPasskey:i}){let{t:a}=s(),{step:o,setupData:c,setupError:l,recoveryCodes:u,isSetupPending:d,isVerifyPending:f,isConfirmPending:m,startSetup:h,verify:g,goToVerify:_,goToQr:v,confirmRecoveryCodes:y,reset:b}=k({autoStart:!1,onConfirmSuccess:()=>{b(),t()}}),x=(0,X.useCallback)(()=>{b(),t()},[t,b]),w=(0,X.useCallback)(()=>{!c&&!d&&h()},[c,d,h]);e&&!c&&!d&&o!==`error`&&w();let T=(0,X.useCallback)(async e=>{await g(e)},[g]),E=a(o===`recovery`?`setupTotp.recoveryCodes.title`:`profile.totp.setupModal.title`);return(0,Z.jsxs)(V,{description:n?a(`profile.totp.setupModal.requiredDescription`):void 0,icon:I,isOpen:e,onClose:x,preventClose:n||o===`recovery`,size:`sm`,title:E,children:[d&&(0,Z.jsx)(`div`,{className:`flex justify-center py-tinyrack-xl`,"data-testid":`setup-totp-loading`,children:(0,Z.jsx)(S,{uiSize:`md`})}),o===`error`&&(0,Z.jsxs)(`div`,{className:`mt-tinyrack-lg flex flex-col gap-tinyrack-md`,children:[(0,Z.jsx)($,{variant:`error`,children:H(l,a,a(`profile.totp.setupModal.setupError`))}),(0,Z.jsxs)(B,{children:[(0,Z.jsx)(C,{appearance:`outline`,intent:`neutral`,onClick:x,type:`button`,uiSize:`sm`,children:a(`profile.totp.setupModal.cancel`)}),(0,Z.jsx)(C,{intent:`primary`,onClick:h,type:`button`,uiSize:`sm`,children:a(`profile.totp.setupModal.retry`)})]})]}),c&&o===`qr`&&(0,Z.jsx)(`div`,{className:`mt-tinyrack-lg`,children:(0,Z.jsx)(ee,{additionalActions:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(B,{children:(0,Z.jsx)(C,{appearance:`outline`,intent:`neutral`,onClick:x,type:`button`,uiSize:`sm`,children:a(`profile.totp.setupModal.cancel`)})}),r&&i&&(0,Z.jsx)(p,{align:`center`,as:`p`,className:`mt-tinyrack-sm`,variant:`caption`,children:(0,Z.jsx)(C,{appearance:`ghost`,intent:`primary`,onClick:i,type:`button`,uiSize:`sm`,children:a(`profile.totp.setupModal.switchToPasskey`)})})]}),onNext:_,setupData:c})}),c&&o===`verify`&&(0,Z.jsx)(`div`,{className:`mt-tinyrack-lg`,children:(0,Z.jsx)(O,{isPending:f,onBack:v,onSubmit:T})}),o===`recovery`&&u.length>0&&(0,Z.jsx)(`div`,{className:`mt-tinyrack-lg`,children:(0,Z.jsx)(D,{isLoading:m,onConfirm:y,recoveryCodes:u})})]})}var Qe=(e=>d({queryKey:P.oauth.accounts(),queryFn:async()=>{let t=await e.api.user[`oauth-accounts`].$get();return l(t)}}))(u),$e=g({mutationFn:async e=>{let t=await u.api.oauth[`:provider`].$delete({param:{provider:e}});return l(t)}});function et(e,t=`login`,n){let r=new URLSearchParams({mode:t});return n&&r.set(`return_url`,n),`/api/oauth/${encodeURIComponent(e)}/authorize?${r.toString()}`}var tt={access_denied:`oauth.error.accessDenied`,temporarily_unavailable:`oauth.error.temporarilyUnavailable`,server_error:`oauth.error.serverError`};function nt(e){return(0,Z.jsx)(ce,{...e,onUnauthorized:()=>{J(`/login`)}})}function rt({search:e}){let{t}=s(),n=r(),i=o(),a=e.oauth_error,c=a?t(tt[a]??`oauth.error.failed`):void 0,[l,u]=(0,X.useState)(null),[d,h]=(0,X.useState)(null),[g,_]=(0,X.useState)(null),[v,y]=(0,X.useState)(null),[b,x]=(0,X.useState)(null),[S,E]=(0,X.useState)(!1),{data:D}=f(Y),{data:ee}=f(Qe),{data:O}=f(N),k=m({...ie,onSuccess:async()=>{i.setQueryData(Y.queryKey,{user:null}),await le(),n(`/login`)},onSettled:()=>{i.invalidateQueries({queryKey:Y.queryKey})}}),A=m({...$e,onSuccess:()=>{i.invalidateQueries({queryKey:Qe.queryKey})},onSettled:()=>{u(null)}}),j=async()=>{d&&(u(d.id),await A.mutateAsync(d.id))};if(!D.user)return null;let M=D.user,P=ee.available_providers,te=P.some(e=>e.linked),F=M.managed_by===`config`,ne=O.auth.password,I=O.auth.passkey,L=ne.totp.enabled,R=I.enabled,oe=O.account_deletion.enabled,B=O.account_deletion.retention,V=(()=>{let e=B.match(/^(\d+)([dmy])$/);if(!e)return 30;let t=parseInt(e[1],10);switch(e[2]){case`d`:return t;case`m`:return t*30;case`y`:return t*365;default:return 30}})(),H=!F&&L,ce=!F&&R,U=P.length>0;return(0,Z.jsxs)(Le,{headerActions:(0,Z.jsx)(C,{appearance:`ghost`,"aria-label":t(`profile.logout`),"data-testid":`profile-logout`,disabled:k.isPending,loading:k.isPending,onClick:()=>k.mutate(),type:`button`,uiSize:`sm`,children:k.isPending?void 0:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(re,{"aria-hidden":!0,className:`size-tinyrack-lg`}),(0,Z.jsx)(p,{as:`span`,className:`hidden sm:inline`,variant:`bodySm`,children:t(`profile.logout`)})]})}),children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-tinyrack-lg`,children:[(0,Z.jsx)(se,{email:M.email,size:`lg`}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-tinyrack-3xs`,children:[(0,Z.jsx)(ae,{title:t(`profile.title`)}),(0,Z.jsx)(p,{as:`p`,color:`muted`,"data-testid":`profile-user-email`,truncate:!0,variant:`bodySm`,children:M.email})]})]}),c&&(0,Z.jsx)(z,{icon:T,type:`error`,children:c}),M&&(0,Z.jsx)(Ie,{user:M}),(0,Z.jsxs)(w.Root,{variant:`outlined`,children:[(0,Z.jsxs)(w.Header,{className:`border-tinyrack-border border-b-tinyrack-default px-tinyrack-lg py-tinyrack-md`,children:[(0,Z.jsx)(w.Title,{children:t(`profile.security.title`)}),(0,Z.jsx)(w.Description,{children:t(`profile.security.description`)})]}),H&&M.totp_recovery_codes_missing&&(0,Z.jsx)(`div`,{className:`border-tinyrack-border border-b-tinyrack-default px-tinyrack-lg py-tinyrack-md`,"data-testid":`profile-totp-recovery-warning`,children:(0,Z.jsx)(z,{icon:T,type:`warning`,children:t(`profile.totp.recoveryCodesMissing`)})}),(0,Z.jsxs)(w.Content,{className:`divide-y divide-tinyrack-border p-0`,children:[(0,Z.jsx)(je,{hasOtherPrimaryMethod:te||R&&M.passkey_count>0,hasPassword:M.has_password,hasSecondFactorOnly:M.has_password&&!te&&!(R&&M.passkey_count>0)&&M.totp_registered,isConfigManaged:F,onOpenModal:_}),H&&(0,Z.jsx)(Me,{onOpenModal:y,recoveryCodesMissing:M.totp_recovery_codes_missing,totpEnabled:M.totp_registered}),ce&&(0,Z.jsx)(Ae,{onOpenModal:x,passkeyCount:M.passkey_count})]})]}),U&&(0,Z.jsx)(ke,{getAuthorizeUrl:et,onUnlinkRequest:e=>h({id:e.id,name:e.display_name}),providers:P,unlinkingProvider:l}),(0,Z.jsx)(De,{isConfigManaged:F,isDeletionEnabled:oe,onDeleteClick:()=>E(!0)}),(0,Z.jsx)(Ye,{isOpen:g===`set`,onClose:()=>_(null)}),(0,Z.jsx)(Ve,{isOpen:g===`change`,onClose:()=>_(null)}),(0,Z.jsx)(Je,{isOpen:g===`remove`,onClose:()=>_(null)}),(0,Z.jsx)(Ze,{isOpen:v===`setup`,onClose:()=>y(null)}),(0,Z.jsx)(We,{isOpen:v===`disable`,onClose:()=>y(null)}),(0,Z.jsx)(qe,{isOpen:v===`regenerate`,onClose:()=>y(null)}),(0,Z.jsx)(Xe,{isOpen:b===`setup`,onClose:()=>x(null)}),(0,Z.jsx)(Ge,{isOpen:b===`manage`,onAddNew:()=>x(`setup`),onClose:()=>x(null)}),(0,Z.jsx)(Pe,{isOpen:d!==null,isPending:A.isPending,onClose:()=>h(null),onConfirm:j,providerName:d?.name??``}),(0,Z.jsx)(Ue,{isOpen:S,onClose:()=>E(!1),retentionDays:V})]})}var it=i(function({error:e}){return(0,Z.jsx)(ve,{component:nt,error:e})}),at=n(function({loaderData:e}){return(0,Z.jsx)(_e,{state:e.dehydratedState,children:(0,Z.jsx)(rt,{search:e.search})})});export{it as ErrorBoundary,at as default};
|