@gahojin-inc/amplify-auth-hooks 2025.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +177 -0
- package/dist/authenticator/defaultAuthHubHandler.d.mts +3 -0
- package/dist/authenticator/types.d.mts +10 -0
- package/dist/authenticator.d.mts +1 -0
- package/dist/authenticator.mjs +3 -0
- package/dist/context/AuthenticatorContext.d.mts +9 -0
- package/dist/context/AuthenticatorProvider.d.mts +7 -0
- package/dist/context/index.d.mts +3 -0
- package/dist/context/types.d.mts +1 -0
- package/dist/defaultAuthHubHandler-DR9nH-fl.js +34 -0
- package/dist/defaultAuthHubHandler-DR9nH-fl.js.map +1 -0
- package/dist/hooks/facade.d.mts +6 -0
- package/dist/hooks/types.d.mts +29 -0
- package/dist/hooks/useAuth.d.mts +7 -0
- package/dist/hooks/useAuthenticator.d.mts +2 -0
- package/dist/hooks/utils.d.mts +87 -0
- package/dist/index.d.mts +6 -0
- package/dist/index.mjs +328 -0
- package/dist/index.mjs.map +1 -0
- package/dist/machines/actions.d.mts +24 -0
- package/dist/machines/defaultHandlers.d.mts +2 -0
- package/dist/machines/forgotPassword/actor.d.mts +1 -0
- package/dist/machines/guards.d.mts +22 -0
- package/dist/machines/signIn/actor.d.mts +1 -0
- package/dist/machines/signOut/actor.d.mts +1 -0
- package/dist/machines/signUp/actor.d.mts +1 -0
- package/dist/machines/types.d.mts +88 -0
- package/dist/machines/verifyUserAttributes/actor.d.mts +1 -0
- package/dist/machines-CRIehDHl.js +1372 -0
- package/dist/machines-CRIehDHl.js.map +1 -0
- package/dist/machines.d.mts +4 -0
- package/dist/machines.mjs +3 -0
- package/dist/utils.d.mts +1 -0
- package/package.json +74 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machines-CRIehDHl.js","names":["setShouldVerifyUserAttributeStep: Step","setConfirmAttributeCompleteStep: Step","setConfirmSignUpStep: Step","SIGN_IN_STEP_MFA_CONFIRMATION: Step[]","defaultHandlers: Handlers"],"sources":["../src/machines/actions.ts","../src/machines/guards.ts","../src/machines/signIn/actor.ts","../src/machines/defaultHandlers.ts","../src/machines/forgotPassword/actor.ts","../src/machines/signOut/actor.ts","../src/machines/signUp/actor.ts","../src/machines/verifyUserAttributes/actor.ts","../src/machines/index.ts"],"sourcesContent":["import type {\n CodeDeliveryDetails,\n FetchUserAttributesOutput,\n ResetPasswordOutput,\n SendUserAttributeVerificationCodeOutput,\n SignInOutput,\n SignUpOutput,\n UserAttributeKey,\n} from '@aws-amplify/auth'\nimport type { AuthVerifiableAttributeKey } from '@aws-amplify/core/internals/utils'\nimport type {\n AuthEvent,\n AuthEventData,\n AuthMFAType,\n AuthTOTPSetupDetails,\n ResetPasswordStep,\n SignInStep,\n SignUpStep,\n Step,\n UnverifiedUserAttributes,\n} from './types'\n\ntype ActionParams<Context = unknown> = {\n context: Context\n event: AuthEvent\n}\n\nconst setTotpSecretCode = ({ event }: ActionParams): string | undefined => {\n const { sharedSecret } = (event.output?.nextStep?.totpSetupDetails ?? {}) as AuthTOTPSetupDetails\n return sharedSecret\n}\n\nconst setAllowedMfaTypes = ({ event }: ActionParams): AuthMFAType[] | undefined => {\n return event.output?.nextStep?.allowedMFATypes as AuthMFAType[]\n}\n\nconst setSignInStep: Step = 'SIGN_IN'\n\nconst setShouldVerifyUserAttributeStep: Step = 'SHOULD_CONFIRM_USER_ATTRIBUTE'\n\nconst setConfirmAttributeCompleteStep: Step = 'CONFIRM_ATTRIBUTE_COMPLETE'\n\nconst setConfirmSignUpStep: Step = 'CONFIRM_SIGN_UP'\n\nconst setNextSignInStep = ({ event }: ActionParams): SignInStep => {\n const output = (event.output ?? {}) as SignInOutput\n return output.nextStep?.signInStep === 'DONE' ? 'SIGN_IN_COMPLETE' : output.nextStep?.signInStep\n}\n\nconst setNextSignUpStep = ({ event }: ActionParams): SignUpStep => {\n const output = (event.output ?? {}) as SignUpOutput\n return output.nextStep?.signUpStep === 'DONE' ? 'SIGN_UP_COMPLETE' : output.nextStep?.signUpStep\n}\n\nconst setNextResetPasswordStep = ({ event }: ActionParams): ResetPasswordStep => {\n const output = (event.output ?? {}) as ResetPasswordOutput\n return output.nextStep?.resetPasswordStep === 'DONE' ? 'RESET_PASSWORD_COMPLETE' : output.nextStep?.resetPasswordStep\n}\n\nconst setMissingAttributes = ({ event }: ActionParams): string | undefined => event.output?.nextStep?.missingAttributes\n\nconst setRemoteError = ({ event }: ActionParams): string => {\n const error = event.error\n if (error?.name === 'NoUserPoolError') {\n return 'Configuration error (see console) – please contact the administrator'\n }\n return error?.message || String(error)\n}\n\nconst setUsername = ({ event }: ActionParams): string | undefined => event.data?.username\n\nconst setUser = ({ event }: ActionParams): AuthEventData | undefined => event.output\n\nconst setCodeDeliveryDetails = ({ event }: ActionParams): CodeDeliveryDetails<UserAttributeKey> => {\n const output = event.output\n if (output?.nextStep?.codeDeliveryDetails) {\n return output?.nextStep?.codeDeliveryDetails\n }\n return output as CodeDeliveryDetails<UserAttributeKey>\n}\n\nconst setUnverifiedUserAttributes = ({ event }: ActionParams): UnverifiedUserAttributes => {\n const { email, phone_number } = event.output as FetchUserAttributesOutput\n\n const unverifiedUserAttributes = {\n ...(email && { email }),\n ...(phone_number && { phone_number }),\n }\n\n return unverifiedUserAttributes\n}\n\nconst setSelectedUserAttribute = ({ event }: ActionParams): AuthVerifiableAttributeKey | undefined => {\n const output = event?.output as SendUserAttributeVerificationCodeOutput\n return output?.attributeName\n}\n\nexport {\n setAllowedMfaTypes,\n setCodeDeliveryDetails,\n setMissingAttributes,\n setNextResetPasswordStep,\n setNextSignInStep,\n setNextSignUpStep,\n setRemoteError,\n setConfirmAttributeCompleteStep,\n setShouldVerifyUserAttributeStep,\n setSelectedUserAttribute,\n setSignInStep,\n setConfirmSignUpStep,\n setTotpSecretCode,\n setUsername,\n setUser,\n setUnverifiedUserAttributes,\n}\n","/*\n * Copyright 2017 - 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * (C) 2025 GAHOJIN, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\nimport type { FetchUserAttributesOutput, ResetPasswordOutput, SignInOutput, SignUpOutput } from '@aws-amplify/auth'\nimport type { AuthEvent, ResetPasswordContext, Step } from './types'\n\nconst SIGN_IN_STEP_MFA_CONFIRMATION: Step[] = ['CONFIRM_SIGN_IN_WITH_SMS_CODE', 'CONFIRM_SIGN_IN_WITH_TOTP_CODE', 'CONFIRM_SIGN_IN_WITH_EMAIL_CODE']\n\nexport const shouldConfirmSignInWithNewPassword = (event: AuthEvent): boolean => {\n const output = event.output as SignInOutput\n return output?.nextStep?.signInStep === 'CONFIRM_SIGN_IN_WITH_NEW_PASSWORD_REQUIRED'\n}\n\nexport const shouldResetPasswordFromSignIn = (event: AuthEvent): boolean => {\n const output = event.output as SignInOutput\n return output?.nextStep?.signInStep === 'RESET_PASSWORD'\n}\n\nexport const shouldConfirmSignUpFromSignIn = (event: AuthEvent): boolean => {\n const output = event.output as SignInOutput\n return output?.nextStep?.signInStep === 'CONFIRM_SIGN_UP'\n}\n\nexport const shouldAutoSignIn = (event: AuthEvent): boolean => {\n const output = event.output as SignUpOutput\n return output?.nextStep?.signUpStep === 'COMPLETE_AUTO_SIGN_IN'\n}\n\nexport const hasCompletedSignIn = (event: AuthEvent): boolean => {\n const output = event.output as SignInOutput\n return output?.nextStep?.signInStep === 'DONE'\n}\n\nexport const hasCompletedSignUp = (event: AuthEvent): boolean => {\n const output = event.output as SignUpOutput\n return output?.nextStep?.signUpStep === 'DONE'\n}\n\nexport const hasCompletedResetPassword = (event: AuthEvent): boolean => {\n const output = event.output as ResetPasswordOutput\n return output?.nextStep?.resetPasswordStep === 'DONE'\n}\n\nexport const hasCompletedAttributeConfirmation = (step: Step): boolean => {\n return step === 'CONFIRM_ATTRIBUTE_COMPLETE'\n}\n\nexport const isConfirmUserAttributeStep = (step: Step): boolean => {\n return step === 'CONFIRM_ATTRIBUTE_WITH_CODE'\n}\n\nexport const isShouldConfirmUserAttributeStep = (step: Step): boolean => {\n return step === 'SHOULD_CONFIRM_USER_ATTRIBUTE'\n}\n\nexport const isResetPasswordStep = (step: Step): boolean => {\n return step === 'RESET_PASSWORD'\n}\n\nexport const isConfirmSignUpStep = (step: Step): boolean => {\n return step === 'CONFIRM_SIGN_UP'\n}\n\nexport const isShouldConfirmSignInWithNewPassword = (step: Step): boolean => {\n return step === 'CONFIRM_SIGN_IN_WITH_NEW_PASSWORD_REQUIRED'\n}\n\nexport const shouldConfirmSignIn = (step: Step): boolean => {\n return SIGN_IN_STEP_MFA_CONFIRMATION.includes(step)\n}\n\nexport const shouldSetupTotp = (step: Step): boolean => {\n return step === 'CONTINUE_SIGN_IN_WITH_TOTP_SETUP'\n}\n\nexport const shouldSetupEmail = (step: Step): boolean => {\n return step === 'CONTINUE_SIGN_IN_WITH_EMAIL_SETUP'\n}\n\nexport const shouldSelectMfaType = (step: Step): boolean => {\n return ['CONTINUE_SIGN_IN_WITH_MFA_SELECTION', 'CONTINUE_SIGN_IN_WITH_MFA_SETUP_SELECTION'].includes(step)\n}\n\nexport const shouldResetPassword = (context: ResetPasswordContext, event: AuthEvent): boolean => {\n const step = event?.input?.step ?? context.step\n return step === 'RESET_PASSWORD'\n}\n\nexport const shouldConfirmResetPassword = (context: ResetPasswordContext, event: AuthEvent): boolean => {\n const step = event?.input?.step ?? context.step\n return step === 'CONFIRM_RESET_PASSWORD_WITH_CODE'\n}\n\nexport const shouldVerifyAttribute = (event: AuthEvent): boolean => {\n const { email, phone_number, phone_number_verified, email_verified } = (event.output ?? {}) as FetchUserAttributesOutput\n\n // if neither email nor phone_number exist\n // there is nothing to verify\n if (!email && !phone_number) {\n return false\n }\n\n // email/phone_verified is returned as a string\n const emailVerified = email_verified === 'true'\n const phoneVerified = phone_number_verified === 'true'\n\n // only request verification if both email and phone are not verified\n return !emailVerified && !phoneVerified\n}\n\nexport const isUserAlreadyConfirmed = (event: AuthEvent): boolean => {\n return event.error?.message === 'User is already confirmed.'\n}\n","import type {\n ConfirmSignInInput,\n ConfirmSignInOutput,\n ResendSignUpCodeInput,\n ResendSignUpCodeOutput,\n ResetPasswordInput,\n ResetPasswordOutput,\n SignInInput,\n SignInOutput,\n SignInWithRedirectInput,\n} from '@aws-amplify/auth'\nimport { assign, fromPromise, sendParent, setup } from 'xstate'\nimport {\n setAllowedMfaTypes,\n setCodeDeliveryDetails,\n setConfirmSignUpStep,\n setNextSignInStep,\n setRemoteError,\n setShouldVerifyUserAttributeStep,\n setTotpSecretCode,\n setUnverifiedUserAttributes,\n setUsername,\n} from '../actions'\nimport {\n hasCompletedSignIn,\n isShouldConfirmSignInWithNewPassword,\n shouldConfirmSignIn,\n shouldConfirmSignInWithNewPassword,\n shouldConfirmSignUpFromSignIn,\n shouldResetPasswordFromSignIn,\n shouldSelectMfaType,\n shouldSetupEmail,\n shouldSetupTotp,\n shouldVerifyAttribute,\n} from '../guards'\nimport type { AuthEvent, Handlers, SignInContext } from '../types'\n\ntype SignInHandlers = Pick<Handlers, 'confirmSignIn' | 'fetchUserAttributes' | 'resetPassword' | 'signIn' | 'signInWithRedirect' | 'resendSignUpCode'>\n\n/**\n * @internal\n */\nexport const signInActor = (handlers: SignInHandlers, overridesContext?: SignInContext) => {\n return setup({\n types: {\n context: {} as SignInContext,\n events: {} as AuthEvent,\n },\n guards: {\n shouldConfirmSignIn: ({ context: { step } }) => shouldConfirmSignIn(step),\n shouldSetupTotp: ({ context: { step } }) => shouldSetupTotp(step),\n shouldSetupEmail: ({ context: { step } }) => shouldSetupEmail(step),\n shouldSelectMfaType: ({ context: { step } }) => shouldSelectMfaType(step),\n shouldVerifyAttribute: ({ event }) => shouldVerifyAttribute(event),\n shouldConfirmSignInWithNewPassword: ({ event }) => shouldConfirmSignInWithNewPassword(event),\n shouldResetPasswordFromSignIn: ({ event }) => shouldResetPasswordFromSignIn(event),\n shouldConfirmSignUpFromSignIn: ({ event }) => shouldConfirmSignUpFromSignIn(event),\n hasCompletedSignIn: ({ event }) => hasCompletedSignIn(event),\n isShouldConfirmSignInWithNewPassword: ({ context: { step } }) => isShouldConfirmSignInWithNewPassword(step),\n },\n actors: {\n fetchUserAttributes: fromPromise(() => handlers.fetchUserAttributes()),\n resetPassword: fromPromise<ResetPasswordOutput, ResetPasswordInput>(({ input }) => handlers.resetPassword(input)),\n resendSignUpCode: fromPromise<ResendSignUpCodeOutput, ResendSignUpCodeInput>(({ input }) => handlers.resendSignUpCode(input)),\n signIn: fromPromise<SignInOutput, SignInInput>(({ input }) => handlers.signIn(input)),\n confirmSignIn: fromPromise<ConfirmSignInOutput, ConfirmSignInInput>(({ input }) => handlers.confirmSignIn(input)),\n signInWithRedirect: fromPromise<void, SignInWithRedirectInput>(({ input }) => handlers.signInWithRedirect(input)),\n },\n actions: {\n sendUpdate: sendParent({ type: 'CHILD_CHANGED' }),\n setShouldVerifyUserAttributeStep: assign({ step: setShouldVerifyUserAttributeStep }),\n setUnverifiedUserAttributes: assign({ unverifiedUserAttributes: setUnverifiedUserAttributes }),\n setCodeDeliveryDetails: assign({ codeDeliveryDetails: setCodeDeliveryDetails }),\n setConfirmAttributeCompleteStep: assign({ step: 'CONFIRM_ATTRIBUTE_COMPLETE' }),\n setTotpSecretCode: assign({ totpSecretCode: setTotpSecretCode }),\n setAllowedMfaTypes: assign({ allowedMfaTypes: setAllowedMfaTypes }),\n setNextSignInStep: assign({ step: setNextSignInStep }),\n setConfirmSignUpStep: assign({ step: setConfirmSignUpStep }),\n setActorDoneData: assign(({ event }) => {\n const output = event?.output ?? {}\n return {\n codeDeliveryDetails: output.codeDeliveryDetails,\n missingAttributes: output.missingAttributes,\n remoteError: output.remoteError,\n username: output.username,\n step: output.step,\n totpSecretCode: output.totpSecretCode,\n unverifiedUserAttributes: output.unverifiedUserAttributes,\n allowedMfaTypes: output.allowedMfaTypes,\n }\n }),\n setUsername: assign({ username: setUsername }),\n setRemoteError: assign({ remoteError: setRemoteError }),\n clearError: assign({ remoteError: undefined }),\n },\n }).createMachine({\n id: 'signInActor',\n context: ({ input }) => ({ step: 'SIGN_IN', ...overridesContext, ...input }),\n initial: 'init',\n states: {\n init: {\n always: [\n { guard: 'shouldConfirmSignIn', target: '#signInActor.confirmSignIn' },\n { guard: 'shouldSetupTotp', target: '#signInActor.setupTotp' },\n { guard: 'shouldSetupEmail', target: '#signInActor.setupEmail' },\n { guard: 'shouldSelectMfaType', target: '#signInActor.selectMfaType' },\n { guard: 'isShouldConfirmSignInWithNewPassword', actions: 'setActorDoneData', target: '#signInActor.forceChangePassword' },\n { target: '#signInActor.signIn' },\n ],\n },\n federatedSignIn: {\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'signInWithRedirect',\n input: ({ event }) => event.data as SignInWithRedirectInput,\n onDone: { target: '#signInActor.signIn' },\n onError: { actions: 'setRemoteError', target: '#signInActor.signIn' },\n },\n },\n fetchUserAttributes: {\n invoke: {\n src: 'fetchUserAttributes',\n onDone: [\n {\n guard: 'shouldVerifyAttribute',\n actions: ['setShouldVerifyUserAttributeStep', 'setUnverifiedUserAttributes'],\n target: '#signInActor.resolved',\n },\n { actions: 'setConfirmAttributeCompleteStep', target: '#signInActor.resolved' },\n ],\n onError: { actions: 'setConfirmAttributeCompleteStep', target: '#signInActor.resolved' },\n },\n },\n resendSignUpCode: {\n tags: 'pending',\n invoke: {\n src: 'resendSignUpCode',\n input: ({ context: { username }, event }) => ({ username, ...event.data }) as ResendSignUpCodeInput,\n onDone: { actions: 'setCodeDeliveryDetails', target: '#signInActor.resolved' },\n onError: { actions: 'setRemoteError', target: '#signInActor.signIn' },\n },\n },\n resetPassword: {\n invoke: {\n src: 'resetPassword',\n input: ({ context: { username }, event }) => ({ username, ...event.data }) as ResetPasswordInput,\n onDone: { actions: 'setCodeDeliveryDetails', target: '#signInActor.resolved' },\n onError: { actions: ['setRemoteError', 'sendUpdate'] },\n },\n },\n signIn: {\n initial: 'idle',\n states: {\n idle: {\n entry: 'sendUpdate',\n on: {\n FEDERATED_SIGN_IN: { target: '#signInActor.federatedSignIn' },\n SUBMIT: { target: 'submit' },\n },\n },\n submit: {\n tags: 'pending',\n entry: ['sendUpdate', 'setUsername', 'clearError'],\n invoke: {\n src: 'signIn',\n input: ({ event }) => event.data as SignInInput,\n onDone: [\n { guard: 'hasCompletedSignIn', actions: 'setNextSignInStep', target: '#signInActor.fetchUserAttributes' },\n { guard: 'shouldConfirmSignInWithNewPassword', actions: 'setNextSignInStep', target: '#signInActor.forceChangePassword' },\n { guard: 'shouldResetPasswordFromSignIn', actions: 'setNextSignInStep', target: '#signInActor.resetPassword' },\n { guard: 'shouldConfirmSignUpFromSignIn', actions: 'setNextSignInStep', target: '#signInActor.resendSignUpCode' },\n { actions: ['setNextSignInStep', 'setTotpSecretCode', 'setAllowedMfaTypes'], target: '#signInActor.init' },\n ],\n onError: [\n { guard: 'shouldConfirmSignUpFromSignIn', actions: 'setConfirmSignUpStep', target: '#signInActor.resendSignUpCode' },\n { actions: 'setRemoteError', target: 'idle' },\n ],\n },\n },\n },\n },\n confirmSignIn: {\n initial: 'idle',\n exit: 'clearError',\n states: {\n idle: {\n entry: 'sendUpdate',\n on: {\n SUBMIT: { target: 'submit' },\n SIGN_IN: { target: '#signInActor.signIn' },\n },\n },\n submit: {\n tags: 'pending',\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'confirmSignIn',\n input: ({ event }) => event.data as ConfirmSignInInput,\n onDone: [\n { guard: 'hasCompletedSignIn', actions: 'setNextSignInStep', target: '#signInActor.fetchUserAttributes' },\n { guard: 'shouldConfirmSignInWithNewPassword', actions: 'setNextSignInStep', target: '#signInActor.forceChangePassword' },\n { guard: 'shouldResetPasswordFromSignIn', actions: 'setNextSignInStep', target: '#signInActor.resetPassword' },\n { guard: 'shouldConfirmSignUpFromSignIn', actions: 'setNextSignInStep', target: '#signInActor.resendSignUpCode' },\n { actions: ['setNextSignInStep', 'setTotpSecretCode', 'setAllowedMfaTypes'], target: '#signInActor.init' },\n ],\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n },\n },\n forceChangePassword: {\n initial: 'idle',\n entry: 'clearError',\n exit: 'clearError',\n states: {\n idle: {\n entry: 'sendUpdate',\n on: { SUBMIT: { target: 'submit' } },\n },\n submit: {\n tags: 'pending',\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'confirmSignIn',\n input: ({ event }) => event.data as ConfirmSignInInput,\n onDone: [\n { guard: 'hasCompletedSignIn', actions: 'setNextSignInStep', target: '#signInActor.fetchUserAttributes' },\n { guard: 'shouldConfirmSignInWithNewPassword', actions: 'setNextSignInStep', target: '#signInActor.forceChangePassword' },\n { guard: 'shouldResetPasswordFromSignIn', actions: 'setNextSignInStep', target: '#signInActor.resetPassword' },\n { guard: 'shouldConfirmSignUpFromSignIn', actions: 'setNextSignInStep', target: '#signInActor.resendSignUpCode' },\n { actions: ['setNextSignInStep', 'setTotpSecretCode', 'setAllowedMfaTypes'], target: '#signInActor.init' },\n ],\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n },\n },\n setupTotp: {\n initial: 'idle',\n exit: 'clearError',\n states: {\n idle: {\n entry: 'sendUpdate',\n on: {\n SUBMIT: { target: 'submit' },\n SIGN_IN: { target: '#signInActor.signIn' },\n },\n },\n submit: {\n tags: 'pending',\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'confirmSignIn',\n input: ({ event }) => event.data as ConfirmSignInInput,\n onDone: [\n { guard: 'hasCompletedSignIn', actions: 'setNextSignInStep', target: '#signInActor.fetchUserAttributes' },\n { guard: 'shouldConfirmSignInWithNewPassword', actions: 'setNextSignInStep', target: '#signInActor.forceChangePassword' },\n { guard: 'shouldResetPasswordFromSignIn', actions: 'setNextSignInStep', target: '#signInActor.resetPassword' },\n { guard: 'shouldConfirmSignUpFromSignIn', actions: 'setNextSignInStep', target: '#signInActor.resendSignUpCode' },\n { actions: ['setNextSignInStep', 'setTotpSecretCode', 'setAllowedMfaTypes'], target: '#signInActor.init' },\n ],\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n },\n },\n setupEmail: {\n initial: 'idle',\n exit: 'clearError',\n states: {\n idle: {\n entry: 'sendUpdate',\n on: {\n SUBMIT: { target: 'submit' },\n SIGN_IN: { target: '#signInActor.signIn' },\n },\n },\n submit: {\n tags: 'pending',\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'confirmSignIn',\n input: ({ event }) => event.data as ConfirmSignInInput,\n onDone: [\n { guard: 'hasCompletedSignIn', actions: 'setNextSignInStep', target: '#signInActor.fetchUserAttributes' },\n { guard: 'shouldConfirmSignInWithNewPassword', actions: 'setNextSignInStep', target: '#signInActor.forceChangePassword' },\n { guard: 'shouldResetPasswordFromSignIn', actions: 'setNextSignInStep', target: '#signInActor.resetPassword' },\n { guard: 'shouldConfirmSignUpFromSignIn', actions: 'setNextSignInStep', target: '#signInActor.resendSignUpCode' },\n { actions: ['setNextSignInStep', 'setTotpSecretCode', 'setAllowedMfaTypes'], target: '#signInActor.init' },\n ],\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n },\n },\n selectMfaType: {\n initial: 'idle',\n exit: 'clearError',\n states: {\n idle: {\n entry: 'sendUpdate',\n on: {\n SUBMIT: { target: 'submit' },\n SIGN_IN: { target: '#signInActor.signIn' },\n },\n },\n submit: {\n tags: 'pending',\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'confirmSignIn',\n input: ({ event }) => event.data as ConfirmSignInInput,\n onDone: [\n { guard: 'hasCompletedSignIn', actions: 'setNextSignInStep', target: '#signInActor.fetchUserAttributes' },\n { guard: 'shouldConfirmSignInWithNewPassword', actions: 'setNextSignInStep', target: '#signInActor.forceChangePassword' },\n { guard: 'shouldResetPasswordFromSignIn', actions: 'setNextSignInStep', target: '#signInActor.resetPassword' },\n { guard: 'shouldConfirmSignUpFromSignIn', actions: 'setNextSignInStep', target: '#signInActor.resendSignUpCode' },\n { actions: ['setNextSignInStep', 'setTotpSecretCode', 'setAllowedMfaTypes'], target: '#signInActor.init' },\n ],\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n },\n },\n resolved: { type: 'final' },\n },\n output: ({ context }) => context,\n })\n}\n","import {\n autoSignIn,\n confirmResetPassword,\n confirmSignIn,\n confirmSignUp,\n confirmUserAttribute,\n fetchUserAttributes,\n getCurrentUser,\n resendSignUpCode,\n resetPassword,\n sendUserAttributeVerificationCode,\n signIn,\n signInWithRedirect,\n signOut,\n signUp,\n} from '@aws-amplify/auth'\nimport type { Handlers } from './types'\n\nexport const defaultHandlers: Handlers = {\n getCurrentUser,\n fetchUserAttributes,\n signIn,\n signInWithRedirect,\n signUp,\n signOut,\n autoSignIn,\n confirmSignIn,\n confirmSignUp,\n confirmResetPassword,\n confirmUserAttribute,\n resetPassword,\n resendSignUpCode,\n sendUserAttributeVerificationCode,\n}\n","import type { ConfirmResetPasswordInput, ResetPasswordInput, ResetPasswordOutput } from '@aws-amplify/auth'\nimport { assign, fromPromise, sendParent, setup } from 'xstate'\nimport { setCodeDeliveryDetails, setNextResetPasswordStep, setNextSignInStep, setRemoteError, setUsername } from '../actions'\nimport { hasCompletedResetPassword, shouldConfirmResetPassword, shouldResetPassword } from '../guards'\nimport type { AuthEvent, Handlers, ResetPasswordContext } from '../types'\n\ntype ForgotPasswordHandlers = Pick<Handlers, 'resetPassword' | 'confirmResetPassword'>\n\n/**\n * @internal\n */\nexport const forgotPasswordActor = (handlers: ForgotPasswordHandlers, overridesContext?: ResetPasswordContext) => {\n return setup({\n types: {\n context: {} as ResetPasswordContext,\n events: {} as AuthEvent,\n },\n guards: {\n shouldResetPassword: ({ context, event }) => shouldResetPassword(context, event),\n shouldConfirmResetPassword: ({ context, event }) => shouldConfirmResetPassword(context, event),\n hasCompletedResetPassword: ({ event }) => hasCompletedResetPassword(event),\n },\n actors: {\n resetPassword: fromPromise<ResetPasswordOutput, ResetPasswordInput>(({ input }) => handlers.resetPassword(input)),\n confirmResetPassword: fromPromise<void, ConfirmResetPasswordInput>(({ input }) => handlers.confirmResetPassword(input)),\n },\n actions: {\n sendUpdate: sendParent({ type: 'CHILD_CHANGED' }),\n setCodeDeliveryDetails: assign({ codeDeliveryDetails: setCodeDeliveryDetails }),\n setNextResetPasswordStep: assign({ step: setNextResetPasswordStep }),\n setSignInStep: assign({ step: setNextSignInStep }),\n setUsername: assign({ username: setUsername }),\n setRemoteError: assign({ remoteError: setRemoteError }),\n clearError: assign({ remoteError: undefined }),\n },\n }).createMachine({\n id: 'forgotPasswordActor',\n initial: 'init',\n context: ({ input }) => ({ step: 'FORGOT_PASSWORD', ...overridesContext, ...input }),\n states: {\n init: {\n always: [\n { guard: 'shouldResetPassword', target: '#forgotPasswordActor.confirmResetPassword' },\n { guard: 'shouldConfirmResetPassword', target: '#forgotPasswordActor.confirmResetPassword' },\n { target: '#forgotPasswordActor.forgotPassword' },\n ],\n },\n forgotPassword: {\n initial: 'idle',\n exit: 'clearError',\n states: {\n idle: {\n entry: 'sendUpdate',\n on: {\n SUBMIT: { target: 'submit' },\n },\n },\n submit: {\n tags: 'pending',\n entry: ['sendUpdate', 'setUsername', 'clearError'],\n invoke: {\n src: 'resetPassword',\n input: ({ context: { username } }) => ({ username }) as ResetPasswordInput,\n onDone: [{ actions: ['setCodeDeliveryDetails', 'setNextResetPasswordStep'], target: '#forgotPasswordActor.confirmResetPassword' }],\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n },\n },\n confirmResetPassword: {\n initial: 'idle',\n exit: 'clearError',\n states: {\n idle: {\n entry: 'sendUpdate',\n on: {\n SUBMIT: { target: 'submit' },\n RESEND: { target: 'resendCode' },\n },\n },\n resendCode: {\n tags: 'pending',\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'resetPassword',\n input: ({ context: { username } }) => ({ username }) as ResetPasswordInput,\n onDone: { target: 'idle' },\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n submit: {\n tags: 'pending',\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'confirmResetPassword',\n input: ({ context, event }) => ({ username: context.username, ...event.data }) as ConfirmResetPasswordInput,\n onDone: [\n { guard: 'hasCompletedResetPassword', actions: 'setNextResetPasswordStep', target: '#forgotPasswordActor.resolved' },\n { actions: 'setSignInStep', target: '#forgotPasswordActor.resolved' },\n ],\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n },\n },\n resolved: { type: 'final' },\n },\n output: ({ context }) => context,\n })\n}\n","import { fromPromise, setup } from 'xstate'\nimport type { Handlers, SignOutContext } from '../types'\n\ntype SignOutHandlers = Pick<Handlers, 'signOut'>\n\n/**\n * @internal\n */\nexport const signOutActor = (handlers: SignOutHandlers) => {\n return setup({\n types: {\n context: {} as SignOutContext,\n },\n actors: {\n signOut: fromPromise(() => handlers.signOut()),\n },\n }).createMachine({\n id: 'signOutActor',\n initial: 'pending',\n context: {},\n states: {\n pending: {\n tags: 'pending',\n invoke: {\n src: 'signOut',\n onDone: 'resolved',\n onError: 'rejected',\n },\n },\n resolved: { type: 'final' },\n rejected: { type: 'final' },\n },\n output: ({ context }) => context,\n })\n}\n","import type {\n ConfirmSignUpInput,\n ConfirmSignUpOutput,\n ResendSignUpCodeInput,\n ResendSignUpCodeOutput,\n ResetPasswordInput,\n ResetPasswordOutput,\n SignInWithRedirectInput,\n SignUpInput,\n SignUpOutput,\n} from '@aws-amplify/auth'\nimport { assign, fromPromise, sendParent, setup } from 'xstate'\nimport { setCodeDeliveryDetails, setNextSignUpStep, setRemoteError, setUnverifiedUserAttributes, setUsername } from '../actions'\nimport {\n hasCompletedSignIn,\n hasCompletedSignUp,\n isUserAlreadyConfirmed,\n shouldAutoSignIn,\n shouldConfirmSignInWithNewPassword,\n shouldConfirmSignUpFromSignIn,\n shouldResetPasswordFromSignIn,\n shouldVerifyAttribute,\n} from '../guards'\nimport type { AuthEvent, Handlers, SignUpContext } from '../types'\n\ntype SignUpHandlers = Pick<\n Handlers,\n 'autoSignIn' | 'confirmSignUp' | 'signInWithRedirect' | 'signUp' | 'resetPassword' | 'resendSignUpCode' | 'fetchUserAttributes'\n>\n\n/**\n * @internal\n */\nexport const signUpActor = (handlers: SignUpHandlers, overridesContext?: SignUpContext) => {\n return setup({\n types: {\n context: {} as SignUpContext,\n events: {} as AuthEvent,\n },\n guards: {\n hasCompletedSignIn: ({ event }) => hasCompletedSignIn(event),\n hasCompletedSignUp: ({ event }) => hasCompletedSignUp(event),\n isUserAlreadyConfirmed: ({ event }) => isUserAlreadyConfirmed(event),\n shouldAutoSignIn: ({ event }) => shouldAutoSignIn(event),\n shouldConfirmSignInWithNewPassword: ({ event }) => shouldConfirmSignInWithNewPassword(event),\n shouldConfirmSignUp: ({ context: { step } }) => step === 'CONFIRM_SIGN_UP',\n shouldConfirmSignUpFromSignIn: ({ event }) => shouldConfirmSignUpFromSignIn(event),\n shouldResetPasswordFromSignIn: ({ event }) => shouldResetPasswordFromSignIn(event),\n shouldVerifyAttribute: ({ event }) => shouldVerifyAttribute(event),\n },\n actors: {\n autoSignIn: fromPromise(() => handlers.autoSignIn()),\n confirmSignUp: fromPromise<ConfirmSignUpOutput, ConfirmSignUpInput>(({ input }) => handlers.confirmSignUp(input)),\n fetchUserAttributes: fromPromise(() => handlers.fetchUserAttributes()),\n resetPassword: fromPromise<ResetPasswordOutput, ResetPasswordInput>(({ input }) => handlers.resetPassword(input)),\n resendSignUpCode: fromPromise<ResendSignUpCodeOutput, ResendSignUpCodeInput>(({ input }) => handlers.resendSignUpCode(input)),\n signUp: fromPromise<SignUpOutput, SignUpInput>(({ input }) => handlers.signUp(input)),\n signInWithRedirect: fromPromise<void, SignInWithRedirectInput>(({ input }) => handlers.signInWithRedirect(input)),\n },\n actions: {\n sendUpdate: sendParent({ type: 'CHILD_CHANGED' }),\n setShouldVerifyUserAttributeStep: assign({ unverifiedUserAttributes: setUnverifiedUserAttributes }),\n setConfirmAttributeCompleteStep: assign({ step: 'CONFIRM_ATTRIBUTE_COMPLETE' }),\n setCodeDeliveryDetails: assign({ codeDeliveryDetails: setCodeDeliveryDetails }),\n setNextSignUpStep: assign({ step: setNextSignUpStep }),\n setUsername: assign({ username: setUsername }),\n setRemoteError: assign({ remoteError: setRemoteError }),\n clearError: assign({ remoteError: undefined }),\n },\n }).createMachine({\n id: 'signUpActor',\n initial: 'init',\n context: ({ input }) => ({ step: 'SIGN_UP', ...overridesContext, ...input }),\n states: {\n init: {\n always: [{ guard: 'shouldConfirmSignUp', target: 'confirmSignUp' }, { target: '#signUpActor.signUp' }],\n },\n autoSignIn: {\n tags: 'pending',\n invoke: {\n src: 'autoSignIn',\n onDone: [\n { guard: 'hasCompletedSignIn', target: '#signUpActor.fetchUserAttributes' },\n { guard: 'shouldConfirmSignInWithNewPassword', target: '#signUpActor.resolved' },\n { guard: 'shouldResetPasswordFromSignIn', target: '#signUpActor.resetPassword' },\n { guard: 'shouldConfirmSignUpFromSignIn', target: '#signUpActor.resendSignUpCode' },\n { target: '#signUpActor.resolved' },\n ],\n onError: { target: '#signUpActor.resolved' },\n },\n },\n fetchUserAttributes: {\n invoke: {\n src: 'fetchUserAttributes',\n onDone: [\n {\n guard: 'shouldVerifyAttribute',\n actions: ['setShouldVerifyUserAttributeStep', 'setConfirmAttributeCompleteStep'],\n target: '#signUpActor.resolved',\n },\n { actions: 'setConfirmAttributeCompleteStep', target: '#signUpActor.resolved' },\n ],\n onError: { actions: 'setConfirmAttributeCompleteStep', target: '#signUpActor.resolved' },\n },\n },\n federatedSignIn: {\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'signInWithRedirect',\n input: ({ event }) => event.data as SignInWithRedirectInput,\n onDone: 'signUp',\n onError: { actions: 'setRemoteError', target: '#signUpActor.signUp' },\n },\n },\n resetPassword: {\n invoke: {\n src: 'resetPassword',\n input: ({ event }) => event.data as ResetPasswordInput,\n onDone: { actions: 'setCodeDeliveryDetails', target: '#signUpActor.resolved' },\n onError: { actions: 'setRemoteError' },\n },\n },\n resendSignUpCode: {\n tags: 'pending',\n entry: 'sendUpdate',\n exit: 'sendUpdate',\n invoke: {\n src: 'resendSignUpCode',\n input: ({ context: { username }, event }) => ({ username, ...event.data }) as ResendSignUpCodeInput,\n onDone: { actions: 'setCodeDeliveryDetails', target: '#signUpActor.confirmSignUp' },\n onError: [{ guard: 'isUserAlreadyConfirmed', target: '#signUpActor.resolved' }, { actions: 'setRemoteError' }],\n },\n },\n signUp: {\n initial: 'idle',\n exit: 'clearError',\n on: {\n FEDERATED_SIGN_IN: { target: '#signUpActor.federatedSignIn' },\n },\n states: {\n idle: {\n entry: 'sendUpdate',\n on: {\n SUBMIT: { target: 'submit' },\n },\n },\n submit: {\n tags: 'pending',\n entry: ['sendUpdate', 'setUsername', 'clearError'],\n invoke: {\n src: 'signUp',\n input: ({ event }) => event.data as SignUpInput,\n onDone: [\n { guard: 'hasCompletedSignUp', actions: 'setNextSignUpStep', target: '#signUpActor.resolved' },\n { guard: 'shouldAutoSignIn', actions: 'setNextSignUpStep', target: '#signUpActor.autoSignIn' },\n { actions: ['setCodeDeliveryDetails', 'setNextSignUpStep'], target: '#signUpActor.init' },\n ],\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n },\n },\n confirmSignUp: {\n initial: 'idle',\n exit: 'clearError',\n states: {\n idle: {\n entry: 'sendUpdate',\n on: {\n SUBMIT: { target: 'submit' },\n RESEND: { target: '#signUpActor.resendSignUpCode' },\n },\n },\n submit: {\n tags: 'pending',\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'confirmSignUp',\n input: ({ context: { username }, event }) => ({ username, ...event.data }) as ConfirmSignUpInput,\n onDone: [\n { guard: 'hasCompletedSignUp', actions: 'setNextSignUpStep', target: '#signUpActor.resolved' },\n { guard: 'shouldAutoSignIn', actions: 'setNextSignUpStep', target: '#signUpActor.autoSignIn' },\n { actions: 'setNextSignUpStep', target: '#signUpActor.init' },\n ],\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n },\n },\n resolved: { type: 'final' },\n },\n output: ({ context }) => context,\n })\n}\n","import type { ConfirmUserAttributeInput, SendUserAttributeVerificationCodeInput, SendUserAttributeVerificationCodeOutput } from '@aws-amplify/auth'\nimport { assign, fromPromise, sendParent, setup } from 'xstate'\nimport { setCodeDeliveryDetails, setConfirmAttributeCompleteStep, setRemoteError, setSelectedUserAttribute } from '../actions'\nimport type { AuthEvent, Handlers, VerifyUserContext } from '../types'\n\ntype VerifyUserAttributesHandlers = Pick<Handlers, 'sendUserAttributeVerificationCode' | 'confirmUserAttribute'>\n\n/**\n * @internal\n */\nexport const verifyUserAttributesActor = (handlers: VerifyUserAttributesHandlers, overridesContext?: VerifyUserContext) => {\n return setup({\n types: {\n context: {} as VerifyUserContext,\n events: {} as AuthEvent,\n },\n guards: {},\n actors: {\n sendUserAttributeVerificationCode: fromPromise<SendUserAttributeVerificationCodeOutput, SendUserAttributeVerificationCodeInput>(({ input }) =>\n handlers.sendUserAttributeVerificationCode(input),\n ),\n confirmVerifyUserAttribute: fromPromise<void, ConfirmUserAttributeInput>(({ input }) => handlers.confirmUserAttribute(input)),\n },\n actions: {\n sendUpdate: sendParent({ type: 'CHILD_CHANGED' }),\n setCodeDeliveryDetails: assign({ codeDeliveryDetails: setCodeDeliveryDetails }),\n setSelectedUserAttribute: assign({ selectedUserAttribute: setSelectedUserAttribute }),\n setConfirmAttributeCompleteStep: assign({ step: setConfirmAttributeCompleteStep }),\n setRemoteError: assign({ remoteError: setRemoteError }),\n clearError: assign({ remoteError: undefined }),\n clearSelectedUserAttribute: assign({ selectedUserAttribute: undefined }),\n },\n }).createMachine({\n id: 'vefiryUserAttributesActor',\n initial: 'selectUserAttributes',\n context: ({ input }) => ({ step: 'SIGN_IN', ...overridesContext, ...input }),\n states: {\n selectUserAttributes: {\n initial: 'idle',\n exit: 'clearError',\n states: {\n idle: {\n entry: 'sendUpdate',\n on: {\n SKIP: { target: '#vefiryUserAttributesActor.resolved' },\n SUBMIT: { target: 'submit' },\n },\n },\n submit: {\n tags: 'pending',\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'sendUserAttributeVerificationCode',\n input: ({ event }) => event.data as SendUserAttributeVerificationCodeInput,\n onDone: {\n actions: ['setSelectedUserAttribute', 'setCodeDeliveryDetails'],\n target: '#vefiryUserAttributesActor.confirmVerifyUserAttribute',\n },\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n },\n },\n confirmVerifyUserAttribute: {\n initial: 'idle',\n exit: 'clearError',\n states: {\n idle: {\n entry: 'sendUpdate',\n on: {\n SUBMIT: { target: 'submit' },\n RESEND: { target: 'resendCode' },\n SKIP: { target: '#vefiryUserAttributesActor.resolved' },\n },\n },\n resendCode: {\n tags: 'pending',\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'sendUserAttributeVerificationCode',\n input: ({ context, event }) =>\n ({ userAttributeKey: context.selectedUserAttribute, ...event.data }) as SendUserAttributeVerificationCodeInput,\n onDone: { target: 'idle' },\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n submit: {\n tags: 'pending',\n entry: ['sendUpdate', 'clearError'],\n invoke: {\n src: 'confirmVerifyUserAttribute',\n input: ({ context, event }) => ({ userAttributeKey: context.selectedUserAttribute, ...event.data }) as ConfirmUserAttributeInput,\n onDone: { actions: ['setConfirmAttributeCompleteStep', 'clearSelectedUserAttribute'], target: '#vefiryUserAttributesActor.resolved' },\n onError: { actions: 'setRemoteError', target: 'idle' },\n },\n },\n },\n },\n resolved: { type: 'final' },\n },\n output: ({ context }) => context,\n })\n}\n","import type { AuthUser } from '@aws-amplify/auth'\nimport { assign, forwardTo, fromPromise, setup } from 'xstate'\nimport { signInActor } from '../machines/signIn/actor'\nimport { defaultHandlers } from './defaultHandlers'\nimport { forgotPasswordActor } from './forgotPassword/actor'\nimport {\n hasCompletedAttributeConfirmation,\n isConfirmSignUpStep,\n isConfirmUserAttributeStep,\n isResetPasswordStep,\n isShouldConfirmUserAttributeStep,\n} from './guards'\nimport { signOutActor } from './signOut/actor'\nimport { signUpActor } from './signUp/actor'\nimport type { ActorDoneData, AuthContext, AuthEvent, Handlers } from './types'\nimport { verifyUserAttributesActor } from './verifyUserAttributes/actor'\n\nexport type AuthenticatorMachineOptions = AuthContext['config'] & {\n handlers?: Partial<Handlers>\n}\n\n/**\n * @internal\n */\nexport const createAuthenticatorMachine = (options?: AuthenticatorMachineOptions) => {\n const { handlers: customHandlers, ...config } = options ?? {}\n const handlers = { ...defaultHandlers, ...customHandlers }\n\n return setup({\n types: {\n context: {} as AuthContext,\n events: {} as AuthEvent,\n },\n guards: {\n hasCompletedAttributeConfirmation: ({ event: { output } }) => hasCompletedAttributeConfirmation(output?.step),\n hasUser: ({ context }) => !!context.user,\n isInitialStateSignUp: ({ context }) => context.config?.initialState === 'signUp',\n isInitialStateResetPassword: ({ context }) => context.config?.initialState === 'forgotPassword',\n isConfirmSignUpStep: ({ event: { output } }) => isConfirmSignUpStep(output?.step),\n isConfirmUserAttributeStep: ({ event: { output } }) => isConfirmUserAttributeStep(output?.step),\n isShouldConfirmUserAttributeStep: ({ event: { output } }) => isShouldConfirmUserAttributeStep(output?.step),\n isResetPasswordStep: ({ event: { output } }) => isResetPasswordStep(output?.step),\n },\n actors: {\n getCurrentUser: fromPromise(() => handlers.getCurrentUser()),\n invokeSignInActor: signInActor(handlers),\n invokeSignUpActor: signUpActor(handlers),\n invokeForgotPasswordActor: forgotPasswordActor(handlers),\n invokeVerifyUserAttributesActor: verifyUserAttributesActor(handlers),\n invokeSignOutActor: signOutActor(handlers),\n },\n actions: {\n clearActorDoneData: assign({ actorDoneData: undefined }),\n clearUser: assign({ user: undefined }),\n forwardToActor: forwardTo('childActor'),\n setUser: assign({ user: ({ event }) => event.output as AuthUser }),\n setActorDoneData: assign({ actorDoneData: ({ event }) => event.output as ActorDoneData }),\n },\n }).createMachine({\n id: 'authenticator',\n initial: 'idle',\n context: {\n config,\n user: undefined,\n },\n states: {\n idle: {\n invoke: {\n src: 'getCurrentUser',\n onDone: { actions: 'setUser', target: '#authenticator.setup' },\n onError: { target: '#authenticator.setup' },\n },\n },\n setup: {\n initial: 'init',\n states: {\n init: {\n always: [\n { guard: 'hasUser', target: '#authenticator.authenticated' },\n { guard: 'isInitialStateSignUp', target: '#authenticator.signUpActor' },\n { guard: 'isInitialStateResetPassword', target: '#authenticator.forgotPasswordActor' },\n { target: '#authenticator.signInActor' },\n ],\n },\n },\n },\n getCurrentUser: {\n invoke: {\n src: 'getCurrentUser',\n onDone: { actions: 'setUser', target: '#authenticator.authenticated' },\n onError: { target: 'setup' },\n },\n },\n signInActor: {\n invoke: {\n id: 'childActor',\n src: 'invokeSignInActor',\n input: ({ context }) => context.actorDoneData,\n onDone: [\n { guard: 'hasCompletedAttributeConfirmation', target: '#authenticator.getCurrentUser' },\n { guard: 'isShouldConfirmUserAttributeStep', actions: 'setActorDoneData', target: '#authenticator.verifyUserAttributesActor' },\n { guard: 'isResetPasswordStep', actions: 'setActorDoneData', target: '#authenticator.forgotPasswordActor' },\n { guard: 'isConfirmSignUpStep', actions: 'setActorDoneData', target: '#authenticator.signUpActor' },\n ],\n },\n entry: 'clearActorDoneData',\n on: {\n FORGOT_PASSWORD: { target: '#authenticator.forgotPasswordActor' },\n SIGN_IN: { target: '#authenticator.signInActor' },\n SIGN_UP: { target: '#authenticator.signUpActor' },\n FEDERATED_SIGN_IN: { actions: 'forwardToActor' },\n SUBMIT: { actions: 'forwardToActor' },\n },\n },\n signUpActor: {\n invoke: {\n id: 'childActor',\n src: 'invokeSignUpActor',\n input: ({ context }) => context.actorDoneData,\n onDone: [\n { guard: 'hasCompletedAttributeConfirmation', actions: 'clearActorDoneData', target: '#authenticator.getCurrentUser' },\n { guard: 'isShouldConfirmUserAttributeStep', actions: 'setActorDoneData', target: '#authenticator.verifyUserAttributesActor' },\n { guard: 'isConfirmUserAttributeStep', actions: 'clearActorDoneData', target: '#authenticator.verifyUserAttributesActor' },\n { actions: 'setActorDoneData', target: '#authenticator.signInActor' },\n ],\n },\n on: {\n SIGN_IN: { target: '#authenticator.signInActor' },\n FEDERATED_SIGN_IN: { actions: 'forwardToActor' },\n RESEND: { actions: 'forwardToActor' },\n SUBMIT: { actions: 'forwardToActor' },\n },\n },\n forgotPasswordActor: {\n invoke: {\n id: 'childActor',\n src: 'invokeForgotPasswordActor',\n input: ({ context }) => context.actorDoneData,\n onDone: { target: '#authenticator.signInActor' },\n },\n exit: 'clearActorDoneData',\n on: {\n SIGN_IN: { target: '#authenticator.signInActor' },\n RESEND: { actions: 'forwardToActor' },\n SUBMIT: { actions: 'forwardToActor' },\n },\n },\n verifyUserAttributesActor: {\n invoke: {\n id: 'childActor',\n src: 'invokeVerifyUserAttributesActor',\n input: ({ context }) => context.actorDoneData,\n onDone: { actions: 'setActorDoneData', target: '#authenticator.getCurrentUser' },\n },\n on: {\n SKIP: { actions: 'forwardToActor' },\n RESEND: { actions: 'forwardToActor' },\n SUBMIT: { actions: 'forwardToActor' },\n },\n },\n authenticated: {\n initial: 'idle',\n on: { SIGN_OUT: 'signOut' },\n states: {\n idle: {\n on: {\n TOKEN_REFRESH: 'refreshUser',\n },\n },\n refreshUser: {\n invoke: {\n src: 'getCurrentUser',\n onDone: { actions: 'setUser', target: 'idle' },\n onError: { target: '#authenticator.signOut' },\n },\n },\n },\n },\n signOut: {\n invoke: {\n id: 'childActor',\n src: 'invokeSignOutActor',\n onDone: { actions: 'clearUser', target: '#authenticator.setup' },\n },\n exit: 'clearActorDoneData',\n },\n },\n on: {\n CHILD_CHANGED: { actions: assign(({ context }) => context) },\n SIGN_IN_WITH_REDIRECT: { target: '#authenticator.getCurrentUser' },\n },\n })\n}\n"],"mappings":"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"}
|
package/dist/utils.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getTotpCodeURL: (issuer: string, username: string, secret: string) => string;
|
package/package.json
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@gahojin-inc/amplify-auth-hooks",
|
|
3
|
+
"version": "2025.8.0",
|
|
4
|
+
"description": "Hooks for Amplify Auth",
|
|
5
|
+
"author": "GAHOJIN, Inc.",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"type": "module",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/gahojin/amplify-auth-hooks.git",
|
|
12
|
+
"directory": "packages/amplify-auth-hooks"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"!dist/**/*.test.*"
|
|
17
|
+
],
|
|
18
|
+
"keywords": [
|
|
19
|
+
"amplify",
|
|
20
|
+
"react"
|
|
21
|
+
],
|
|
22
|
+
"publishConfig": {
|
|
23
|
+
"access": "public",
|
|
24
|
+
"provenance": true
|
|
25
|
+
},
|
|
26
|
+
"module": "./dist/index.mjs",
|
|
27
|
+
"types": "./dist/index.d.mts",
|
|
28
|
+
"exports": {
|
|
29
|
+
"./package.json": "./package.json",
|
|
30
|
+
".": {
|
|
31
|
+
"types": "./dist/index.d.mts",
|
|
32
|
+
"import": "./dist/index.mjs"
|
|
33
|
+
},
|
|
34
|
+
"./machines": {
|
|
35
|
+
"types": "./dist/machines.d.mts",
|
|
36
|
+
"import": "./dist/machines.mjs"
|
|
37
|
+
},
|
|
38
|
+
"./authenticator": {
|
|
39
|
+
"types": "./dist/authenticator.d.mts",
|
|
40
|
+
"import": "./dist/authenticator.mjs"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"@aws-amplify/auth": "6.15.0",
|
|
45
|
+
"@aws-amplify/core": "6.13.1",
|
|
46
|
+
"@xstate/react": "6.0.0",
|
|
47
|
+
"xstate": "5.20.2"
|
|
48
|
+
},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@testing-library/react": "16.3.0",
|
|
51
|
+
"jsdom": "26.1.0",
|
|
52
|
+
"react": "19.1.1",
|
|
53
|
+
"react-dom": "19.1.1"
|
|
54
|
+
},
|
|
55
|
+
"peerDependencies": {
|
|
56
|
+
"@aws-amplify/auth": "^6",
|
|
57
|
+
"@aws-amplify/core": "^6",
|
|
58
|
+
"@xstate/react": "^6",
|
|
59
|
+
"react": "^18 || ^19",
|
|
60
|
+
"xstate": "^5"
|
|
61
|
+
},
|
|
62
|
+
"scripts": {
|
|
63
|
+
"clean": "rimraf dist .turbo *.log",
|
|
64
|
+
"prebuild": "rimraf dist",
|
|
65
|
+
"build": "rolldown -c",
|
|
66
|
+
"prepublish": "pnpm run build",
|
|
67
|
+
"lint": "biome check --write src",
|
|
68
|
+
"check": "tsc --noEmit",
|
|
69
|
+
"check:packagejson": "attw --pack .",
|
|
70
|
+
"test": "vitest --watch",
|
|
71
|
+
"test:unit": "vitest --passWithNoTests --run --coverage",
|
|
72
|
+
"storybook": "storybook dev -h 127.0.0.1 -p 6006"
|
|
73
|
+
}
|
|
74
|
+
}
|