@thunderid/react 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ThunderIDReactClient.d.ts.map +1 -1
- package/dist/ThunderIDReactClient.js +233 -0
- package/dist/ThunderIDReactClient.js.map +1 -0
- package/dist/api/createOrganization.d.ts +2 -2
- package/dist/api/createOrganization.js +80 -0
- package/dist/api/createOrganization.js.map +1 -0
- package/dist/api/getAllOrganizations.d.ts +2 -2
- package/dist/api/getAllOrganizations.js +71 -0
- package/dist/api/getAllOrganizations.js.map +1 -0
- package/dist/api/getMeOrganizations.d.ts +2 -2
- package/dist/api/getMeOrganizations.js +75 -0
- package/dist/api/getMeOrganizations.js.map +1 -0
- package/dist/api/getOrganization.d.ts +2 -2
- package/dist/api/getOrganization.js +67 -0
- package/dist/api/getOrganization.js.map +1 -0
- package/dist/api/getSchemas.d.ts +2 -2
- package/dist/api/getSchemas.js +65 -0
- package/dist/api/getSchemas.js.map +1 -0
- package/dist/api/getScim2Me.d.ts +2 -2
- package/dist/api/getScim2Me.js +65 -0
- package/dist/api/getScim2Me.js.map +1 -0
- package/dist/api/updateMeProfile.d.ts +2 -2
- package/dist/api/updateMeProfile.js +54 -0
- package/dist/api/updateMeProfile.js.map +1 -0
- package/dist/api/updateOrganization.d.ts +3 -3
- package/dist/api/updateOrganization.js +74 -0
- package/dist/api/updateOrganization.js.map +1 -0
- package/dist/cjs/ThunderIDReactClient.cjs +235 -0
- package/dist/cjs/ThunderIDReactClient.cjs.map +1 -0
- package/dist/cjs/_virtual/rolldown_runtime.cjs +25 -0
- package/dist/cjs/api/createOrganization.cjs +82 -0
- package/dist/cjs/api/createOrganization.cjs.map +1 -0
- package/dist/cjs/api/getAllOrganizations.cjs +73 -0
- package/dist/cjs/api/getAllOrganizations.cjs.map +1 -0
- package/dist/cjs/api/getMeOrganizations.cjs +77 -0
- package/dist/cjs/api/getMeOrganizations.cjs.map +1 -0
- package/dist/cjs/api/getOrganization.cjs +69 -0
- package/dist/cjs/api/getOrganization.cjs.map +1 -0
- package/dist/cjs/api/getSchemas.cjs +67 -0
- package/dist/cjs/api/getSchemas.cjs.map +1 -0
- package/dist/cjs/api/getScim2Me.cjs +67 -0
- package/dist/cjs/api/getScim2Me.cjs.map +1 -0
- package/dist/cjs/api/updateMeProfile.cjs +56 -0
- package/dist/cjs/api/updateMeProfile.cjs.map +1 -0
- package/dist/cjs/api/updateOrganization.cjs +76 -0
- package/dist/cjs/api/updateOrganization.cjs.map +1 -0
- package/dist/cjs/components/actions/SignInButton/BaseSignInButton.cjs +54 -0
- package/dist/cjs/components/actions/SignInButton/BaseSignInButton.cjs.map +1 -0
- package/dist/cjs/components/actions/SignInButton/SignInButton.cjs +88 -0
- package/dist/cjs/components/actions/SignInButton/SignInButton.cjs.map +1 -0
- package/dist/cjs/components/actions/SignOutButton/BaseSignOutButton.cjs +54 -0
- package/dist/cjs/components/actions/SignOutButton/BaseSignOutButton.cjs.map +1 -0
- package/dist/cjs/components/actions/SignOutButton/SignOutButton.cjs +84 -0
- package/dist/cjs/components/actions/SignOutButton/SignOutButton.cjs.map +1 -0
- package/dist/cjs/components/actions/SignUpButton/BaseSignUpButton.cjs +56 -0
- package/dist/cjs/components/actions/SignUpButton/BaseSignUpButton.cjs.map +1 -0
- package/dist/cjs/components/actions/SignUpButton/SignUpButton.cjs +86 -0
- package/dist/cjs/components/actions/SignUpButton/SignUpButton.cjs.map +1 -0
- package/dist/cjs/components/adapters/CheckboxInput.cjs +30 -0
- package/dist/cjs/components/adapters/CheckboxInput.cjs.map +1 -0
- package/dist/cjs/components/adapters/Consent.cjs +69 -0
- package/dist/cjs/components/adapters/Consent.cjs.map +1 -0
- package/dist/cjs/components/adapters/ConsentCheckboxList.cjs +81 -0
- package/dist/cjs/components/adapters/ConsentCheckboxList.cjs.map +1 -0
- package/dist/cjs/components/adapters/ConsentCheckboxList.styles.cjs +46 -0
- package/dist/cjs/components/adapters/ConsentCheckboxList.styles.cjs.map +1 -0
- package/dist/cjs/components/adapters/DateInput.cjs +30 -0
- package/dist/cjs/components/adapters/DateInput.cjs.map +1 -0
- package/dist/cjs/components/adapters/DividerComponent.cjs +24 -0
- package/dist/cjs/components/adapters/DividerComponent.cjs.map +1 -0
- package/dist/cjs/components/adapters/EmailInput.cjs +30 -0
- package/dist/cjs/components/adapters/EmailInput.cjs.map +1 -0
- package/dist/cjs/components/adapters/FacebookButton.cjs +41 -0
- package/dist/cjs/components/adapters/FacebookButton.cjs.map +1 -0
- package/dist/cjs/components/adapters/FlowTimer.cjs +52 -0
- package/dist/cjs/components/adapters/FlowTimer.cjs.map +1 -0
- package/dist/cjs/components/adapters/FormContainer.cjs +36 -0
- package/dist/cjs/components/adapters/FormContainer.cjs.map +1 -0
- package/dist/cjs/components/adapters/GitHubButton.cjs +41 -0
- package/dist/cjs/components/adapters/GitHubButton.cjs.map +1 -0
- package/dist/cjs/components/adapters/GoogleButton.cjs +59 -0
- package/dist/cjs/components/adapters/GoogleButton.cjs.map +1 -0
- package/dist/cjs/components/adapters/ImageComponent.cjs +77 -0
- package/dist/cjs/components/adapters/ImageComponent.cjs.map +1 -0
- package/dist/cjs/components/adapters/LinkedInButton.cjs +38 -0
- package/dist/cjs/components/adapters/LinkedInButton.cjs.map +1 -0
- package/dist/cjs/components/adapters/MicrosoftButton.cjs +56 -0
- package/dist/cjs/components/adapters/MicrosoftButton.cjs.map +1 -0
- package/dist/cjs/components/adapters/NumberInput.cjs +30 -0
- package/dist/cjs/components/adapters/NumberInput.cjs.map +1 -0
- package/dist/cjs/components/adapters/PasswordInput.cjs +52 -0
- package/dist/cjs/components/adapters/PasswordInput.cjs.map +1 -0
- package/dist/cjs/components/adapters/SelectInput.cjs +36 -0
- package/dist/cjs/components/adapters/SelectInput.cjs.map +1 -0
- package/dist/cjs/components/adapters/SignInWithEthereumButton.cjs +38 -0
- package/dist/cjs/components/adapters/SignInWithEthereumButton.cjs.map +1 -0
- package/dist/cjs/components/adapters/SmsOtpButton.cjs +38 -0
- package/dist/cjs/components/adapters/SmsOtpButton.cjs.map +1 -0
- package/dist/cjs/components/adapters/SubmitButton.cjs +61 -0
- package/dist/cjs/components/adapters/SubmitButton.cjs.map +1 -0
- package/dist/cjs/components/adapters/TelephoneInput.cjs +32 -0
- package/dist/cjs/components/adapters/TelephoneInput.cjs.map +1 -0
- package/dist/cjs/components/adapters/TextInput.cjs +30 -0
- package/dist/cjs/components/adapters/TextInput.cjs.map +1 -0
- package/dist/cjs/components/adapters/Typography.cjs +60 -0
- package/dist/cjs/components/adapters/Typography.cjs.map +1 -0
- package/dist/cjs/components/auth/Callback/Callback.cjs +26 -0
- package/dist/cjs/components/auth/Callback/Callback.cjs.map +1 -0
- package/dist/cjs/components/auth/Callback/OAuthCallback.cjs +104 -0
- package/dist/cjs/components/auth/Callback/OAuthCallback.cjs.map +1 -0
- package/dist/cjs/components/auth/Callback/TokenCallback.cjs +134 -0
- package/dist/cjs/components/auth/Callback/TokenCallback.cjs.map +1 -0
- package/dist/cjs/components/control/Loading.cjs +35 -0
- package/dist/cjs/components/control/Loading.cjs.map +1 -0
- package/dist/cjs/components/control/OrganizationContext/OrganizationContext.cjs +34 -0
- package/dist/cjs/components/control/OrganizationContext/OrganizationContext.cjs.map +1 -0
- package/dist/cjs/components/control/OrganizationContext/OrganizationContextController.cjs +58 -0
- package/dist/cjs/components/control/OrganizationContext/OrganizationContextController.cjs.map +1 -0
- package/dist/cjs/components/control/SignedIn.cjs +35 -0
- package/dist/cjs/components/control/SignedIn.cjs.map +1 -0
- package/dist/cjs/components/control/SignedOut.cjs +35 -0
- package/dist/cjs/components/control/SignedOut.cjs.map +1 -0
- package/dist/cjs/components/factories/FieldFactory.cjs +142 -0
- package/dist/cjs/components/factories/FieldFactory.cjs.map +1 -0
- package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.cjs +183 -0
- package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.cjs.map +1 -0
- package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.styles.cjs +150 -0
- package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/CreateOrganization/CreateOrganization.cjs +90 -0
- package/dist/cjs/components/presentation/CreateOrganization/CreateOrganization.cjs.map +1 -0
- package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs +118 -0
- package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs.map +1 -0
- package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.cjs +118 -0
- package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/LanguageSwitcher/LanguageSwitcher.cjs +76 -0
- package/dist/cjs/components/presentation/LanguageSwitcher/LanguageSwitcher.cjs.map +1 -0
- package/dist/cjs/components/presentation/Organization/BaseOrganization.cjs +41 -0
- package/dist/cjs/components/presentation/Organization/BaseOrganization.cjs.map +1 -0
- package/dist/cjs/components/presentation/Organization/Organization.cjs +49 -0
- package/dist/cjs/components/presentation/Organization/Organization.cjs.map +1 -0
- package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.cjs +257 -0
- package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.cjs.map +1 -0
- package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.styles.cjs +236 -0
- package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/OrganizationList/OrganizationList.cjs +86 -0
- package/dist/cjs/components/presentation/OrganizationList/OrganizationList.cjs.map +1 -0
- package/dist/cjs/components/presentation/OrganizationList/OrganizationList.styles.cjs +75 -0
- package/dist/cjs/components/presentation/OrganizationList/OrganizationList.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.cjs +328 -0
- package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.cjs.map +1 -0
- package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.cjs +166 -0
- package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/OrganizationProfile/OrganizationProfile.cjs +126 -0
- package/dist/cjs/components/presentation/OrganizationProfile/OrganizationProfile.cjs.map +1 -0
- package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.cjs +288 -0
- package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.cjs.map +1 -0
- package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.cjs +237 -0
- package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/OrganizationSwitcher/OrganizationSwitcher.cjs +127 -0
- package/dist/cjs/components/presentation/OrganizationSwitcher/OrganizationSwitcher.cjs.map +1 -0
- package/dist/cjs/components/presentation/User/BaseUser.cjs +41 -0
- package/dist/cjs/components/presentation/User/BaseUser.cjs.map +1 -0
- package/dist/cjs/components/presentation/User/User.cjs +45 -0
- package/dist/cjs/components/presentation/User/User.cjs.map +1 -0
- package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs +191 -0
- package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs.map +1 -0
- package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.styles.cjs +201 -0
- package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/UserDropdown/UserDropdown.cjs +111 -0
- package/dist/cjs/components/presentation/UserDropdown/UserDropdown.cjs.map +1 -0
- package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs +460 -0
- package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs.map +1 -0
- package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.styles.cjs +217 -0
- package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/UserProfile/UserProfile.cjs +81 -0
- package/dist/cjs/components/presentation/UserProfile/UserProfile.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/AcceptInvite/v2/AcceptInvite.cjs +109 -0
- package/dist/cjs/components/presentation/auth/AcceptInvite/v2/AcceptInvite.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.cjs +504 -0
- package/dist/cjs/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.cjs +52 -0
- package/dist/cjs/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs +454 -0
- package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/InviteUser/v2/BaseInviteUser.cjs +419 -0
- package/dist/cjs/components/presentation/auth/InviteUser/v2/BaseInviteUser.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.cjs +52 -0
- package/dist/cjs/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/InviteUser/v2/InviteUser.cjs +118 -0
- package/dist/cjs/components/presentation/auth/InviteUser/v2/InviteUser.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.cjs +183 -0
- package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.cjs +128 -0
- package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs +20 -0
- package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/Recovery/Recovery.cjs +49 -0
- package/dist/cjs/components/presentation/auth/Recovery/Recovery.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/Recovery/v1/BaseRecovery.cjs +293 -0
- package/dist/cjs/components/presentation/auth/Recovery/v1/BaseRecovery.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/Recovery/v1/Recovery.cjs +43 -0
- package/dist/cjs/components/presentation/auth/Recovery/v1/Recovery.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.cjs +163 -0
- package/dist/cjs/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/Recovery/v2/BaseRecovery.cjs +378 -0
- package/dist/cjs/components/presentation/auth/Recovery/v2/BaseRecovery.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/Recovery/v2/Recovery.cjs +78 -0
- package/dist/cjs/components/presentation/auth/Recovery/v2/Recovery.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs +20 -0
- package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.styles.cjs +154 -0
- package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs +86 -0
- package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/BaseSignIn.cjs +734 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/BaseSignIn.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/EmailOtp.cjs +68 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/EmailOtp.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/IdentifierFirst.cjs +59 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/IdentifierFirst.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/MultiOptionButton.cjs +139 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/MultiOptionButton.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.cjs +147 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/SmsOtp.cjs +68 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/SmsOtp.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/SocialButton.cjs +38 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/SocialButton.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/Totp.cjs +68 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/Totp.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/UsernamePassword.cjs +60 -0
- package/dist/cjs/components/presentation/auth/SignIn/v1/options/UsernamePassword.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/v2/BaseSignIn.cjs +330 -0
- package/dist/cjs/components/presentation/auth/SignIn/v2/BaseSignIn.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignIn/v2/SignIn.cjs +560 -0
- package/dist/cjs/components/presentation/auth/SignIn/v2/SignIn.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs +20 -0
- package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.styles.cjs +150 -0
- package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.styles.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignUp/SignUp.cjs +90 -0
- package/dist/cjs/components/presentation/auth/SignUp/SignUp.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignUp/v1/BaseSignUp.cjs +451 -0
- package/dist/cjs/components/presentation/auth/SignUp/v1/BaseSignUp.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignUp/v1/SignUp.cjs +54 -0
- package/dist/cjs/components/presentation/auth/SignUp/v1/SignUp.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignUp/v1/SignUpOptionFactory.cjs +164 -0
- package/dist/cjs/components/presentation/auth/SignUp/v1/SignUpOptionFactory.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignUp/v2/BaseSignUp.cjs +656 -0
- package/dist/cjs/components/presentation/auth/SignUp/v2/BaseSignUp.cjs.map +1 -0
- package/dist/cjs/components/presentation/auth/SignUp/v2/SignUp.cjs +80 -0
- package/dist/cjs/components/presentation/auth/SignUp/v2/SignUp.cjs.map +1 -0
- package/dist/cjs/components/primitives/Alert/Alert.cjs +107 -0
- package/dist/cjs/components/primitives/Alert/Alert.cjs.map +1 -0
- package/dist/cjs/components/primitives/Alert/Alert.styles.cjs +89 -0
- package/dist/cjs/components/primitives/Alert/Alert.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/Avatar/Avatar.cjs +65 -0
- package/dist/cjs/components/primitives/Avatar/Avatar.cjs.map +1 -0
- package/dist/cjs/components/primitives/Avatar/Avatar.styles.cjs +87 -0
- package/dist/cjs/components/primitives/Avatar/Avatar.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/Button/Button.cjs +97 -0
- package/dist/cjs/components/primitives/Button/Button.cjs.map +1 -0
- package/dist/cjs/components/primitives/Button/Button.styles.cjs +347 -0
- package/dist/cjs/components/primitives/Button/Button.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/Card/Card.cjs +178 -0
- package/dist/cjs/components/primitives/Card/Card.cjs.map +1 -0
- package/dist/cjs/components/primitives/Card/Card.styles.cjs +100 -0
- package/dist/cjs/components/primitives/Card/Card.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs +46 -0
- package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/cjs/components/primitives/Checkbox/Checkbox.styles.cjs +79 -0
- package/dist/cjs/components/primitives/Checkbox/Checkbox.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/CopyableText/CopyableText.cjs +63 -0
- package/dist/cjs/components/primitives/CopyableText/CopyableText.cjs.map +1 -0
- package/dist/cjs/components/primitives/CopyableText/CopyableText.styles.cjs +48 -0
- package/dist/cjs/components/primitives/CopyableText/CopyableText.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/DatePicker/DatePicker.cjs +47 -0
- package/dist/cjs/components/primitives/DatePicker/DatePicker.cjs.map +1 -0
- package/dist/cjs/components/primitives/DatePicker/DatePicker.styles.cjs +87 -0
- package/dist/cjs/components/primitives/DatePicker/DatePicker.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/Dialog/Dialog.cjs +200 -0
- package/dist/cjs/components/primitives/Dialog/Dialog.cjs.map +1 -0
- package/dist/cjs/components/primitives/Dialog/Dialog.styles.cjs +75 -0
- package/dist/cjs/components/primitives/Dialog/Dialog.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/Divider/Divider.cjs +71 -0
- package/dist/cjs/components/primitives/Divider/Divider.cjs.map +1 -0
- package/dist/cjs/components/primitives/Divider/Divider.styles.cjs +72 -0
- package/dist/cjs/components/primitives/Divider/Divider.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/FormControl/FormControl.cjs +33 -0
- package/dist/cjs/components/primitives/FormControl/FormControl.cjs.map +1 -0
- package/dist/cjs/components/primitives/FormControl/FormControl.styles.cjs +43 -0
- package/dist/cjs/components/primitives/FormControl/FormControl.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/ArrowLeftRight.cjs +31 -0
- package/dist/cjs/components/primitives/Icons/ArrowLeftRight.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/ArrowRightLeft.cjs +31 -0
- package/dist/cjs/components/primitives/Icons/ArrowRightLeft.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/Building.cjs +75 -0
- package/dist/cjs/components/primitives/Icons/Building.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/BuildingAlt.cjs +37 -0
- package/dist/cjs/components/primitives/Icons/BuildingAlt.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/Check.cjs +31 -0
- package/dist/cjs/components/primitives/Icons/Check.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/ChevronDown.cjs +31 -0
- package/dist/cjs/components/primitives/Icons/ChevronDown.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/CircleAlert.cjs +44 -0
- package/dist/cjs/components/primitives/Icons/CircleAlert.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/CircleCheck.cjs +30 -0
- package/dist/cjs/components/primitives/Icons/CircleCheck.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/Eye.cjs +30 -0
- package/dist/cjs/components/primitives/Icons/Eye.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/EyeOff.cjs +31 -0
- package/dist/cjs/components/primitives/Icons/EyeOff.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/Info.cjs +34 -0
- package/dist/cjs/components/primitives/Icons/Info.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/LogOut.cjs +30 -0
- package/dist/cjs/components/primitives/Icons/LogOut.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/Plus.cjs +26 -0
- package/dist/cjs/components/primitives/Icons/Plus.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/TriangleAlert.cjs +30 -0
- package/dist/cjs/components/primitives/Icons/TriangleAlert.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/User.cjs +30 -0
- package/dist/cjs/components/primitives/Icons/User.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/X.cjs +26 -0
- package/dist/cjs/components/primitives/Icons/X.cjs.map +1 -0
- package/dist/cjs/components/primitives/Icons/flowIconRegistry.cjs +17 -0
- package/dist/cjs/components/primitives/Icons/flowIconRegistry.cjs.map +1 -0
- package/dist/cjs/components/primitives/InputLabel/InputLabel.cjs +32 -0
- package/dist/cjs/components/primitives/InputLabel/InputLabel.cjs.map +1 -0
- package/dist/cjs/components/primitives/InputLabel/InputLabel.styles.cjs +58 -0
- package/dist/cjs/components/primitives/InputLabel/InputLabel.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.cjs +215 -0
- package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.cjs.map +1 -0
- package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.styles.cjs +175 -0
- package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/Logo/Logo.cjs +37 -0
- package/dist/cjs/components/primitives/Logo/Logo.cjs.map +1 -0
- package/dist/cjs/components/primitives/Logo/Logo.styles.cjs +53 -0
- package/dist/cjs/components/primitives/Logo/Logo.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/MultiInput/MultiInput.cjs +142 -0
- package/dist/cjs/components/primitives/MultiInput/MultiInput.cjs.map +1 -0
- package/dist/cjs/components/primitives/MultiInput/MultiInput.styles.cjs +115 -0
- package/dist/cjs/components/primitives/MultiInput/MultiInput.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/OtpField/OtpField.cjs +129 -0
- package/dist/cjs/components/primitives/OtpField/OtpField.cjs.map +1 -0
- package/dist/cjs/components/primitives/OtpField/OtpField.styles.cjs +85 -0
- package/dist/cjs/components/primitives/OtpField/OtpField.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/PasswordField/PasswordField.cjs +49 -0
- package/dist/cjs/components/primitives/PasswordField/PasswordField.cjs.map +1 -0
- package/dist/cjs/components/primitives/PasswordField/PasswordField.styles.cjs +49 -0
- package/dist/cjs/components/primitives/PasswordField/PasswordField.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/Select/Select.cjs +50 -0
- package/dist/cjs/components/primitives/Select/Select.cjs.map +1 -0
- package/dist/cjs/components/primitives/Select/Select.styles.cjs +98 -0
- package/dist/cjs/components/primitives/Select/Select.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/Spinner/Spinner.cjs +41 -0
- package/dist/cjs/components/primitives/Spinner/Spinner.cjs.map +1 -0
- package/dist/cjs/components/primitives/Spinner/Spinner.styles.cjs +67 -0
- package/dist/cjs/components/primitives/Spinner/Spinner.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/TextField/TextField.cjs +66 -0
- package/dist/cjs/components/primitives/TextField/TextField.cjs.map +1 -0
- package/dist/cjs/components/primitives/TextField/TextField.styles.cjs +132 -0
- package/dist/cjs/components/primitives/TextField/TextField.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/Toggle/Toggle.cjs +64 -0
- package/dist/cjs/components/primitives/Toggle/Toggle.cjs.map +1 -0
- package/dist/cjs/components/primitives/Toggle/Toggle.styles.cjs +101 -0
- package/dist/cjs/components/primitives/Toggle/Toggle.styles.cjs.map +1 -0
- package/dist/cjs/components/primitives/Typography/Typography.cjs +64 -0
- package/dist/cjs/components/primitives/Typography/Typography.cjs.map +1 -0
- package/dist/cjs/components/primitives/Typography/Typography.styles.cjs +276 -0
- package/dist/cjs/components/primitives/Typography/Typography.styles.cjs.map +1 -0
- package/dist/cjs/contexts/Branding/BrandingContext.cjs +12 -0
- package/dist/cjs/contexts/Branding/BrandingContext.cjs.map +1 -0
- package/dist/cjs/contexts/Branding/BrandingProvider.cjs +96 -0
- package/dist/cjs/contexts/Branding/BrandingProvider.cjs.map +1 -0
- package/dist/cjs/contexts/Branding/useBrandingContext.cjs +40 -0
- package/dist/cjs/contexts/Branding/useBrandingContext.cjs.map +1 -0
- package/dist/cjs/contexts/ComponentRenderer/ComponentRendererContext.cjs +11 -0
- package/dist/cjs/contexts/ComponentRenderer/ComponentRendererContext.cjs.map +1 -0
- package/dist/cjs/contexts/ComponentRenderer/ComponentRendererProvider.cjs +15 -0
- package/dist/cjs/contexts/ComponentRenderer/ComponentRendererProvider.cjs.map +1 -0
- package/dist/cjs/contexts/Flow/FlowContext.cjs +17 -0
- package/dist/cjs/contexts/Flow/FlowContext.cjs.map +1 -0
- package/dist/cjs/contexts/Flow/FlowProvider.cjs +135 -0
- package/dist/cjs/contexts/Flow/FlowProvider.cjs.map +1 -0
- package/dist/cjs/contexts/Flow/useFlow.cjs +44 -0
- package/dist/cjs/contexts/Flow/useFlow.cjs.map +1 -0
- package/dist/cjs/contexts/FlowMeta/FlowMetaContext.cjs +12 -0
- package/dist/cjs/contexts/FlowMeta/FlowMetaContext.cjs.map +1 -0
- package/dist/cjs/contexts/FlowMeta/FlowMetaProvider.cjs +154 -0
- package/dist/cjs/contexts/FlowMeta/FlowMetaProvider.cjs.map +1 -0
- package/dist/cjs/contexts/FlowMeta/useFlowMeta.cjs +16 -0
- package/dist/cjs/contexts/FlowMeta/useFlowMeta.cjs.map +1 -0
- package/dist/cjs/contexts/I18n/ComponentPreferencesContext.cjs +16 -0
- package/dist/cjs/contexts/I18n/ComponentPreferencesContext.cjs.map +1 -0
- package/dist/cjs/contexts/I18n/I18nContext.cjs +12 -0
- package/dist/cjs/contexts/I18n/I18nContext.cjs.map +1 -0
- package/dist/cjs/contexts/I18n/I18nProvider.cjs +217 -0
- package/dist/cjs/contexts/I18n/I18nProvider.cjs.map +1 -0
- package/dist/cjs/contexts/I18n/useI18n.cjs +23 -0
- package/dist/cjs/contexts/I18n/useI18n.cjs.map +1 -0
- package/dist/cjs/contexts/Organization/OrganizationContext.cjs +27 -0
- package/dist/cjs/contexts/Organization/OrganizationContext.cjs.map +1 -0
- package/dist/cjs/contexts/Organization/OrganizationProvider.cjs +97 -0
- package/dist/cjs/contexts/Organization/OrganizationProvider.cjs.map +1 -0
- package/dist/cjs/contexts/Organization/useOrganization.cjs +100 -0
- package/dist/cjs/contexts/Organization/useOrganization.cjs.map +1 -0
- package/dist/cjs/contexts/Theme/ThemeContext.cjs +12 -0
- package/dist/cjs/contexts/Theme/ThemeContext.cjs.map +1 -0
- package/dist/cjs/contexts/Theme/ThemeProvider.cjs +69 -0
- package/dist/cjs/contexts/Theme/ThemeProvider.cjs.map +1 -0
- package/dist/cjs/contexts/Theme/useTheme.cjs +16 -0
- package/dist/cjs/contexts/Theme/useTheme.cjs.map +1 -0
- package/dist/cjs/contexts/Theme/v1/ThemeProvider.cjs +190 -0
- package/dist/cjs/contexts/Theme/v1/ThemeProvider.cjs.map +1 -0
- package/dist/cjs/contexts/Theme/v2/ThemeProvider.cjs +108 -0
- package/dist/cjs/contexts/Theme/v2/ThemeProvider.cjs.map +1 -0
- package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs +52 -0
- package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs.map +1 -0
- package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs +407 -0
- package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -0
- package/dist/cjs/contexts/ThunderID/useThunderID.cjs +32 -0
- package/dist/cjs/contexts/ThunderID/useThunderID.cjs.map +1 -0
- package/dist/cjs/contexts/User/UserContext.cjs +22 -0
- package/dist/cjs/contexts/User/UserContext.cjs.map +1 -0
- package/dist/cjs/contexts/User/UserProvider.cjs +60 -0
- package/dist/cjs/contexts/User/UserProvider.cjs.map +1 -0
- package/dist/cjs/contexts/User/useUser.cjs +90 -0
- package/dist/cjs/contexts/User/useUser.cjs.map +1 -0
- package/dist/cjs/hooks/useBranding.cjs +71 -0
- package/dist/cjs/hooks/useBranding.cjs.map +1 -0
- package/dist/cjs/hooks/useBrowserUrl.cjs +33 -0
- package/dist/cjs/hooks/useBrowserUrl.cjs.map +1 -0
- package/dist/cjs/hooks/useForm.cjs +217 -0
- package/dist/cjs/hooks/useForm.cjs.map +1 -0
- package/dist/cjs/hooks/useTranslation.cjs +79 -0
- package/dist/cjs/hooks/useTranslation.cjs.map +1 -0
- package/dist/cjs/hooks/v2/useOAuthCallback.cjs +86 -0
- package/dist/cjs/hooks/v2/useOAuthCallback.cjs.map +1 -0
- package/dist/cjs/index.cjs +375 -0
- package/dist/cjs/utils/applyThemeToDOM.cjs +16 -0
- package/dist/cjs/utils/applyThemeToDOM.cjs.map +1 -0
- package/dist/cjs/utils/getDisplayName.cjs +50 -0
- package/dist/cjs/utils/getDisplayName.cjs.map +1 -0
- package/dist/cjs/utils/getMappedUserProfileValue.cjs +61 -0
- package/dist/cjs/utils/getMappedUserProfileValue.cjs.map +1 -0
- package/dist/cjs/utils/normalizeThemeConfig.cjs +43 -0
- package/dist/cjs/utils/normalizeThemeConfig.cjs.map +1 -0
- package/dist/cjs/utils/oauth.cjs +28 -0
- package/dist/cjs/utils/oauth.cjs.map +1 -0
- package/dist/cjs/utils/v2/buildThemeConfigFromFlowMeta.cjs +48 -0
- package/dist/cjs/utils/v2/buildThemeConfigFromFlowMeta.cjs.map +1 -0
- package/dist/cjs/utils/v2/flowTransformer.cjs +153 -0
- package/dist/cjs/utils/v2/flowTransformer.cjs.map +1 -0
- package/dist/cjs/utils/v2/getAuthComponentHeadings.cjs +103 -0
- package/dist/cjs/utils/v2/getAuthComponentHeadings.cjs.map +1 -0
- package/dist/cjs/utils/v2/passkey.cjs +93 -0
- package/dist/cjs/utils/v2/passkey.cjs.map +1 -0
- package/dist/cjs/utils/v2/resolveTranslationsInArray.cjs +21 -0
- package/dist/cjs/utils/v2/resolveTranslationsInArray.cjs.map +1 -0
- package/dist/cjs/utils/v2/resolveTranslationsInObject.cjs +33 -0
- package/dist/cjs/utils/v2/resolveTranslationsInObject.cjs.map +1 -0
- package/dist/components/actions/SignInButton/BaseSignInButton.js +49 -0
- package/dist/components/actions/SignInButton/BaseSignInButton.js.map +1 -0
- package/dist/components/actions/SignInButton/SignInButton.d.ts +6 -0
- package/dist/components/actions/SignInButton/SignInButton.d.ts.map +1 -1
- package/dist/components/actions/SignInButton/SignInButton.js +84 -0
- package/dist/components/actions/SignInButton/SignInButton.js.map +1 -0
- package/dist/components/actions/SignOutButton/BaseSignOutButton.js +49 -0
- package/dist/components/actions/SignOutButton/BaseSignOutButton.js.map +1 -0
- package/dist/components/actions/SignOutButton/SignOutButton.js +80 -0
- package/dist/components/actions/SignOutButton/SignOutButton.js.map +1 -0
- package/dist/components/actions/SignUpButton/BaseSignUpButton.js +51 -0
- package/dist/components/actions/SignUpButton/BaseSignUpButton.js.map +1 -0
- package/dist/components/actions/SignUpButton/SignUpButton.js +82 -0
- package/dist/components/actions/SignUpButton/SignUpButton.js.map +1 -0
- package/dist/components/adapters/CheckboxInput.js +28 -0
- package/dist/components/adapters/CheckboxInput.js.map +1 -0
- package/dist/components/adapters/Consent.js +67 -0
- package/dist/components/adapters/Consent.js.map +1 -0
- package/dist/components/adapters/ConsentCheckboxList.js +76 -0
- package/dist/components/adapters/ConsentCheckboxList.js.map +1 -0
- package/dist/components/adapters/ConsentCheckboxList.styles.js +43 -0
- package/dist/components/adapters/ConsentCheckboxList.styles.js.map +1 -0
- package/dist/components/adapters/DateInput.js +28 -0
- package/dist/components/adapters/DateInput.js.map +1 -0
- package/dist/components/adapters/DividerComponent.js +22 -0
- package/dist/components/adapters/DividerComponent.js.map +1 -0
- package/dist/components/adapters/EmailInput.js +28 -0
- package/dist/components/adapters/EmailInput.js.map +1 -0
- package/dist/components/adapters/FacebookButton.js +39 -0
- package/dist/components/adapters/FacebookButton.js.map +1 -0
- package/dist/components/adapters/FlowTimer.js +49 -0
- package/dist/components/adapters/FlowTimer.js.map +1 -0
- package/dist/components/adapters/FormContainer.js +34 -0
- package/dist/components/adapters/FormContainer.js.map +1 -0
- package/dist/components/adapters/GitHubButton.js +39 -0
- package/dist/components/adapters/GitHubButton.js.map +1 -0
- package/dist/components/adapters/GoogleButton.js +57 -0
- package/dist/components/adapters/GoogleButton.js.map +1 -0
- package/dist/components/adapters/ImageComponent.js +74 -0
- package/dist/components/adapters/ImageComponent.js.map +1 -0
- package/dist/components/adapters/LinkedInButton.js +36 -0
- package/dist/components/adapters/LinkedInButton.js.map +1 -0
- package/dist/components/adapters/MicrosoftButton.js +54 -0
- package/dist/components/adapters/MicrosoftButton.js.map +1 -0
- package/dist/components/adapters/NumberInput.js +28 -0
- package/dist/components/adapters/NumberInput.js.map +1 -0
- package/dist/components/adapters/PasswordInput.js +50 -0
- package/dist/components/adapters/PasswordInput.js.map +1 -0
- package/dist/components/adapters/SelectInput.js +34 -0
- package/dist/components/adapters/SelectInput.js.map +1 -0
- package/dist/components/adapters/SignInWithEthereumButton.js +36 -0
- package/dist/components/adapters/SignInWithEthereumButton.js.map +1 -0
- package/dist/components/adapters/SmsOtpButton.js +36 -0
- package/dist/components/adapters/SmsOtpButton.js.map +1 -0
- package/dist/components/adapters/SubmitButton.js +59 -0
- package/dist/components/adapters/SubmitButton.js.map +1 -0
- package/dist/components/adapters/TelephoneInput.js +30 -0
- package/dist/components/adapters/TelephoneInput.js.map +1 -0
- package/dist/components/adapters/TextInput.js +28 -0
- package/dist/components/adapters/TextInput.js.map +1 -0
- package/dist/components/adapters/Typography.js +58 -0
- package/dist/components/adapters/Typography.js.map +1 -0
- package/dist/components/auth/Callback/Callback.d.ts +6 -44
- package/dist/components/auth/Callback/Callback.d.ts.map +1 -1
- package/dist/components/auth/Callback/Callback.js +23 -0
- package/dist/components/auth/Callback/Callback.js.map +1 -0
- package/dist/components/auth/Callback/OAuthCallback.d.ts +52 -0
- package/dist/components/auth/Callback/OAuthCallback.d.ts.map +1 -0
- package/dist/components/auth/Callback/OAuthCallback.js +101 -0
- package/dist/components/auth/Callback/OAuthCallback.js.map +1 -0
- package/dist/components/auth/Callback/TokenCallback.d.ts +44 -0
- package/dist/components/auth/Callback/TokenCallback.d.ts.map +1 -0
- package/dist/components/auth/Callback/TokenCallback.js +131 -0
- package/dist/components/auth/Callback/TokenCallback.js.map +1 -0
- package/dist/components/control/Loading.js +33 -0
- package/dist/components/control/Loading.js.map +1 -0
- package/dist/components/control/OrganizationContext/OrganizationContext.js +32 -0
- package/dist/components/control/OrganizationContext/OrganizationContext.js.map +1 -0
- package/dist/components/control/OrganizationContext/OrganizationContextController.js +55 -0
- package/dist/components/control/OrganizationContext/OrganizationContextController.js.map +1 -0
- package/dist/components/control/SignedIn.js +33 -0
- package/dist/components/control/SignedIn.js.map +1 -0
- package/dist/components/control/SignedOut.js +33 -0
- package/dist/components/control/SignedOut.js.map +1 -0
- package/dist/components/factories/FieldFactory.js +137 -0
- package/dist/components/factories/FieldFactory.js.map +1 -0
- package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.js +178 -0
- package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.js.map +1 -0
- package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.js +147 -0
- package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.js.map +1 -0
- package/dist/components/presentation/CreateOrganization/CreateOrganization.d.ts +1 -1
- package/dist/components/presentation/CreateOrganization/CreateOrganization.d.ts.map +1 -1
- package/dist/components/presentation/CreateOrganization/CreateOrganization.js +87 -0
- package/dist/components/presentation/CreateOrganization/CreateOrganization.js.map +1 -0
- package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js +113 -0
- package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js.map +1 -0
- package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.js +115 -0
- package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.js.map +1 -0
- package/dist/components/presentation/LanguageSwitcher/LanguageSwitcher.js +72 -0
- package/dist/components/presentation/LanguageSwitcher/LanguageSwitcher.js.map +1 -0
- package/dist/components/presentation/Organization/BaseOrganization.js +39 -0
- package/dist/components/presentation/Organization/BaseOrganization.js.map +1 -0
- package/dist/components/presentation/Organization/Organization.js +47 -0
- package/dist/components/presentation/Organization/Organization.js.map +1 -0
- package/dist/components/presentation/OrganizationList/BaseOrganizationList.js +252 -0
- package/dist/components/presentation/OrganizationList/BaseOrganizationList.js.map +1 -0
- package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.js +233 -0
- package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.js.map +1 -0
- package/dist/components/presentation/OrganizationList/OrganizationList.js +82 -0
- package/dist/components/presentation/OrganizationList/OrganizationList.js.map +1 -0
- package/dist/components/presentation/OrganizationList/OrganizationList.styles.js +72 -0
- package/dist/components/presentation/OrganizationList/OrganizationList.styles.js.map +1 -0
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.d.ts +1 -1
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.d.ts.map +1 -1
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.js +323 -0
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.js.map +1 -0
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.js +163 -0
- package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.js.map +1 -0
- package/dist/components/presentation/OrganizationProfile/OrganizationProfile.js +122 -0
- package/dist/components/presentation/OrganizationProfile/OrganizationProfile.js.map +1 -0
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.d.ts +1 -1
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.d.ts.map +1 -1
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.js +282 -0
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.js.map +1 -0
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.js +234 -0
- package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.js.map +1 -0
- package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts +1 -1
- package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts.map +1 -1
- package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.js +124 -0
- package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.js.map +1 -0
- package/dist/components/presentation/User/BaseUser.js +39 -0
- package/dist/components/presentation/User/BaseUser.js.map +1 -0
- package/dist/components/presentation/User/User.js +43 -0
- package/dist/components/presentation/User/User.js.map +1 -0
- package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts +1 -1
- package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts.map +1 -1
- package/dist/components/presentation/UserDropdown/BaseUserDropdown.js +184 -0
- package/dist/components/presentation/UserDropdown/BaseUserDropdown.js.map +1 -0
- package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.js +198 -0
- package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.js.map +1 -0
- package/dist/components/presentation/UserDropdown/UserDropdown.js +108 -0
- package/dist/components/presentation/UserDropdown/UserDropdown.js.map +1 -0
- package/dist/components/presentation/UserProfile/BaseUserProfile.d.ts +1 -1
- package/dist/components/presentation/UserProfile/BaseUserProfile.d.ts.map +1 -1
- package/dist/components/presentation/UserProfile/BaseUserProfile.js +455 -0
- package/dist/components/presentation/UserProfile/BaseUserProfile.js.map +1 -0
- package/dist/components/presentation/UserProfile/BaseUserProfile.styles.js +213 -0
- package/dist/components/presentation/UserProfile/BaseUserProfile.styles.js.map +1 -0
- package/dist/components/presentation/UserProfile/UserProfile.js +77 -0
- package/dist/components/presentation/UserProfile/UserProfile.js.map +1 -0
- package/dist/components/presentation/auth/AcceptInvite/v2/AcceptInvite.js +106 -0
- package/dist/components/presentation/auth/AcceptInvite/v2/AcceptInvite.js.map +1 -0
- package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.d.ts +7 -3
- package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.d.ts.map +1 -1
- package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.js +500 -0
- package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.js.map +1 -0
- package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.js +49 -0
- package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.js.map +1 -0
- package/dist/components/presentation/auth/AuthOptionFactory.d.ts.map +1 -1
- package/dist/components/presentation/auth/AuthOptionFactory.js +445 -0
- package/dist/components/presentation/auth/AuthOptionFactory.js.map +1 -0
- package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.d.ts +3 -3
- package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.d.ts.map +1 -1
- package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.js +414 -0
- package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.js.map +1 -0
- package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.js +49 -0
- package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.js.map +1 -0
- package/dist/components/presentation/auth/InviteUser/v2/InviteUser.js +114 -0
- package/dist/components/presentation/auth/InviteUser/v2/InviteUser.js.map +1 -0
- package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.js +179 -0
- package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.js.map +1 -0
- package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.js +125 -0
- package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.js.map +1 -0
- package/dist/components/presentation/auth/Recovery/BaseRecovery.js +17 -0
- package/dist/components/presentation/auth/Recovery/BaseRecovery.js.map +1 -0
- package/dist/components/presentation/auth/Recovery/Recovery.js +46 -0
- package/dist/components/presentation/auth/Recovery/Recovery.js.map +1 -0
- package/dist/components/presentation/auth/Recovery/v1/BaseRecovery.js +288 -0
- package/dist/components/presentation/auth/Recovery/v1/BaseRecovery.js.map +1 -0
- package/dist/components/presentation/auth/Recovery/v1/Recovery.js +40 -0
- package/dist/components/presentation/auth/Recovery/v1/Recovery.js.map +1 -0
- package/dist/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.js +160 -0
- package/dist/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.js.map +1 -0
- package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.d.ts +5 -5
- package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.d.ts.map +1 -1
- package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.js +373 -0
- package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.js.map +1 -0
- package/dist/components/presentation/auth/Recovery/v2/Recovery.d.ts.map +1 -1
- package/dist/components/presentation/auth/Recovery/v2/Recovery.js +74 -0
- package/dist/components/presentation/auth/Recovery/v2/Recovery.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/BaseSignIn.js +17 -0
- package/dist/components/presentation/auth/SignIn/BaseSignIn.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.js +151 -0
- package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/SignIn.js +83 -0
- package/dist/components/presentation/auth/SignIn/SignIn.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.d.ts.map +1 -1
- package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.js +729 -0
- package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/v1/options/EmailOtp.js +64 -0
- package/dist/components/presentation/auth/SignIn/v1/options/EmailOtp.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/v1/options/IdentifierFirst.js +55 -0
- package/dist/components/presentation/auth/SignIn/v1/options/IdentifierFirst.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/v1/options/MultiOptionButton.js +136 -0
- package/dist/components/presentation/auth/SignIn/v1/options/MultiOptionButton.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.js +143 -0
- package/dist/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/v1/options/SmsOtp.js +64 -0
- package/dist/components/presentation/auth/SignIn/v1/options/SmsOtp.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/v1/options/SocialButton.js +36 -0
- package/dist/components/presentation/auth/SignIn/v1/options/SocialButton.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/v1/options/Totp.js +64 -0
- package/dist/components/presentation/auth/SignIn/v1/options/Totp.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/v1/options/UsernamePassword.js +56 -0
- package/dist/components/presentation/auth/SignIn/v1/options/UsernamePassword.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.d.ts +1 -1
- package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.d.ts.map +1 -1
- package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.js +325 -0
- package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.js.map +1 -0
- package/dist/components/presentation/auth/SignIn/v2/SignIn.d.ts +1 -1
- package/dist/components/presentation/auth/SignIn/v2/SignIn.d.ts.map +1 -1
- package/dist/components/presentation/auth/SignIn/v2/SignIn.js +556 -0
- package/dist/components/presentation/auth/SignIn/v2/SignIn.js.map +1 -0
- package/dist/components/presentation/auth/SignUp/BaseSignUp.js +17 -0
- package/dist/components/presentation/auth/SignUp/BaseSignUp.js.map +1 -0
- package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.js +147 -0
- package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.js.map +1 -0
- package/dist/components/presentation/auth/SignUp/SignUp.js +87 -0
- package/dist/components/presentation/auth/SignUp/SignUp.js.map +1 -0
- package/dist/components/presentation/auth/SignUp/v1/BaseSignUp.js +446 -0
- package/dist/components/presentation/auth/SignUp/v1/BaseSignUp.js.map +1 -0
- package/dist/components/presentation/auth/SignUp/v1/SignUp.js +51 -0
- package/dist/components/presentation/auth/SignUp/v1/SignUp.js.map +1 -0
- package/dist/components/presentation/auth/SignUp/v1/SignUpOptionFactory.js +160 -0
- package/dist/components/presentation/auth/SignUp/v1/SignUpOptionFactory.js.map +1 -0
- package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.d.ts +6 -6
- package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.d.ts.map +1 -1
- package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.js +651 -0
- package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.js.map +1 -0
- package/dist/components/presentation/auth/SignUp/v2/SignUp.d.ts +1 -1
- package/dist/components/presentation/auth/SignUp/v2/SignUp.d.ts.map +1 -1
- package/dist/components/presentation/auth/SignUp/v2/SignUp.js +77 -0
- package/dist/components/presentation/auth/SignUp/v2/SignUp.js.map +1 -0
- package/dist/components/primitives/Alert/Alert.js +102 -0
- package/dist/components/primitives/Alert/Alert.js.map +1 -0
- package/dist/components/primitives/Alert/Alert.styles.js +86 -0
- package/dist/components/primitives/Alert/Alert.styles.js.map +1 -0
- package/dist/components/primitives/Avatar/Avatar.js +60 -0
- package/dist/components/primitives/Avatar/Avatar.js.map +1 -0
- package/dist/components/primitives/Avatar/Avatar.styles.js +84 -0
- package/dist/components/primitives/Avatar/Avatar.styles.js.map +1 -0
- package/dist/components/primitives/Button/Button.js +92 -0
- package/dist/components/primitives/Button/Button.js.map +1 -0
- package/dist/components/primitives/Button/Button.styles.js +344 -0
- package/dist/components/primitives/Button/Button.styles.js.map +1 -0
- package/dist/components/primitives/Card/Card.js +173 -0
- package/dist/components/primitives/Card/Card.js.map +1 -0
- package/dist/components/primitives/Card/Card.styles.js +97 -0
- package/dist/components/primitives/Card/Card.styles.js.map +1 -0
- package/dist/components/primitives/Checkbox/Checkbox.js +42 -0
- package/dist/components/primitives/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/primitives/Checkbox/Checkbox.styles.js +76 -0
- package/dist/components/primitives/Checkbox/Checkbox.styles.js.map +1 -0
- package/dist/components/primitives/CopyableText/CopyableText.js +60 -0
- package/dist/components/primitives/CopyableText/CopyableText.js.map +1 -0
- package/dist/components/primitives/CopyableText/CopyableText.styles.js +45 -0
- package/dist/components/primitives/CopyableText/CopyableText.styles.js.map +1 -0
- package/dist/components/primitives/DatePicker/DatePicker.js +43 -0
- package/dist/components/primitives/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/primitives/DatePicker/DatePicker.styles.js +84 -0
- package/dist/components/primitives/DatePicker/DatePicker.styles.js.map +1 -0
- package/dist/components/primitives/Dialog/Dialog.js +194 -0
- package/dist/components/primitives/Dialog/Dialog.js.map +1 -0
- package/dist/components/primitives/Dialog/Dialog.styles.js +72 -0
- package/dist/components/primitives/Dialog/Dialog.styles.js.map +1 -0
- package/dist/components/primitives/Divider/Divider.js +67 -0
- package/dist/components/primitives/Divider/Divider.js.map +1 -0
- package/dist/components/primitives/Divider/Divider.styles.js +69 -0
- package/dist/components/primitives/Divider/Divider.styles.js.map +1 -0
- package/dist/components/primitives/FormControl/FormControl.js +29 -0
- package/dist/components/primitives/FormControl/FormControl.js.map +1 -0
- package/dist/components/primitives/FormControl/FormControl.styles.js +40 -0
- package/dist/components/primitives/FormControl/FormControl.styles.js.map +1 -0
- package/dist/components/primitives/Icons/ArrowLeftRight.js +29 -0
- package/dist/components/primitives/Icons/ArrowLeftRight.js.map +1 -0
- package/dist/components/primitives/Icons/ArrowRightLeft.js +29 -0
- package/dist/components/primitives/Icons/ArrowRightLeft.js.map +1 -0
- package/dist/components/primitives/Icons/Building.js +73 -0
- package/dist/components/primitives/Icons/Building.js.map +1 -0
- package/dist/components/primitives/Icons/BuildingAlt.js +35 -0
- package/dist/components/primitives/Icons/BuildingAlt.js.map +1 -0
- package/dist/components/primitives/Icons/Check.js +29 -0
- package/dist/components/primitives/Icons/Check.js.map +1 -0
- package/dist/components/primitives/Icons/ChevronDown.js +29 -0
- package/dist/components/primitives/Icons/ChevronDown.js.map +1 -0
- package/dist/components/primitives/Icons/CircleAlert.js +42 -0
- package/dist/components/primitives/Icons/CircleAlert.js.map +1 -0
- package/dist/components/primitives/Icons/CircleCheck.js +28 -0
- package/dist/components/primitives/Icons/CircleCheck.js.map +1 -0
- package/dist/components/primitives/Icons/Eye.js +28 -0
- package/dist/components/primitives/Icons/Eye.js.map +1 -0
- package/dist/components/primitives/Icons/EyeOff.js +29 -0
- package/dist/components/primitives/Icons/EyeOff.js.map +1 -0
- package/dist/components/primitives/Icons/Info.js +32 -0
- package/dist/components/primitives/Icons/Info.js.map +1 -0
- package/dist/components/primitives/Icons/LogOut.js +28 -0
- package/dist/components/primitives/Icons/LogOut.js.map +1 -0
- package/dist/components/primitives/Icons/Plus.js +24 -0
- package/dist/components/primitives/Icons/Plus.js.map +1 -0
- package/dist/components/primitives/Icons/TriangleAlert.js +28 -0
- package/dist/components/primitives/Icons/TriangleAlert.js.map +1 -0
- package/dist/components/primitives/Icons/User.js +28 -0
- package/dist/components/primitives/Icons/User.js.map +1 -0
- package/dist/components/primitives/Icons/X.js +24 -0
- package/dist/components/primitives/Icons/X.js.map +1 -0
- package/dist/components/primitives/Icons/flowIconRegistry.js +17 -0
- package/dist/components/primitives/Icons/flowIconRegistry.js.map +1 -0
- package/dist/components/primitives/InputLabel/InputLabel.js +28 -0
- package/dist/components/primitives/InputLabel/InputLabel.js.map +1 -0
- package/dist/components/primitives/InputLabel/InputLabel.styles.js +55 -0
- package/dist/components/primitives/InputLabel/InputLabel.styles.js.map +1 -0
- package/dist/components/primitives/KeyValueInput/KeyValueInput.js +210 -0
- package/dist/components/primitives/KeyValueInput/KeyValueInput.js.map +1 -0
- package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.js +172 -0
- package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.js.map +1 -0
- package/dist/components/primitives/Logo/Logo.js +33 -0
- package/dist/components/primitives/Logo/Logo.js.map +1 -0
- package/dist/components/primitives/Logo/Logo.styles.js +50 -0
- package/dist/components/primitives/Logo/Logo.styles.js.map +1 -0
- package/dist/components/primitives/MultiInput/MultiInput.js +137 -0
- package/dist/components/primitives/MultiInput/MultiInput.js.map +1 -0
- package/dist/components/primitives/MultiInput/MultiInput.styles.js +112 -0
- package/dist/components/primitives/MultiInput/MultiInput.styles.js.map +1 -0
- package/dist/components/primitives/OtpField/OtpField.js +124 -0
- package/dist/components/primitives/OtpField/OtpField.js.map +1 -0
- package/dist/components/primitives/OtpField/OtpField.styles.js +82 -0
- package/dist/components/primitives/OtpField/OtpField.styles.js.map +1 -0
- package/dist/components/primitives/PasswordField/PasswordField.js +44 -0
- package/dist/components/primitives/PasswordField/PasswordField.js.map +1 -0
- package/dist/components/primitives/PasswordField/PasswordField.styles.js +46 -0
- package/dist/components/primitives/PasswordField/PasswordField.styles.js.map +1 -0
- package/dist/components/primitives/Select/Select.js +46 -0
- package/dist/components/primitives/Select/Select.js.map +1 -0
- package/dist/components/primitives/Select/Select.styles.js +95 -0
- package/dist/components/primitives/Select/Select.styles.js.map +1 -0
- package/dist/components/primitives/Spinner/Spinner.js +37 -0
- package/dist/components/primitives/Spinner/Spinner.js.map +1 -0
- package/dist/components/primitives/Spinner/Spinner.styles.js +64 -0
- package/dist/components/primitives/Spinner/Spinner.styles.js.map +1 -0
- package/dist/components/primitives/TextField/TextField.d.ts.map +1 -1
- package/dist/components/primitives/TextField/TextField.js +62 -0
- package/dist/components/primitives/TextField/TextField.js.map +1 -0
- package/dist/components/primitives/TextField/TextField.styles.js +129 -0
- package/dist/components/primitives/TextField/TextField.styles.js.map +1 -0
- package/dist/components/primitives/Toggle/Toggle.js +60 -0
- package/dist/components/primitives/Toggle/Toggle.js.map +1 -0
- package/dist/components/primitives/Toggle/Toggle.styles.js +98 -0
- package/dist/components/primitives/Toggle/Toggle.styles.js.map +1 -0
- package/dist/components/primitives/Typography/Typography.js +60 -0
- package/dist/components/primitives/Typography/Typography.js.map +1 -0
- package/dist/components/primitives/Typography/Typography.styles.js +273 -0
- package/dist/components/primitives/Typography/Typography.styles.js.map +1 -0
- package/dist/contexts/Branding/BrandingContext.js +10 -0
- package/dist/contexts/Branding/BrandingContext.js.map +1 -0
- package/dist/contexts/Branding/BrandingProvider.js +92 -0
- package/dist/contexts/Branding/BrandingProvider.js.map +1 -0
- package/dist/contexts/Branding/useBrandingContext.js +38 -0
- package/dist/contexts/Branding/useBrandingContext.js.map +1 -0
- package/dist/contexts/ComponentRenderer/ComponentRendererContext.js +9 -0
- package/dist/contexts/ComponentRenderer/ComponentRendererContext.js.map +1 -0
- package/dist/contexts/ComponentRenderer/ComponentRendererProvider.js +13 -0
- package/dist/contexts/ComponentRenderer/ComponentRendererProvider.js.map +1 -0
- package/dist/contexts/Flow/FlowContext.js +15 -0
- package/dist/contexts/Flow/FlowContext.js.map +1 -0
- package/dist/contexts/Flow/FlowProvider.js +132 -0
- package/dist/contexts/Flow/FlowProvider.js.map +1 -0
- package/dist/contexts/Flow/useFlow.js +42 -0
- package/dist/contexts/Flow/useFlow.js.map +1 -0
- package/dist/contexts/FlowMeta/FlowMetaContext.js +10 -0
- package/dist/contexts/FlowMeta/FlowMetaContext.js.map +1 -0
- package/dist/contexts/FlowMeta/FlowMetaProvider.d.ts.map +1 -1
- package/dist/contexts/FlowMeta/FlowMetaProvider.js +150 -0
- package/dist/contexts/FlowMeta/FlowMetaProvider.js.map +1 -0
- package/dist/contexts/FlowMeta/useFlowMeta.js +14 -0
- package/dist/contexts/FlowMeta/useFlowMeta.js.map +1 -0
- package/dist/contexts/I18n/ComponentPreferencesContext.js +14 -0
- package/dist/contexts/I18n/ComponentPreferencesContext.js.map +1 -0
- package/dist/contexts/I18n/I18nContext.js +10 -0
- package/dist/contexts/I18n/I18nContext.js.map +1 -0
- package/dist/contexts/I18n/I18nProvider.js +213 -0
- package/dist/contexts/I18n/I18nProvider.js.map +1 -0
- package/dist/contexts/I18n/useI18n.js +21 -0
- package/dist/contexts/I18n/useI18n.js.map +1 -0
- package/dist/contexts/Organization/OrganizationContext.js +25 -0
- package/dist/contexts/Organization/OrganizationContext.js.map +1 -0
- package/dist/contexts/Organization/OrganizationProvider.d.ts.map +1 -1
- package/dist/contexts/Organization/OrganizationProvider.js +93 -0
- package/dist/contexts/Organization/OrganizationProvider.js.map +1 -0
- package/dist/contexts/Organization/useOrganization.js +98 -0
- package/dist/contexts/Organization/useOrganization.js.map +1 -0
- package/dist/contexts/Theme/ThemeContext.js +10 -0
- package/dist/contexts/Theme/ThemeContext.js.map +1 -0
- package/dist/contexts/Theme/ThemeProvider.js +66 -0
- package/dist/contexts/Theme/ThemeProvider.js.map +1 -0
- package/dist/contexts/Theme/useTheme.js +14 -0
- package/dist/contexts/Theme/useTheme.js.map +1 -0
- package/dist/contexts/Theme/v1/ThemeProvider.js +186 -0
- package/dist/contexts/Theme/v1/ThemeProvider.js.map +1 -0
- package/dist/contexts/Theme/v2/ThemeProvider.js +104 -0
- package/dist/contexts/Theme/v2/ThemeProvider.js.map +1 -0
- package/dist/contexts/ThunderID/ThunderIDContext.d.ts +12 -2
- package/dist/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -1
- package/dist/contexts/ThunderID/ThunderIDContext.js +50 -0
- package/dist/contexts/ThunderID/ThunderIDContext.js.map +1 -0
- package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
- package/dist/contexts/ThunderID/ThunderIDProvider.js +403 -0
- package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -0
- package/dist/contexts/ThunderID/useThunderID.js +29 -0
- package/dist/contexts/ThunderID/useThunderID.js.map +1 -0
- package/dist/contexts/User/UserContext.js +20 -0
- package/dist/contexts/User/UserContext.js.map +1 -0
- package/dist/contexts/User/UserProvider.js +57 -0
- package/dist/contexts/User/UserProvider.js.map +1 -0
- package/dist/contexts/User/useUser.js +88 -0
- package/dist/contexts/User/useUser.js.map +1 -0
- package/dist/hooks/useBranding.d.ts +1 -1
- package/dist/hooks/useBranding.js +69 -0
- package/dist/hooks/useBranding.js.map +1 -0
- package/dist/hooks/useBrowserUrl.js +31 -0
- package/dist/hooks/useBrowserUrl.js.map +1 -0
- package/dist/hooks/useForm.js +214 -0
- package/dist/hooks/useForm.js.map +1 -0
- package/dist/hooks/useTranslation.js +76 -0
- package/dist/hooks/useTranslation.js.map +1 -0
- package/dist/hooks/v2/useOAuthCallback.js +84 -0
- package/dist/hooks/v2/useOAuthCallback.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +123 -19542
- package/dist/utils/applyThemeToDOM.js +15 -0
- package/dist/utils/applyThemeToDOM.js.map +1 -0
- package/dist/utils/getDisplayName.d.ts.map +1 -1
- package/dist/utils/getDisplayName.js +50 -0
- package/dist/utils/getDisplayName.js.map +1 -0
- package/dist/utils/getMappedUserProfileValue.js +59 -0
- package/dist/utils/getMappedUserProfileValue.js.map +1 -0
- package/dist/utils/normalizeThemeConfig.js +42 -0
- package/dist/utils/normalizeThemeConfig.js.map +1 -0
- package/dist/utils/oauth.js +26 -0
- package/dist/utils/oauth.js.map +1 -0
- package/dist/utils/v2/buildThemeConfigFromFlowMeta.js +47 -0
- package/dist/utils/v2/buildThemeConfigFromFlowMeta.js.map +1 -0
- package/dist/utils/v2/flowTransformer.d.ts +17 -8
- package/dist/utils/v2/flowTransformer.d.ts.map +1 -1
- package/dist/utils/v2/flowTransformer.js +152 -0
- package/dist/utils/v2/flowTransformer.js.map +1 -0
- package/dist/utils/v2/getAuthComponentHeadings.d.ts.map +1 -1
- package/dist/utils/v2/getAuthComponentHeadings.js +102 -0
- package/dist/utils/v2/getAuthComponentHeadings.js.map +1 -0
- package/dist/utils/v2/passkey.js +90 -0
- package/dist/utils/v2/passkey.js.map +1 -0
- package/dist/utils/v2/resolveTranslationsInArray.js +21 -0
- package/dist/utils/v2/resolveTranslationsInArray.js.map +1 -0
- package/dist/utils/v2/resolveTranslationsInObject.js +31 -0
- package/dist/utils/v2/resolveTranslationsInObject.js.map +1 -0
- package/package.json +8 -7
- package/dist/cjs/index.js +0 -19819
- package/dist/cjs/index.js.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseSignIn.cjs","names":["logger: ReturnType<typeof createPackageComponentLogger>","ApplicationNativeAuthenticationConstants","EmbeddedSignInFlowAuthenticatorPromptType","HIDDEN_AUTHENTICATORS: string[]","BaseSignInContent: FC<BaseSignInProps>","useTheme","useTranslation","useFlow","styles: ReturnType<typeof useStyles>","useStyles","isLoading: boolean","reRenderCheckRef: RefObject<boolean>","useForm","setupFormFields: any","initialValues: Record<string, string>","EmbeddedSignInFlowStepType","responseAuthenticator: any","redirectUrl: string","popup: Window | null","messageHandler: any","popupMonitor: any","expectedOrigin: string","popupUrl: string","url: URL","code: string | null","state: string | null","submitResponse: any","EmbeddedSignInFlowStatus","response: any","nextStepResponse: any","nextAuthenticator: any","ThunderIDAPIError","challengeData: any","tokenResponse: any","errorMessage: string","formResponse: any","hasMultipleOptions: any","getAvailableAuthenticators: any","containerClasses: string","inputClasses: string","buttonClasses: string","errorClasses: string","messageClasses: string","authenticator: any","CardPrimitive","Spinner","Typography","availableAuthenticators: EmbeddedSignInFlowAuthenticator[]","userPromptAuthenticators: any[]","optionAuthenticators: any[]","AlertPrimitive","messageVariant: AlertVariant","lowerType: string","Divider","formData: Record<string, string>","createSignInOptionFromAuthenticator","BaseSignIn: FC<BaseSignInProps>","Logo","FlowProvider"],"sources":["../../../../../../../src/components/presentation/auth/SignIn/v1/BaseSignIn.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * 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 * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {cx} from '@emotion/css';\nimport {\n EmbeddedSignInFlowAuthenticator,\n EmbeddedSignInFlowInitiateResponse,\n EmbeddedSignInFlowHandleResponse,\n EmbeddedSignInFlowStepType,\n EmbeddedSignInFlowStatus,\n EmbeddedSignInFlowAuthenticatorPromptType,\n ApplicationNativeAuthenticationConstants,\n ThunderIDAPIError,\n withVendorCSSClassPrefix,\n EmbeddedSignInFlowHandleRequestPayload,\n EmbeddedFlowExecuteRequestConfig,\n handleWebAuthnAuthentication,\n createPackageComponentLogger,\n} from '@thunderid/browser';\nimport {FC, FormEvent, RefObject, useEffect, useState, useCallback, useRef, ReactElement} from 'react';\nimport {createSignInOptionFromAuthenticator} from './options/SignInOptionFactory';\nimport FlowProvider from '../../../../../contexts/Flow/FlowProvider';\nimport useFlow from '../../../../../contexts/Flow/useFlow';\nimport useTheme from '../../../../../contexts/Theme/useTheme';\nimport {useForm, FormField} from '../../../../../hooks/useForm';\nimport useTranslation from '../../../../../hooks/useTranslation';\nimport AlertPrimitive, {AlertVariant} from '../../../../primitives/Alert/Alert';\nimport CardPrimitive, {CardProps} from '../../../../primitives/Card/Card';\nimport Divider from '../../../../primitives/Divider/Divider';\nimport Logo from '../../../../primitives/Logo/Logo';\nimport Spinner from '../../../../primitives/Spinner/Spinner';\nimport Typography from '../../../../primitives/Typography/Typography';\nimport useStyles from '../BaseSignIn.styles';\n\nconst logger: ReturnType<typeof createPackageComponentLogger> = createPackageComponentLogger(\n '@thunderid/react',\n 'BaseSignIn',\n);\n\n/**\n * Check if the authenticator is a passkey/FIDO authenticator\n */\nconst isPasskeyAuthenticator = (authenticator: EmbeddedSignInFlowAuthenticator): boolean =>\n authenticator.authenticatorId === ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Passkey &&\n authenticator.metadata?.promptType === EmbeddedSignInFlowAuthenticatorPromptType.InternalPrompt &&\n (authenticator.metadata as any)?.additionalData?.challengeData;\n\n/**\n * Props for the BaseSignIn component.\n */\nexport interface BaseSignInProps {\n afterSignInUrl?: string;\n\n /**\n * Custom CSS class name for the submit button.\n */\n buttonClassName?: string;\n\n /**\n * Custom CSS class name for the form container.\n */\n className?: string;\n\n /**\n * Custom CSS class name for error messages.\n */\n errorClassName?: string;\n\n /**\n * Custom CSS class name for form inputs.\n */\n inputClassName?: string;\n\n /**\n * Flag to determine the component is ready to be rendered.\n */\n isLoading?: boolean;\n\n /**\n * Custom CSS class name for info messages.\n */\n messageClassName?: string;\n\n /**\n * Callback function called when authentication fails.\n * @param error - The error that occurred during authentication.\n */\n onError?: (error: Error) => void;\n\n /**\n * Callback function called when authentication flow status changes.\n * @param response - The current authentication response.\n */\n onFlowChange?: (response: EmbeddedSignInFlowInitiateResponse | EmbeddedSignInFlowHandleResponse) => void;\n\n /**\n * Function to initialize authentication flow.\n * @returns Promise resolving to the initial authentication response.\n */\n onInitialize?: () => Promise<EmbeddedSignInFlowInitiateResponse>;\n\n /**\n * Function to handle authentication steps.\n * @param payload - The authentication payload.\n * @returns Promise resolving to the authentication response.\n */\n onSubmit?: (\n payload: EmbeddedSignInFlowHandleRequestPayload,\n request: EmbeddedFlowExecuteRequestConfig,\n ) => Promise<EmbeddedSignInFlowHandleResponse>;\n\n /**\n * Callback function called when authentication is successful.\n * @param authData - The authentication data returned upon successful completion.\n */\n onSuccess?: (authData: Record<string, any>) => void;\n\n /**\n * Whether to show the logo.\n */\n showLogo?: boolean;\n /**\n * Whether to show the subtitle.\n */\n showSubtitle?: boolean;\n\n /**\n * Whether to show the title.\n */\n showTitle?: boolean;\n\n /**\n * Size variant for the component.\n */\n size?: 'small' | 'medium' | 'large';\n\n /**\n * Theme variant for the component.\n */\n variant?: CardProps['variant'];\n}\n\n/**\n * `T3JnYW5pemF0aW9uQXV0aGVudGljYXRvcjpTU08` - OrganizationSSO\n * Currently, `App-Native Authentication` doesn't support organization SSO.\n * Tracker: TODO: Create `product-is` issue for this.\n */\nconst HIDDEN_AUTHENTICATORS: string[] = ['T3JnYW5pemF0aW9uQXV0aGVudGljYXRvcjpTU08'];\n\n/**\n * Internal component that consumes FlowContext and renders the sign-in UI.\n */\nconst BaseSignInContent: FC<BaseSignInProps> = ({\n afterSignInUrl,\n onInitialize,\n isLoading: externalIsLoading,\n onSubmit,\n onSuccess,\n onError,\n onFlowChange,\n className = '',\n inputClassName = '',\n buttonClassName = '',\n errorClassName = '',\n messageClassName = '',\n size = 'medium',\n variant = 'outlined',\n showTitle = true,\n showSubtitle = true,\n}: BaseSignInProps): ReactElement => {\n const {theme} = useTheme();\n const {t} = useTranslation();\n const {subtitle: flowSubtitle, title: flowTitle, messages: flowMessages} = useFlow();\n const styles: ReturnType<typeof useStyles> = useStyles(theme, theme.vars.colors.text.primary);\n\n const [isSignInInitializationRequestLoading, setIsSignInInitializationRequestLoading] = useState(false);\n const [isInitialized, setIsInitialized] = useState(false);\n const [currentFlow, setCurrentFlow] = useState<EmbeddedSignInFlowInitiateResponse | null>(null);\n const [currentAuthenticator, setCurrentAuthenticator] = useState<EmbeddedSignInFlowAuthenticator | null>(null);\n const [error, setError] = useState<string | null>(null);\n const [messages, setMessages] = useState<{message: string; type: string}[]>([]);\n\n const isLoading: boolean = externalIsLoading || isSignInInitializationRequestLoading;\n\n const reRenderCheckRef: RefObject<boolean> = useRef<boolean>(false);\n\n const formFields: FormField[] =\n currentAuthenticator?.metadata?.params?.map((param: any) => ({\n initialValue: '',\n name: param.param,\n required: currentAuthenticator.requiredParams.includes(param.param),\n validator: (value: string): string | null => {\n if (currentAuthenticator.requiredParams.includes(param.param) && (!value || value.trim() === '')) {\n return t('validations.required.field.error');\n }\n return null;\n },\n })) || [];\n\n const form: any = useForm<Record<string, string>>({\n fields: formFields,\n initialValues: {},\n requiredMessage: t('validations.required.field.error'),\n validateOnBlur: true,\n validateOnChange: false,\n });\n\n const {\n values: formValues,\n touched: touchedFields,\n setValue: setFormValue,\n setTouched: setFormTouched,\n validateForm,\n touchAllFields,\n reset: resetForm,\n } = form;\n\n /**\n * Setup form fields based on the current authenticator.\n */\n const setupFormFields: any = useCallback(\n (authenticator: EmbeddedSignInFlowAuthenticator): void => {\n const initialValues: Record<string, string> = {};\n authenticator.metadata?.params?.forEach((param: any) => {\n initialValues[param.param] = '';\n });\n\n // Reset form with new values\n resetForm();\n\n // Set initial values for all fields\n Object.keys(initialValues).forEach((key: string) => {\n setFormValue(key, initialValues[key]);\n });\n },\n [resetForm, setFormValue],\n );\n\n /**\n * Check if the response contains a redirection URL and perform the redirect if necessary.\n * @param response - The authentication response\n * @returns true if a redirect was performed, false otherwise\n */\n const handleRedirectionIfNeeded = (response: EmbeddedSignInFlowHandleResponse): boolean => {\n if (\n response &&\n 'nextStep' in response &&\n response.nextStep &&\n (response.nextStep as any).stepType === EmbeddedSignInFlowStepType.AuthenticatorPrompt &&\n (response.nextStep as any).authenticators?.length === 1\n ) {\n const responseAuthenticator: any = (response.nextStep as any).authenticators[0];\n if (\n responseAuthenticator.metadata?.promptType === EmbeddedSignInFlowAuthenticatorPromptType.RedirectionPrompt &&\n responseAuthenticator.metadata?.additionalData?.redirectUrl\n ) {\n /**\n * Open a popup window to handle redirection prompts\n */\n const redirectUrl: string = responseAuthenticator.metadata?.additionalData?.redirectUrl;\n const popup: Window | null = window.open(\n redirectUrl,\n 'oauth_popup',\n 'width=500,height=600,scrollbars=yes,resizable=yes',\n );\n\n if (!popup) {\n logger.error('Failed to open popup window');\n return false;\n }\n\n /**\n * Forward declarations for mutually referencing variables.\n * `messageHandler`, `cleanup`, and `popupMonitor` reference each other,\n * so they are declared with `let` first and assigned below.\n */\n let messageHandler: any;\n let popupMonitor: any;\n\n const cleanup = (): void => {\n window.removeEventListener('message', messageHandler);\n if (popupMonitor) {\n clearInterval(popupMonitor);\n }\n };\n\n /**\n * Add an event listener to the window to capture the message from the popup\n */\n messageHandler = async function messageEventHandler(event: MessageEvent): Promise<void> {\n /**\n * Check if the message is from our popup window\n */\n if (event.source !== popup) {\n // Don't log every message rejection to reduce noise\n if (event.source !== window && event.source !== window.parent) {\n // TODO: Add logs\n }\n return;\n }\n\n /**\n * Check the origin of the message to ensure it's from a trusted source\n */\n const expectedOrigin: string = afterSignInUrl ? new URL(afterSignInUrl).origin : window.location.origin;\n if (event.origin !== expectedOrigin && event.origin !== window.location.origin) {\n return;\n }\n\n const {code, state} = event.data;\n\n if (code && state) {\n const payload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow!.flowId,\n selectedAuthenticator: {\n authenticatorId: responseAuthenticator.authenticatorId,\n params: {\n code,\n state,\n },\n },\n };\n\n await onSubmit!(payload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n\n popup.close();\n cleanup();\n } else {\n // TODO: Add logs\n }\n };\n\n window.addEventListener('message', messageHandler);\n\n /**\n * Monitor popup for closure and URL changes\n */\n let hasProcessedCallback = false; // Prevent multiple processing\n popupMonitor = setInterval(async (): Promise<void> => {\n try {\n if (popup.closed) {\n cleanup();\n\n return;\n }\n\n // Skip if we've already processed a callback\n if (hasProcessedCallback) {\n return;\n }\n\n // Try to access popup URL to check for callback\n try {\n const popupUrl: string = popup.location.href;\n\n // Check if we've been redirected to the callback URL\n if (popupUrl && (popupUrl.includes('code=') || popupUrl.includes('error='))) {\n hasProcessedCallback = true; // Set flag to prevent multiple processing\n\n // Parse the URL for OAuth parameters\n const url: URL = new URL(popupUrl);\n const code: string | null = url.searchParams.get('code');\n const state: string | null = url.searchParams.get('state');\n const oauthError: string | null = url.searchParams.get('error');\n\n if (oauthError) {\n logger.error('OAuth error:');\n popup.close();\n cleanup();\n return;\n }\n\n if (code && state) {\n const payload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow!.flowId,\n selectedAuthenticator: {\n authenticatorId: responseAuthenticator.authenticatorId,\n params: {\n code,\n state,\n },\n },\n };\n\n const submitResponse: any = await onSubmit!(payload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n\n popup.close();\n\n onFlowChange?.(submitResponse);\n\n if (submitResponse?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(submitResponse.authData);\n }\n }\n }\n } catch (e) {\n // Cross-origin error is expected when popup navigates to OAuth provider\n // This is normal and we can ignore it\n }\n } catch (e) {\n logger.error('Error monitoring popup:');\n }\n }, 1000);\n\n return true;\n }\n }\n return false;\n };\n\n /**\n * Handle form submission.\n */\n const handleSubmit = async (submittedValues: Record<string, string>): Promise<void> => {\n if (!currentFlow || !currentAuthenticator) {\n return;\n }\n\n // Mark all fields as touched before validation\n touchAllFields();\n\n const validation: any = validateForm();\n if (!validation.isValid) {\n return;\n }\n\n setIsSignInInitializationRequestLoading(true);\n setError(null);\n setMessages([]);\n\n try {\n const payload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow.flowId,\n selectedAuthenticator: {\n authenticatorId: currentAuthenticator.authenticatorId,\n params: submittedValues,\n },\n };\n\n const response: any = await onSubmit!(payload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n onFlowChange?.(response);\n\n if (response?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(response.authData);\n return;\n }\n\n if (\n response?.flowStatus === EmbeddedSignInFlowStatus.FailCompleted ||\n response?.flowStatus === EmbeddedSignInFlowStatus.FailIncomplete\n ) {\n setError(t('errors.signin.flow.completion.failure'));\n return;\n }\n\n // Check if the response contains a redirection URL and redirect if needed\n if (handleRedirectionIfNeeded(response)) {\n return;\n }\n\n if (response && 'flowId' in response && 'nextStep' in response) {\n const nextStepResponse: any = response;\n setCurrentFlow(nextStepResponse);\n\n if (nextStepResponse.nextStep?.authenticators?.length > 0) {\n if (\n nextStepResponse.nextStep.stepType === EmbeddedSignInFlowStepType.MultiOptionsPrompt &&\n nextStepResponse.nextStep.authenticators.length > 1\n ) {\n setCurrentAuthenticator(null);\n } else {\n const nextAuthenticator: any = nextStepResponse.nextStep.authenticators[0];\n setCurrentAuthenticator(nextAuthenticator);\n setupFormFields(nextAuthenticator);\n }\n }\n\n if (nextStepResponse.nextStep?.messages) {\n setMessages(\n nextStepResponse.nextStep.messages.map((msg: any) => ({\n message: msg.message || '',\n type: msg.type || 'INFO',\n })),\n );\n }\n }\n } catch (err) {\n const errorMessage: string = err instanceof ThunderIDAPIError ? err.message : t('errors.signin.flow.failure');\n setError(errorMessage);\n onError?.(err as Error);\n } finally {\n setIsSignInInitializationRequestLoading(false);\n }\n };\n\n /**\n * Handle authenticator selection for multi-option prompts.\n */\n const handleAuthenticatorSelection = async (\n authenticator: EmbeddedSignInFlowAuthenticator,\n formData?: Record<string, string>,\n ): Promise<void> => {\n if (!currentFlow) {\n return;\n }\n\n // Mark all fields as touched if we have form data (i.e., this is a submission)\n if (formData) {\n touchAllFields();\n }\n\n setIsSignInInitializationRequestLoading(true);\n setError(null);\n setMessages([]);\n\n try {\n // Handle passkey/FIDO authentication\n if (isPasskeyAuthenticator(authenticator)) {\n try {\n const challengeData: any = (authenticator.metadata as any)?.additionalData?.challengeData;\n if (!challengeData) {\n throw new Error('Missing challenge data for passkey authentication');\n }\n\n const tokenResponse: any = await handleWebAuthnAuthentication(challengeData);\n\n const payload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow.flowId,\n selectedAuthenticator: {\n authenticatorId: authenticator.authenticatorId,\n params: {\n tokenResponse,\n },\n },\n };\n\n const response: any = await onSubmit!(payload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n onFlowChange?.(response);\n\n if (response?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(response.authData);\n return;\n }\n\n if (\n response?.flowStatus === EmbeddedSignInFlowStatus.FailCompleted ||\n response?.flowStatus === EmbeddedSignInFlowStatus.FailIncomplete\n ) {\n setError(t('errors.signin.flow.passkeys.completion.failure'));\n return;\n }\n\n // Handle next step if authentication is not complete\n if (response && 'flowId' in response && 'nextStep' in response) {\n const nextStepResponse: any = response;\n setCurrentFlow(nextStepResponse);\n\n if (nextStepResponse.nextStep?.authenticators?.length > 0) {\n if (\n nextStepResponse.nextStep.stepType === EmbeddedSignInFlowStepType.MultiOptionsPrompt &&\n nextStepResponse.nextStep.authenticators.length > 1\n ) {\n setCurrentAuthenticator(null);\n } else {\n const nextAuthenticator: any = nextStepResponse.nextStep.authenticators[0];\n\n // Check if the next authenticator is also a passkey - if so, auto-trigger it\n if (isPasskeyAuthenticator(nextAuthenticator)) {\n // Recursively handle the passkey authenticator without showing UI\n handleAuthenticatorSelection(nextAuthenticator);\n return;\n }\n setCurrentAuthenticator(nextAuthenticator);\n setupFormFields(nextAuthenticator);\n }\n }\n\n if (nextStepResponse.nextStep?.messages) {\n setMessages(\n nextStepResponse.nextStep.messages.map((msg: any) => ({\n message: msg.message || '',\n type: msg.type || 'INFO',\n })),\n );\n }\n }\n } catch (passkeyError) {\n logger.error('Passkey authentication error:');\n\n // Provide more context for common errors\n let errorMessage: string =\n passkeyError instanceof Error ? passkeyError.message : t('errors.signin.flow.passkeys.failure');\n\n // Add additional context for security errors\n if (passkeyError instanceof Error && passkeyError.message.includes('security')) {\n errorMessage +=\n ' This may be due to browser security settings, an insecure connection, or device restrictions.';\n }\n\n setError(errorMessage);\n }\n } else if (authenticator.metadata?.promptType === EmbeddedSignInFlowAuthenticatorPromptType.RedirectionPrompt) {\n const payload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow.flowId,\n selectedAuthenticator: {\n authenticatorId: authenticator.authenticatorId,\n params: {},\n },\n };\n\n const response: any = await onSubmit!(payload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n onFlowChange?.(response);\n\n if (response?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(response.authData);\n return;\n }\n\n // Check if the response contains a redirection URL and redirect if needed\n if (handleRedirectionIfNeeded(response)) {\n /* empty - redirect handled */\n }\n } else if (formData) {\n const validation: any = validateForm();\n if (!validation.isValid) {\n return;\n }\n\n const formPayload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow.flowId,\n selectedAuthenticator: {\n authenticatorId: authenticator.authenticatorId,\n params: formData,\n },\n };\n\n const formResponse: any = await onSubmit!(formPayload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n onFlowChange?.(formResponse);\n\n if (formResponse?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(formResponse.authData);\n return;\n }\n\n if (\n formResponse?.flowStatus === EmbeddedSignInFlowStatus.FailCompleted ||\n formResponse?.flowStatus === EmbeddedSignInFlowStatus.FailIncomplete\n ) {\n setError('Authentication failed. Please check your credentials and try again.');\n return;\n }\n\n // Check if the response contains a redirection URL and redirect if needed\n if (handleRedirectionIfNeeded(formResponse)) {\n return;\n }\n\n if (formResponse && 'flowId' in formResponse && 'nextStep' in formResponse) {\n const nextStepResponse: any = formResponse;\n setCurrentFlow(nextStepResponse);\n\n if (nextStepResponse.nextStep?.authenticators?.length > 0) {\n if (\n nextStepResponse.nextStep.stepType === EmbeddedSignInFlowStepType.MultiOptionsPrompt &&\n nextStepResponse.nextStep.authenticators.length > 1\n ) {\n setCurrentAuthenticator(null);\n } else {\n const nextAuthenticator: any = nextStepResponse.nextStep.authenticators[0];\n\n // Check if the next authenticator is a passkey - if so, auto-trigger it\n if (isPasskeyAuthenticator(nextAuthenticator)) {\n // Recursively handle the passkey authenticator without showing UI\n handleAuthenticatorSelection(nextAuthenticator);\n return;\n }\n setCurrentAuthenticator(nextAuthenticator);\n setupFormFields(nextAuthenticator);\n }\n }\n\n if (nextStepResponse.nextStep?.messages) {\n setMessages(\n nextStepResponse.nextStep.messages.map((msg: any) => ({\n message: msg.message || '',\n type: msg.type || 'INFO',\n })),\n );\n }\n }\n } else {\n // Check if the authenticator requires user input\n const hasParams: boolean = authenticator.metadata?.params && authenticator.metadata.params.length > 0;\n\n if (!hasParams) {\n // If no parameters are required, directly authenticate\n const payload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow.flowId,\n selectedAuthenticator: {\n authenticatorId: authenticator.authenticatorId,\n params: {},\n },\n };\n\n const response: any = await onSubmit!(payload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n onFlowChange?.(response);\n\n if (response?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(response.authData);\n return;\n }\n\n if (\n response?.flowStatus === EmbeddedSignInFlowStatus.FailCompleted ||\n response?.flowStatus === EmbeddedSignInFlowStatus.FailIncomplete\n ) {\n setError('Authentication failed. Please try again.');\n return;\n }\n\n // Check if the response contains a redirection URL and redirect if needed\n if (handleRedirectionIfNeeded(response)) {\n return;\n }\n\n if (response && 'flowId' in response && 'nextStep' in response) {\n const nextStepResponse: any = response;\n setCurrentFlow(nextStepResponse);\n\n if (nextStepResponse.nextStep?.authenticators?.length > 0) {\n if (\n nextStepResponse.nextStep.stepType === EmbeddedSignInFlowStepType.MultiOptionsPrompt &&\n nextStepResponse.nextStep.authenticators.length > 1\n ) {\n setCurrentAuthenticator(null);\n } else {\n const nextAuthenticator: any = nextStepResponse.nextStep.authenticators[0];\n\n // Check if the next authenticator is a passkey - if so, auto-trigger it\n if (isPasskeyAuthenticator(nextAuthenticator)) {\n // Recursively handle the passkey authenticator without showing UI\n handleAuthenticatorSelection(nextAuthenticator);\n return;\n }\n setCurrentAuthenticator(nextAuthenticator);\n setupFormFields(nextAuthenticator);\n }\n }\n\n if (nextStepResponse.nextStep?.messages) {\n setMessages(\n nextStepResponse.nextStep.messages.map((msg: any) => ({\n message: msg.message || '',\n type: msg.type || 'INFO',\n })),\n );\n }\n }\n } else {\n // If parameters are required, show the form\n setCurrentAuthenticator(authenticator);\n setupFormFields(authenticator);\n }\n }\n } catch (err) {\n const errorMessage: string = err instanceof ThunderIDAPIError ? err?.message : 'Authenticator selection failed';\n setError(errorMessage);\n onError?.(err as Error);\n } finally {\n setIsSignInInitializationRequestLoading(false);\n }\n };\n\n /**\n * Handle input value changes.\n */\n const handleInputChange = (param: string, value: string): void => {\n setFormValue(param, value);\n setFormTouched(param, true);\n };\n\n /**\n * Check if current flow has multiple authenticator options.\n */\n const hasMultipleOptions: any = useCallback(\n (): boolean =>\n !!(\n currentFlow &&\n 'nextStep' in currentFlow &&\n currentFlow.nextStep?.stepType === EmbeddedSignInFlowStepType.MultiOptionsPrompt &&\n currentFlow.nextStep?.authenticators &&\n currentFlow.nextStep.authenticators.length > 1\n ),\n [currentFlow],\n );\n\n /**\n * Get available authenticators for selection.\n */\n const getAvailableAuthenticators: any = useCallback((): EmbeddedSignInFlowAuthenticator[] => {\n if (!currentFlow || !('nextStep' in currentFlow) || !currentFlow.nextStep?.authenticators) {\n return [];\n }\n return currentFlow.nextStep.authenticators;\n }, [currentFlow]);\n\n // Generate CSS classes\n const containerClasses: string = cx(\n [\n withVendorCSSClassPrefix('signin'),\n withVendorCSSClassPrefix(`signin--${size}`),\n withVendorCSSClassPrefix(`signin--${variant}`),\n ],\n className,\n );\n\n const inputClasses: string = cx(\n [\n withVendorCSSClassPrefix('signin__input'),\n size === 'small' && withVendorCSSClassPrefix('signin__input--small'),\n size === 'large' && withVendorCSSClassPrefix('signin__input--large'),\n ],\n inputClassName,\n );\n\n const buttonClasses: string = cx(\n [\n withVendorCSSClassPrefix('signin__button'),\n size === 'small' && withVendorCSSClassPrefix('signin__button--small'),\n size === 'large' && withVendorCSSClassPrefix('signin__button--large'),\n ],\n buttonClassName,\n );\n\n const errorClasses: string = cx([withVendorCSSClassPrefix('signin__error')], errorClassName);\n\n const messageClasses: string = cx([withVendorCSSClassPrefix('signin__messages')], messageClassName); // Initialize the flow on component mount\n\n useEffect(() => {\n if (isLoading) {\n return;\n }\n\n // React 18.x Strict.Mode has a new check for `Ensuring reusable state` to facilitate an upcoming react feature.\n // https://reactjs.org/docs/strict-mode.html#ensuring-reusable-state\n // This will remount all the useEffects to ensure that there are no unexpected side effects.\n // When react remounts the SignIn, it will send two authorize requests.\n // https://github.com/reactwg/react-18/discussions/18#discussioncomment-795623\n if (reRenderCheckRef.current) {\n return;\n }\n\n reRenderCheckRef.current = true;\n\n (async (): Promise<void> => {\n setIsSignInInitializationRequestLoading(true);\n setError(null);\n\n try {\n const response: any = await onInitialize?.();\n\n setCurrentFlow(response);\n setIsInitialized(true);\n onFlowChange?.(response);\n\n if (response?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(response.authData || {});\n return;\n }\n\n if (response?.nextStep?.authenticators?.length > 0) {\n if (\n response.nextStep.stepType === EmbeddedSignInFlowStepType.MultiOptionsPrompt &&\n response.nextStep.authenticators.length > 1\n ) {\n setCurrentAuthenticator(null);\n } else {\n const authenticator: any = response.nextStep.authenticators[0];\n setCurrentAuthenticator(authenticator);\n setupFormFields(authenticator);\n }\n }\n\n if (response && 'nextStep' in response && response.nextStep && 'messages' in response.nextStep) {\n const stepMessages: any[] = response.nextStep.messages || [];\n setMessages(\n stepMessages.map((msg: any) => ({\n message: msg.message || '',\n type: msg.type || 'INFO',\n })),\n );\n }\n } catch (err) {\n const errorMessage: string = err instanceof ThunderIDAPIError ? err.message : t('errors.signin.initialization');\n setError(errorMessage);\n onError?.(err as Error);\n } finally {\n setIsSignInInitializationRequestLoading(false);\n }\n })();\n }, [isLoading]);\n\n if (!isInitialized && isLoading) {\n return (\n <CardPrimitive className={cx(containerClasses, styles['card'])} data-testid=\"thunderid-signin\" variant={variant}>\n <CardPrimitive.Content>\n <div className={styles['loadingContainer']}>\n <Spinner size=\"medium\" />\n <Typography variant=\"body1\" className={styles['loadingText']}>\n {t('messages.loading.placeholder')}\n </Typography>\n </div>\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n }\n\n if (hasMultipleOptions() && !currentAuthenticator) {\n const availableAuthenticators: EmbeddedSignInFlowAuthenticator[] = getAvailableAuthenticators();\n\n const userPromptAuthenticators: any[] = availableAuthenticators.filter(\n (auth: any) =>\n auth.metadata?.promptType === EmbeddedSignInFlowAuthenticatorPromptType.UserPrompt ||\n // Fallback: LOCAL authenticators with params are typically user prompts\n (auth.idp === 'LOCAL' && auth.metadata?.params && auth.metadata.params.length > 0),\n );\n\n const optionAuthenticators: any[] = availableAuthenticators\n .filter((auth: any) => !userPromptAuthenticators.includes(auth))\n .filter((authenticator: any) => !HIDDEN_AUTHENTICATORS.includes(authenticator.authenticatorId));\n\n return (\n <CardPrimitive className={cx(containerClasses, styles['card'])} data-testid=\"thunderid-signin\" variant={variant}>\n {(showTitle || showSubtitle) && (\n <CardPrimitive.Header className={styles['header']}>\n {showTitle && (\n <CardPrimitive.Title level={2} className={styles['title']}>\n {flowTitle || t('signin.heading')}\n </CardPrimitive.Title>\n )}\n {showSubtitle && (\n <Typography variant=\"body1\" className={styles['subtitle']}>\n {flowSubtitle || t('signin.subheading')}\n </Typography>\n )}\n </CardPrimitive.Header>\n )}\n <CardPrimitive.Content>\n {flowMessages && flowMessages.length > 0 && (\n <div className={styles['flowMessagesContainer']}>\n {flowMessages.map((flowMessage: any, index: number) => (\n <AlertPrimitive\n key={flowMessage.id || index}\n variant={flowMessage.type}\n className={cx(styles['flowMessageItem'], messageClasses)}\n >\n <AlertPrimitive.Description>{flowMessage.message}</AlertPrimitive.Description>\n </AlertPrimitive>\n ))}\n </div>\n )}\n {messages.length > 0 && (\n <div className={styles['messagesContainer']}>\n {messages.map((message: any, index: number) => {\n let messageVariant: AlertVariant;\n const lowerType: string = message.type.toLowerCase();\n if (lowerType === 'error') {\n messageVariant = 'error';\n } else if (lowerType === 'warning') {\n messageVariant = 'warning';\n } else if (lowerType === 'success') {\n messageVariant = 'success';\n } else {\n messageVariant = 'info';\n }\n\n return (\n <AlertPrimitive\n key={index}\n variant={messageVariant}\n className={cx(styles['messageItem'], messageClasses)}\n >\n <AlertPrimitive.Description>{message.message}</AlertPrimitive.Description>\n </AlertPrimitive>\n );\n })}\n </div>\n )}\n {error && (\n <AlertPrimitive variant=\"error\" className={cx(styles['errorContainer'], errorClasses)}>\n <AlertPrimitive.Title>Error</AlertPrimitive.Title>\n <AlertPrimitive.Description>{error}</AlertPrimitive.Description>\n </AlertPrimitive>\n )}\n\n <div className={styles['contentContainer']}>\n {/* Render USER_PROMPT authenticators as form fields */}\n {userPromptAuthenticators.map((authenticator: any, index: number) => (\n <div key={authenticator.authenticatorId} className={styles['authenticatorItem']}>\n {index > 0 && <Divider className={styles['divider']}>OR</Divider>}\n <form\n className={styles['form']}\n onSubmit={(e: FormEvent): void => {\n e.preventDefault();\n const formData: Record<string, string> = {};\n authenticator.metadata?.params?.forEach((param: any) => {\n formData[param.param] = formValues[param.param] || '';\n });\n handleAuthenticatorSelection(authenticator, formData);\n }}\n >\n {createSignInOptionFromAuthenticator(\n authenticator,\n formValues,\n touchedFields,\n isLoading,\n handleInputChange,\n (auth: any, formData: any) => handleAuthenticatorSelection(auth, formData),\n {\n buttonClassName: buttonClasses,\n error,\n inputClassName: inputClasses,\n },\n )}\n </form>\n </div>\n ))}\n\n {/* Add divider between user prompts and option authenticators if both exist */}\n {userPromptAuthenticators.length > 0 && optionAuthenticators.length > 0 && (\n <Divider className={styles['divider']}>OR</Divider>\n )}\n\n {/* Render all other authenticators (REDIRECTION_PROMPT, multi-option buttons, etc.) */}\n {optionAuthenticators.map((authenticator: any) => (\n <div key={authenticator.authenticatorId} className={styles['authenticatorItem']}>\n {createSignInOptionFromAuthenticator(\n authenticator,\n formValues,\n touchedFields,\n isLoading,\n handleInputChange,\n (auth: any, formData: any) => handleAuthenticatorSelection(auth, formData),\n {\n buttonClassName: buttonClasses,\n error,\n inputClassName: inputClasses,\n },\n )}\n </div>\n ))}\n </div>\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n }\n\n if (!currentAuthenticator) {\n return (\n <CardPrimitive\n className={cx(containerClasses, styles['noAuthenticatorCard'])}\n data-testid=\"thunderid-signin\"\n variant={variant}\n >\n <CardPrimitive.Content>\n {error && (\n <AlertPrimitive variant=\"error\" className={styles['errorAlert']}>\n <AlertPrimitive.Title>{t('errors.heading') || 'Error'}</AlertPrimitive.Title>\n <AlertPrimitive.Description>{error}</AlertPrimitive.Description>\n </AlertPrimitive>\n )}\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n }\n\n // If the current authenticator is a passkey, auto-trigger it instead of showing a form\n if (isPasskeyAuthenticator(currentAuthenticator) && !isLoading) {\n // Auto-trigger passkey authentication\n useEffect(() => {\n handleAuthenticatorSelection(currentAuthenticator);\n }, [currentAuthenticator]);\n\n // Show loading state while passkey authentication is in progress\n return (\n <CardPrimitive className={cx(containerClasses, styles['card'])} data-testid=\"thunderid-signin\" variant={variant}>\n <CardPrimitive.Content>\n <div className={styles['centeredContainer']}>\n <div className={styles['passkeyContainer']}>\n <Spinner size=\"large\" />\n </div>\n <Typography variant=\"body1\">{t('passkey.authenticating') || 'Authenticating with passkey...'}</Typography>\n <Typography variant=\"body2\" className={styles['passkeyText']}>\n {t('passkey.instruction') || 'Please use your fingerprint, face, or security key to authenticate.'}\n </Typography>\n </div>\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n }\n\n return (\n <CardPrimitive className={cx(containerClasses, styles['card'])} data-testid=\"thunderid-signin\" variant={variant}>\n <CardPrimitive.Header className={styles['header']}>\n <CardPrimitive.Title level={2} className={styles['title']}>\n {flowTitle || t('signin.heading')}\n </CardPrimitive.Title>\n <Typography variant=\"body1\" className={styles['subtitle']}>\n {flowSubtitle || t('signin.subheading')}\n </Typography>\n {flowMessages && flowMessages.length > 0 && (\n <div className={styles['flowMessagesContainer']}>\n {flowMessages.map((flowMessage: any, index: number) => (\n <AlertPrimitive\n key={flowMessage.id || index}\n variant={flowMessage.type}\n className={cx(styles['flowMessageItem'], messageClasses)}\n >\n <AlertPrimitive.Description>{flowMessage.message}</AlertPrimitive.Description>\n </AlertPrimitive>\n ))}\n </div>\n )}\n {messages.length > 0 && (\n <div className={styles['messagesContainer']}>\n {messages.map((message: any, index: number) => {\n const messageTypeToVariant: Record<string, AlertVariant> = {\n error: 'error',\n success: 'success',\n warning: 'warning',\n };\n const alertVariant: AlertVariant = messageTypeToVariant[message.type.toLowerCase()] || 'info';\n\n return (\n <AlertPrimitive\n key={index}\n variant={alertVariant}\n className={cx(styles['messageItem'], messageClasses)}\n >\n <AlertPrimitive.Description>{message.message}</AlertPrimitive.Description>\n </AlertPrimitive>\n );\n })}\n </div>\n )}\n </CardPrimitive.Header>\n\n <CardPrimitive.Content>\n {error && (\n <AlertPrimitive variant=\"error\" className={cx(styles['errorContainer'], errorClasses)}>\n <AlertPrimitive.Title>{t('errors.heading')}</AlertPrimitive.Title>\n <AlertPrimitive.Description>{error}</AlertPrimitive.Description>\n </AlertPrimitive>\n )}\n\n <form\n className={styles['form']}\n onSubmit={(e: FormEvent<HTMLFormElement>): void => {\n e.preventDefault();\n const formData: Record<string, string> = {};\n currentAuthenticator.metadata?.params?.forEach((param: any) => {\n formData[param.param] = formValues[param.param] || '';\n });\n handleSubmit(formData);\n }}\n >\n {createSignInOptionFromAuthenticator(\n currentAuthenticator,\n formValues,\n touchedFields,\n isLoading,\n handleInputChange,\n (authenticator: any, formData: any) => handleSubmit(formData || formValues),\n {\n buttonClassName: buttonClasses,\n error,\n inputClassName: inputClasses,\n },\n )}\n </form>\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n};\n\n/**\n * Base SignIn component that provides native authentication flow.\n * This component handles both the presentation layer and authentication flow logic.\n * It accepts API functions as props to maintain framework independence.\n *\n * @example\n * ```tsx\n * import { BaseSignIn } from '@thunderid/react';\n *\n * const MySignIn = () => {\n * return (\n * <BaseSignIn\n * onInitialize={async () => {\n * // Your API call to initialize authentication\n * return await initializeAuth();\n * }}\n * onSubmit={async (payload) => {\n * // Your API call to handle authentication\n * return await handleAuth(payload);\n * }}\n * onSuccess={(authData) => {\n * console.log('Success:', authData);\n * }}\n * onError={(error) => {\n * console.error('Error:', error);\n * }}\n * className=\"max-w-md mx-auto\"\n * />\n * );\n * };\n * ```\n */\nconst BaseSignIn: FC<BaseSignInProps> = ({showLogo = true, ...rest}: BaseSignInProps): ReactElement => {\n const {theme} = useTheme();\n const styles: ReturnType<typeof useStyles> = useStyles(theme, theme.vars.colors.text.primary);\n\n return (\n <div>\n {showLogo && (\n <div className={styles['logoContainer']}>\n <Logo size=\"large\" />\n </div>\n )}\n <FlowProvider>\n <BaseSignInContent showLogo={showLogo} {...rest} />\n </FlowProvider>\n </div>\n );\n};\n\nexport default BaseSignIn;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../../../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_useFlow = require('../../../../../../contexts/Flow/useFlow.cjs');
|
|
3
|
+
const require_useTheme = require('../../../../../../contexts/Theme/useTheme.cjs');
|
|
4
|
+
const require_useTranslation = require('../../../../../../hooks/useTranslation.cjs');
|
|
5
|
+
const require_Button = require('../../../../../primitives/Button/Button.cjs');
|
|
6
|
+
const require_OtpField = require('../../../../../primitives/OtpField/OtpField.cjs');
|
|
7
|
+
const require_FieldFactory = require('../../../../../factories/FieldFactory.cjs');
|
|
8
|
+
let __thunderid_browser = require("@thunderid/browser");
|
|
9
|
+
__thunderid_browser = require_rolldown_runtime.__toESM(__thunderid_browser);
|
|
10
|
+
let react = require("react");
|
|
11
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
12
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
13
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
14
|
+
|
|
15
|
+
//#region src/components/presentation/auth/SignIn/v1/options/EmailOtp.tsx
|
|
16
|
+
/**
|
|
17
|
+
* Email OTP Sign-In Option Component.
|
|
18
|
+
* Handles email-based OTP authentication.
|
|
19
|
+
*/
|
|
20
|
+
const EmailOtp = ({ authenticator, formValues, touchedFields, isLoading, onInputChange, inputClassName = "", buttonClassName = "", preferences }) => {
|
|
21
|
+
const { theme } = require_useTheme.default();
|
|
22
|
+
const { t } = require_useTranslation.default(preferences?.i18n);
|
|
23
|
+
const { setTitle, setSubtitle } = require_useFlow.default();
|
|
24
|
+
const formFields = authenticator.metadata?.params?.sort((a, b) => a.order - b.order) || [];
|
|
25
|
+
(0, react.useEffect)(() => {
|
|
26
|
+
setTitle(t("email.otp.heading"));
|
|
27
|
+
setSubtitle(t("email.otp.subheading"));
|
|
28
|
+
}, [
|
|
29
|
+
setTitle,
|
|
30
|
+
setSubtitle,
|
|
31
|
+
t
|
|
32
|
+
]);
|
|
33
|
+
const hasOtpField = formFields.some((param) => param.param.toLowerCase().includes("otp") || param.param.toLowerCase().includes("code"));
|
|
34
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [formFields.map((param) => {
|
|
35
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: (param.param.toLowerCase().includes("otp") || param.param.toLowerCase().includes("code")) && hasOtpField ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_OtpField.default, {
|
|
36
|
+
length: 6,
|
|
37
|
+
value: formValues[param.param] || "",
|
|
38
|
+
onChange: (event) => onInputChange(param.param, event.target.value),
|
|
39
|
+
disabled: isLoading,
|
|
40
|
+
className: inputClassName
|
|
41
|
+
}) : require_FieldFactory.createField({
|
|
42
|
+
className: inputClassName,
|
|
43
|
+
disabled: isLoading,
|
|
44
|
+
label: param.displayName,
|
|
45
|
+
name: param.param,
|
|
46
|
+
onChange: (value) => onInputChange(param.param, value),
|
|
47
|
+
required: authenticator.requiredParams.includes(param.param),
|
|
48
|
+
touched: touchedFields[param.param] || false,
|
|
49
|
+
type: param.type === __thunderid_browser.EmbeddedSignInFlowAuthenticatorParamType.String && param.confidential ? __thunderid_browser.FieldType.Password : __thunderid_browser.FieldType.Text,
|
|
50
|
+
value: formValues[param.param] || ""
|
|
51
|
+
}) }, param.param);
|
|
52
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
|
|
53
|
+
fullWidth: true,
|
|
54
|
+
type: "submit",
|
|
55
|
+
color: "primary",
|
|
56
|
+
variant: "solid",
|
|
57
|
+
disabled: isLoading,
|
|
58
|
+
loading: isLoading,
|
|
59
|
+
className: buttonClassName,
|
|
60
|
+
style: { marginBottom: `calc(${theme.vars.spacing.unit} * 2)` },
|
|
61
|
+
children: t("email.otp.buttons.submit.text")
|
|
62
|
+
})] });
|
|
63
|
+
};
|
|
64
|
+
var EmailOtp_default = EmailOtp;
|
|
65
|
+
|
|
66
|
+
//#endregion
|
|
67
|
+
exports.default = EmailOtp_default;
|
|
68
|
+
//# sourceMappingURL=EmailOtp.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmailOtp.cjs","names":["EmailOtp: FC<BaseSignInOptionProps>","useTheme","useTranslation","useFlow","formFields: any","hasOtpField: any","OtpField","createField","EmbeddedSignInFlowAuthenticatorParamType","FieldType","Button"],"sources":["../../../../../../../../src/components/presentation/auth/SignIn/v1/options/EmailOtp.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * 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 * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {EmbeddedSignInFlowAuthenticatorParamType, FieldType} from '@thunderid/browser';\nimport {FC, ReactElement, useEffect} from 'react';\n// eslint-disable-next-line import/no-cycle\nimport {BaseSignInOptionProps} from './SignInOptionFactory';\nimport useFlow from '../../../../../../contexts/Flow/useFlow';\nimport useTheme from '../../../../../../contexts/Theme/useTheme';\nimport useTranslation from '../../../../../../hooks/useTranslation';\nimport {createField} from '../../../../../factories/FieldFactory';\nimport Button from '../../../../../primitives/Button/Button';\nimport OtpField from '../../../../../primitives/OtpField/OtpField';\n\n/**\n * Email OTP Sign-In Option Component.\n * Handles email-based OTP authentication.\n */\nconst EmailOtp: FC<BaseSignInOptionProps> = ({\n authenticator,\n formValues,\n touchedFields,\n isLoading,\n onInputChange,\n inputClassName = '',\n buttonClassName = '',\n preferences,\n}: BaseSignInOptionProps): ReactElement => {\n const {theme} = useTheme();\n const {t} = useTranslation(preferences?.i18n);\n const {setTitle, setSubtitle} = useFlow();\n\n const formFields: any = authenticator!.metadata?.params?.sort((a: any, b: any) => a.order - b.order) || [];\n\n useEffect(() => {\n setTitle(t('email.otp.heading'));\n setSubtitle(t('email.otp.subheading'));\n }, [setTitle, setSubtitle, t]);\n\n // Check if this is an OTP field (typically has 'otpCode' or similar parameter)\n const hasOtpField: any = formFields.some(\n (param: any) => param.param.toLowerCase().includes('otp') || param.param.toLowerCase().includes('code'),\n );\n\n return (\n <>\n {formFields.map((param: any) => {\n const isOtpParam: any = param.param.toLowerCase().includes('otp') || param.param.toLowerCase().includes('code');\n\n return (\n <div key={param.param}>\n {isOtpParam && hasOtpField ? (\n <OtpField\n length={6}\n value={formValues[param.param] || ''}\n onChange={(event: any): void => onInputChange(param.param, event.target.value)}\n disabled={isLoading}\n className={inputClassName}\n />\n ) : (\n createField({\n className: inputClassName,\n disabled: isLoading,\n label: param.displayName,\n name: param.param,\n onChange: (value: any) => onInputChange(param.param, value),\n required: authenticator!.requiredParams.includes(param.param),\n touched: touchedFields[param.param] || false,\n type:\n param.type === EmbeddedSignInFlowAuthenticatorParamType.String && param.confidential\n ? FieldType.Password\n : FieldType.Text,\n value: formValues[param.param] || '',\n })\n )}\n </div>\n );\n })}\n\n <Button\n fullWidth\n type=\"submit\"\n color=\"primary\"\n variant=\"solid\"\n disabled={isLoading}\n loading={isLoading}\n className={buttonClassName}\n style={{marginBottom: `calc(${theme.vars.spacing.unit} * 2)`}}\n >\n {t('email.otp.buttons.submit.text')}\n </Button>\n </>\n );\n};\n\nexport default EmailOtp;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAiCA,MAAMA,YAAuC,EAC3C,eACA,YACA,eACA,WACA,eACA,iBAAiB,IACjB,kBAAkB,IAClB,kBACyC;CACzC,MAAM,EAAC,UAASC,0BAAU;CAC1B,MAAM,EAAC,MAAKC,+BAAe,aAAa,KAAK;CAC7C,MAAM,EAAC,UAAU,gBAAeC,yBAAS;CAEzC,MAAMC,aAAkB,cAAe,UAAU,QAAQ,MAAM,GAAQ,MAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE;AAE1G,4BAAgB;AACd,WAAS,EAAE,oBAAoB,CAAC;AAChC,cAAY,EAAE,uBAAuB,CAAC;IACrC;EAAC;EAAU;EAAa;EAAE,CAAC;CAG9B,MAAMC,cAAmB,WAAW,MACjC,UAAe,MAAM,MAAM,aAAa,CAAC,SAAS,MAAM,IAAI,MAAM,MAAM,aAAa,CAAC,SAAS,OAAO,CACxG;AAED,QACE,qFACG,WAAW,KAAK,UAAe;AAG9B,SACE,2CAAC,oBAHqB,MAAM,MAAM,aAAa,CAAC,SAAS,MAAM,IAAI,MAAM,MAAM,aAAa,CAAC,SAAS,OAAO,KAI5F,cACb,2CAACC;GACC,QAAQ;GACR,OAAO,WAAW,MAAM,UAAU;GAClC,WAAW,UAAqB,cAAc,MAAM,OAAO,MAAM,OAAO,MAAM;GAC9E,UAAU;GACV,WAAW;IACX,GAEFC,iCAAY;GACV,WAAW;GACX,UAAU;GACV,OAAO,MAAM;GACb,MAAM,MAAM;GACZ,WAAW,UAAe,cAAc,MAAM,OAAO,MAAM;GAC3D,UAAU,cAAe,eAAe,SAAS,MAAM,MAAM;GAC7D,SAAS,cAAc,MAAM,UAAU;GACvC,MACE,MAAM,SAASC,6DAAyC,UAAU,MAAM,eACpEC,8BAAU,WACVA,8BAAU;GAChB,OAAO,WAAW,MAAM,UAAU;GACnC,CAAC,IAvBI,MAAM,MAyBV;GAER,EAEF,2CAACC;EACC;EACA,MAAK;EACL,OAAM;EACN,SAAQ;EACR,UAAU;EACV,SAAS;EACT,WAAW;EACX,OAAO,EAAC,cAAc,QAAQ,MAAM,KAAK,QAAQ,KAAK,QAAO;YAE5D,EAAE,gCAAgC;GAC5B,IACR;;AAIP,uBAAe"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../../../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_useFlow = require('../../../../../../contexts/Flow/useFlow.cjs');
|
|
3
|
+
const require_useTheme = require('../../../../../../contexts/Theme/useTheme.cjs');
|
|
4
|
+
const require_useTranslation = require('../../../../../../hooks/useTranslation.cjs');
|
|
5
|
+
const require_Button = require('../../../../../primitives/Button/Button.cjs');
|
|
6
|
+
const require_FieldFactory = require('../../../../../factories/FieldFactory.cjs');
|
|
7
|
+
let __thunderid_browser = require("@thunderid/browser");
|
|
8
|
+
__thunderid_browser = require_rolldown_runtime.__toESM(__thunderid_browser);
|
|
9
|
+
let react = require("react");
|
|
10
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
11
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
12
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
13
|
+
|
|
14
|
+
//#region src/components/presentation/auth/SignIn/v1/options/IdentifierFirst.tsx
|
|
15
|
+
/**
|
|
16
|
+
* Identifier First Sign-In Option Component.
|
|
17
|
+
* Handles identifier-first authentication flow (username first, then password).
|
|
18
|
+
*/
|
|
19
|
+
const IdentifierFirst = ({ authenticator, formValues, touchedFields, isLoading, onInputChange, inputClassName = "", buttonClassName = "", preferences }) => {
|
|
20
|
+
const { theme } = require_useTheme.default();
|
|
21
|
+
const { t } = require_useTranslation.default(preferences?.i18n);
|
|
22
|
+
const { setTitle, setSubtitle } = require_useFlow.default();
|
|
23
|
+
const formFields = authenticator.metadata?.params?.sort((a, b) => a.order - b.order) || [];
|
|
24
|
+
(0, react.useEffect)(() => {
|
|
25
|
+
setTitle(t("identifier.first.heading"));
|
|
26
|
+
setSubtitle(t("identifier.first.subheading"));
|
|
27
|
+
}, [
|
|
28
|
+
setTitle,
|
|
29
|
+
setSubtitle,
|
|
30
|
+
t
|
|
31
|
+
]);
|
|
32
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [formFields.map((param) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: require_FieldFactory.createField({
|
|
33
|
+
className: inputClassName,
|
|
34
|
+
disabled: isLoading,
|
|
35
|
+
label: param.displayName,
|
|
36
|
+
name: param.param,
|
|
37
|
+
onChange: (value) => onInputChange(param.param, value),
|
|
38
|
+
placeholder: t(`elements.fields.generic.placeholder`, { field: (param.displayName || param.param).toLowerCase() }),
|
|
39
|
+
required: authenticator.requiredParams.includes(param.param),
|
|
40
|
+
touched: touchedFields[param.param] || false,
|
|
41
|
+
type: param.type === __thunderid_browser.EmbeddedSignInFlowAuthenticatorParamType.String && param.confidential ? __thunderid_browser.FieldType.Password : __thunderid_browser.FieldType.Text,
|
|
42
|
+
value: formValues[param.param] || ""
|
|
43
|
+
}) }, param.param)), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
|
|
44
|
+
fullWidth: true,
|
|
45
|
+
type: "submit",
|
|
46
|
+
color: "primary",
|
|
47
|
+
variant: "solid",
|
|
48
|
+
disabled: isLoading,
|
|
49
|
+
loading: isLoading,
|
|
50
|
+
className: buttonClassName,
|
|
51
|
+
style: { marginBottom: `calc(${theme.vars.spacing.unit} * 2)` },
|
|
52
|
+
children: t("identifier.first.buttons.submit.text")
|
|
53
|
+
})] });
|
|
54
|
+
};
|
|
55
|
+
var IdentifierFirst_default = IdentifierFirst;
|
|
56
|
+
|
|
57
|
+
//#endregion
|
|
58
|
+
exports.default = IdentifierFirst_default;
|
|
59
|
+
//# sourceMappingURL=IdentifierFirst.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdentifierFirst.cjs","names":["IdentifierFirst: FC<BaseSignInOptionProps>","useTheme","useTranslation","useFlow","formFields: any","createField","EmbeddedSignInFlowAuthenticatorParamType","FieldType","Button"],"sources":["../../../../../../../../src/components/presentation/auth/SignIn/v1/options/IdentifierFirst.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * 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 * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {EmbeddedSignInFlowAuthenticatorParamType, FieldType} from '@thunderid/browser';\nimport {FC, ReactElement, useEffect} from 'react';\n// eslint-disable-next-line import/no-cycle\nimport {BaseSignInOptionProps} from './SignInOptionFactory';\nimport useFlow from '../../../../../../contexts/Flow/useFlow';\nimport useTheme from '../../../../../../contexts/Theme/useTheme';\nimport useTranslation from '../../../../../../hooks/useTranslation';\nimport {createField} from '../../../../../factories/FieldFactory';\nimport Button from '../../../../../primitives/Button/Button';\n\n/**\n * Identifier First Sign-In Option Component.\n * Handles identifier-first authentication flow (username first, then password).\n */\nconst IdentifierFirst: FC<BaseSignInOptionProps> = ({\n authenticator,\n formValues,\n touchedFields,\n isLoading,\n onInputChange,\n inputClassName = '',\n buttonClassName = '',\n preferences,\n}: BaseSignInOptionProps): ReactElement => {\n const {theme} = useTheme();\n const {t} = useTranslation(preferences?.i18n);\n const {setTitle, setSubtitle} = useFlow();\n\n const formFields: any = authenticator!.metadata?.params?.sort((a: any, b: any) => a.order - b.order) || [];\n\n useEffect(() => {\n setTitle(t('identifier.first.heading'));\n setSubtitle(t('identifier.first.subheading'));\n }, [setTitle, setSubtitle, t]);\n\n return (\n <>\n {formFields.map((param: any) => (\n <div key={param.param}>\n {createField({\n className: inputClassName,\n disabled: isLoading,\n label: param.displayName,\n name: param.param,\n onChange: (value: any) => onInputChange(param.param, value),\n placeholder: t(`elements.fields.generic.placeholder`, {\n field: (param.displayName || param.param).toLowerCase(),\n }),\n required: authenticator!.requiredParams.includes(param.param),\n touched: touchedFields[param.param] || false,\n type:\n param.type === EmbeddedSignInFlowAuthenticatorParamType.String && param.confidential\n ? FieldType.Password\n : FieldType.Text,\n value: formValues[param.param] || '',\n })}\n </div>\n ))}\n\n <Button\n fullWidth\n type=\"submit\"\n color=\"primary\"\n variant=\"solid\"\n disabled={isLoading}\n loading={isLoading}\n className={buttonClassName}\n style={{marginBottom: `calc(${theme.vars.spacing.unit} * 2)`}}\n >\n {t('identifier.first.buttons.submit.text')}\n </Button>\n </>\n );\n};\n\nexport default IdentifierFirst;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAgCA,MAAMA,mBAA8C,EAClD,eACA,YACA,eACA,WACA,eACA,iBAAiB,IACjB,kBAAkB,IAClB,kBACyC;CACzC,MAAM,EAAC,UAASC,0BAAU;CAC1B,MAAM,EAAC,MAAKC,+BAAe,aAAa,KAAK;CAC7C,MAAM,EAAC,UAAU,gBAAeC,yBAAS;CAEzC,MAAMC,aAAkB,cAAe,UAAU,QAAQ,MAAM,GAAQ,MAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE;AAE1G,4BAAgB;AACd,WAAS,EAAE,2BAA2B,CAAC;AACvC,cAAY,EAAE,8BAA8B,CAAC;IAC5C;EAAC;EAAU;EAAa;EAAE,CAAC;AAE9B,QACE,qFACG,WAAW,KAAK,UACf,2CAAC,mBACEC,iCAAY;EACX,WAAW;EACX,UAAU;EACV,OAAO,MAAM;EACb,MAAM,MAAM;EACZ,WAAW,UAAe,cAAc,MAAM,OAAO,MAAM;EAC3D,aAAa,EAAE,uCAAuC,EACpD,QAAQ,MAAM,eAAe,MAAM,OAAO,aAAa,EACxD,CAAC;EACF,UAAU,cAAe,eAAe,SAAS,MAAM,MAAM;EAC7D,SAAS,cAAc,MAAM,UAAU;EACvC,MACE,MAAM,SAASC,6DAAyC,UAAU,MAAM,eACpEC,8BAAU,WACVA,8BAAU;EAChB,OAAO,WAAW,MAAM,UAAU;EACnC,CAAC,IAjBM,MAAM,MAkBV,CACN,EAEF,2CAACC;EACC;EACA,MAAK;EACL,OAAM;EACN,SAAQ;EACR,UAAU;EACV,SAAS;EACT,WAAW;EACX,OAAO,EAAC,cAAc,QAAQ,MAAM,KAAK,QAAQ,KAAK,QAAO;YAE5D,EAAE,uCAAuC;GACnC,IACR;;AAIP,8BAAe"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../../../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_useTranslation = require('../../../../../../hooks/useTranslation.cjs');
|
|
3
|
+
const require_Button = require('../../../../../primitives/Button/Button.cjs');
|
|
4
|
+
let __thunderid_browser = require("@thunderid/browser");
|
|
5
|
+
__thunderid_browser = require_rolldown_runtime.__toESM(__thunderid_browser);
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
8
|
+
|
|
9
|
+
//#region src/components/presentation/auth/SignIn/v1/options/MultiOptionButton.tsx
|
|
10
|
+
/**
|
|
11
|
+
* Multi Option Button Component.
|
|
12
|
+
* Renders authenticators as selectable buttons for multi-option prompts.
|
|
13
|
+
* Used when authenticators don't require immediate user input but need to be selected first.
|
|
14
|
+
*/
|
|
15
|
+
const MultiOptionButton = ({ authenticator, isLoading, onSubmit, buttonClassName = "", preferences }) => {
|
|
16
|
+
const { t } = require_useTranslation.default(preferences?.i18n);
|
|
17
|
+
/**
|
|
18
|
+
* Get display name for the authenticator.
|
|
19
|
+
*/
|
|
20
|
+
const getDisplayName = () => {
|
|
21
|
+
let authenticatorName = authenticator.authenticator;
|
|
22
|
+
if (authenticator.idp !== __thunderid_browser.EmbeddedSignInFlowAuthenticatorKnownIdPType.Local) authenticatorName = authenticator.idp;
|
|
23
|
+
switch (authenticatorName) {
|
|
24
|
+
default: return t("elements.buttons.multi.option.text", { connection: authenticatorName });
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Get appropriate icon for the authenticator type.
|
|
29
|
+
*/
|
|
30
|
+
const getIcon = () => {
|
|
31
|
+
const { authenticatorId } = authenticator;
|
|
32
|
+
switch (authenticatorId) {
|
|
33
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.SmsOtp: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
34
|
+
width: "18",
|
|
35
|
+
height: "18",
|
|
36
|
+
viewBox: "0 0 24 24",
|
|
37
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
38
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
39
|
+
fill: "currentColor",
|
|
40
|
+
d: "M20 15.5c-1.25 0-2.45-.2-3.57-.57a1.02 1.02 0 0 0-1.02.24l-2.2 2.2a15.074 15.074 0 0 1-6.59-6.59l2.2-2.2c.27-.27.35-.67.24-1.02A11.36 11.36 0 0 1 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1M12 3v10l3-3h6V3z"
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.EmailOtp: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
44
|
+
width: "18",
|
|
45
|
+
height: "18",
|
|
46
|
+
viewBox: "0 0 24 24",
|
|
47
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
48
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
49
|
+
fill: "currentColor",
|
|
50
|
+
d: "M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 4l-8 5l-8-5V6l8 5l8-5z"
|
|
51
|
+
})
|
|
52
|
+
});
|
|
53
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Totp: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
54
|
+
width: "18",
|
|
55
|
+
height: "18",
|
|
56
|
+
viewBox: "0 0 24 24",
|
|
57
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
58
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
59
|
+
fill: "currentColor",
|
|
60
|
+
d: "M12 1L3 5v6c0 5.55 3.84 10.74 9 12c5.16-1.26 9-6.45 9-12V5z"
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.PushNotification: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
64
|
+
width: "18",
|
|
65
|
+
height: "18",
|
|
66
|
+
viewBox: "0 0 24 24",
|
|
67
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
68
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
69
|
+
fill: "currentColor",
|
|
70
|
+
d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m1-13h-2v6h2zm0 8h-2v2h2z"
|
|
71
|
+
})
|
|
72
|
+
});
|
|
73
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Passkey: return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
74
|
+
fill: "currentColor",
|
|
75
|
+
width: "18",
|
|
76
|
+
height: "18",
|
|
77
|
+
viewBox: "0 0 32 32",
|
|
78
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
79
|
+
children: [
|
|
80
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("g", {
|
|
81
|
+
id: "SVGRepo_bgCarrier",
|
|
82
|
+
strokeWidth: "0"
|
|
83
|
+
}),
|
|
84
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("g", {
|
|
85
|
+
id: "SVGRepo_tracerCarrier",
|
|
86
|
+
strokeLinecap: "round",
|
|
87
|
+
strokeLinejoin: "round"
|
|
88
|
+
}),
|
|
89
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("g", {
|
|
90
|
+
id: "SVGRepo_iconCarrier",
|
|
91
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M7.7 4.7C9.36 3.07 12.68 2 16.17 2S23 3.06 24.6 4.7A1 1 0 0 0 26 3.3C23.6.86 19.34 0 16.16 0S8.72.87 6.3 3.3a1 1 0 0 0 1.4 1.4zM29.2 12.55C26.38 6.88 22 4 16.17 4s-10.22 2.88-13 8.55a1 1 0 0 0 .44 1.34 1 1 0 0 0 1.35-.45C7.4 8.45 11.08 6 16.15 6s8.77 2.44 11.27 7.45a1 1 0 0 0 .9.55.87.87 0 0 0 .44-.1 1 1 0 0 0 .45-1.35zM19.4 28.08c-4.13-1.77-5.8-4.5-6-6.5a2.87 2.87 0 0 1 1.13-2.75c.85-.57 2.1.24 3.87 1.52s4.13 3 6.17 1.45c1.8-1.35 2.34-3.76 1.45-6.44A10.85 10.85 0 0 0 16.16 8C7.2 8 4 15.75 4 23a1 1 0 0 0 2 0c0-3 .73-13 10.16-13 3.9 0 7 3.1 8 6 .3.87.8 3-.75 4.2-.8.6-2-.2-3.8-1.47s-4.07-2.94-6.14-1.56a4.87 4.87 0 0 0-2 4.6c.24 2.56 2.24 6 7.18 8.15A1 1 0 0 0 19 30a1 1 0 0 0 .4-1.92zM10 19.24a7.06 7.06 0 0 1 5.2-4.65c2.24-.43 4.32.6 6 3a1 1 0 1 0 1.62-1.17c-2.9-4.07-6.27-4.12-8-3.8A9.1 9.1 0 0 0 8 18.77c-1 3.94.43 8.27 4.2 12.87a1 1 0 0 0 .8.37.94.94 0 0 0 .63-.23 1 1 0 0 0 .14-1.4c-3.34-4.1-4.62-7.83-3.77-11.13zM25.3 24.3a3 3 0 0 1-3.06.63c-2.4-.57-4.78-2.7-5.3-4.25a1 1 0 1 0-1.9.64c.8 2.33 3.87 4.88 6.74 5.56a6.84 6.84 0 0 0 1.52.18 4.7 4.7 0 0 0 3.4-1.35 1 1 0 0 0-1.4-1.4z" }), " "]
|
|
92
|
+
})
|
|
93
|
+
]
|
|
94
|
+
});
|
|
95
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.MagicLink: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
96
|
+
width: "18",
|
|
97
|
+
height: "18",
|
|
98
|
+
viewBox: "0 0 24 24",
|
|
99
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
100
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
101
|
+
fill: "currentColor",
|
|
102
|
+
d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m1-13h-2v6h2zm0 8h-2v2h2z"
|
|
103
|
+
})
|
|
104
|
+
});
|
|
105
|
+
default: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
106
|
+
width: "18",
|
|
107
|
+
height: "18",
|
|
108
|
+
viewBox: "0 0 24 24",
|
|
109
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
110
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
111
|
+
fill: "currentColor",
|
|
112
|
+
d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m-2 15l-5-5l1.41-1.41L10 14.17l7.59-7.59L19 8z"
|
|
113
|
+
})
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Handle button click.
|
|
119
|
+
*/
|
|
120
|
+
const handleClick = () => {
|
|
121
|
+
onSubmit(authenticator);
|
|
122
|
+
};
|
|
123
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
|
|
124
|
+
fullWidth: true,
|
|
125
|
+
type: "button",
|
|
126
|
+
color: "secondary",
|
|
127
|
+
variant: "solid",
|
|
128
|
+
disabled: isLoading,
|
|
129
|
+
onClick: handleClick,
|
|
130
|
+
className: buttonClassName,
|
|
131
|
+
startIcon: getIcon(),
|
|
132
|
+
children: getDisplayName()
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
var MultiOptionButton_default = MultiOptionButton;
|
|
136
|
+
|
|
137
|
+
//#endregion
|
|
138
|
+
exports.default = MultiOptionButton_default;
|
|
139
|
+
//# sourceMappingURL=MultiOptionButton.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiOptionButton.cjs","names":["MultiOptionButton: FC<BaseSignInOptionProps>","useTranslation","authenticatorName: any","EmbeddedSignInFlowAuthenticatorKnownIdPType","ApplicationNativeAuthenticationConstants","Button"],"sources":["../../../../../../../../src/components/presentation/auth/SignIn/v1/options/MultiOptionButton.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * 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 * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {\n ApplicationNativeAuthenticationConstants,\n EmbeddedSignInFlowAuthenticatorKnownIdPType,\n} from '@thunderid/browser';\nimport {FC, ReactElement} from 'react';\n// eslint-disable-next-line import/no-cycle\nimport {BaseSignInOptionProps} from './SignInOptionFactory';\nimport useTranslation from '../../../../../../hooks/useTranslation';\nimport Button from '../../../../../primitives/Button/Button';\n\n/**\n * Multi Option Button Component.\n * Renders authenticators as selectable buttons for multi-option prompts.\n * Used when authenticators don't require immediate user input but need to be selected first.\n */\nconst MultiOptionButton: FC<BaseSignInOptionProps> = ({\n authenticator,\n isLoading,\n onSubmit,\n buttonClassName = '',\n preferences,\n}: BaseSignInOptionProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n\n /**\n * Get display name for the authenticator.\n */\n const getDisplayName = (): string => {\n let authenticatorName: any = authenticator!.authenticator;\n\n if (authenticator!.idp !== EmbeddedSignInFlowAuthenticatorKnownIdPType.Local) {\n authenticatorName = authenticator!.idp;\n }\n\n switch (authenticatorName) {\n default:\n return t('elements.buttons.multi.option.text', {connection: authenticatorName});\n }\n };\n\n /**\n * Get appropriate icon for the authenticator type.\n */\n const getIcon = (): ReactElement | null => {\n const {authenticatorId} = authenticator!;\n\n switch (authenticatorId) {\n case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.SmsOtp:\n return (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"currentColor\"\n d=\"M20 15.5c-1.25 0-2.45-.2-3.57-.57a1.02 1.02 0 0 0-1.02.24l-2.2 2.2a15.074 15.074 0 0 1-6.59-6.59l2.2-2.2c.27-.27.35-.67.24-1.02A11.36 11.36 0 0 1 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1M12 3v10l3-3h6V3z\"\n />\n </svg>\n );\n case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.EmailOtp:\n return (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"currentColor\"\n d=\"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 4l-8 5l-8-5V6l8 5l8-5z\"\n />\n </svg>\n );\n case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Totp:\n return (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill=\"currentColor\" d=\"M12 1L3 5v6c0 5.55 3.84 10.74 9 12c5.16-1.26 9-6.45 9-12V5z\" />\n </svg>\n );\n case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.PushNotification:\n return (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"currentColor\"\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m1-13h-2v6h2zm0 8h-2v2h2z\"\n />\n </svg>\n );\n case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Passkey:\n return (\n <svg fill=\"currentColor\" width=\"18\" height=\"18\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" strokeLinecap=\"round\" strokeLinejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M7.7 4.7C9.36 3.07 12.68 2 16.17 2S23 3.06 24.6 4.7A1 1 0 0 0 26 3.3C23.6.86 19.34 0 16.16 0S8.72.87 6.3 3.3a1 1 0 0 0 1.4 1.4zM29.2 12.55C26.38 6.88 22 4 16.17 4s-10.22 2.88-13 8.55a1 1 0 0 0 .44 1.34 1 1 0 0 0 1.35-.45C7.4 8.45 11.08 6 16.15 6s8.77 2.44 11.27 7.45a1 1 0 0 0 .9.55.87.87 0 0 0 .44-.1 1 1 0 0 0 .45-1.35zM19.4 28.08c-4.13-1.77-5.8-4.5-6-6.5a2.87 2.87 0 0 1 1.13-2.75c.85-.57 2.1.24 3.87 1.52s4.13 3 6.17 1.45c1.8-1.35 2.34-3.76 1.45-6.44A10.85 10.85 0 0 0 16.16 8C7.2 8 4 15.75 4 23a1 1 0 0 0 2 0c0-3 .73-13 10.16-13 3.9 0 7 3.1 8 6 .3.87.8 3-.75 4.2-.8.6-2-.2-3.8-1.47s-4.07-2.94-6.14-1.56a4.87 4.87 0 0 0-2 4.6c.24 2.56 2.24 6 7.18 8.15A1 1 0 0 0 19 30a1 1 0 0 0 .4-1.92zM10 19.24a7.06 7.06 0 0 1 5.2-4.65c2.24-.43 4.32.6 6 3a1 1 0 1 0 1.62-1.17c-2.9-4.07-6.27-4.12-8-3.8A9.1 9.1 0 0 0 8 18.77c-1 3.94.43 8.27 4.2 12.87a1 1 0 0 0 .8.37.94.94 0 0 0 .63-.23 1 1 0 0 0 .14-1.4c-3.34-4.1-4.62-7.83-3.77-11.13zM25.3 24.3a3 3 0 0 1-3.06.63c-2.4-.57-4.78-2.7-5.3-4.25a1 1 0 1 0-1.9.64c.8 2.33 3.87 4.88 6.74 5.56a6.84 6.84 0 0 0 1.52.18 4.7 4.7 0 0 0 3.4-1.35 1 1 0 0 0-1.4-1.4z\"></path>{' '}\n </g>\n </svg>\n );\n case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.MagicLink:\n return (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"currentColor\"\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m1-13h-2v6h2zm0 8h-2v2h2z\"\n />\n </svg>\n );\n default:\n return (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"currentColor\"\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m-2 15l-5-5l1.41-1.41L10 14.17l7.59-7.59L19 8z\"\n />\n </svg>\n );\n }\n };\n\n /**\n * Handle button click.\n */\n const handleClick = (): any => {\n // For multi-option buttons, we call onSubmit without form data\n // This will trigger the authenticator selection and likely move to the next step\n onSubmit!(authenticator!);\n };\n\n return (\n <Button\n fullWidth\n type=\"button\"\n color=\"secondary\"\n variant=\"solid\"\n disabled={isLoading}\n onClick={handleClick}\n className={buttonClassName}\n startIcon={getIcon()}\n >\n {getDisplayName()}\n </Button>\n );\n};\n\nexport default MultiOptionButton;\n"],"mappings":";;;;;;;;;;;;;;AAiCA,MAAMA,qBAAgD,EACpD,eACA,WACA,UACA,kBAAkB,IAClB,kBACyC;CACzC,MAAM,EAAC,MAAKC,+BAAe,aAAa,KAAK;;;;CAK7C,MAAM,uBAA+B;EACnC,IAAIC,oBAAyB,cAAe;AAE5C,MAAI,cAAe,QAAQC,gEAA4C,MACrE,qBAAoB,cAAe;AAGrC,UAAQ,mBAAR;GACE,QACE,QAAO,EAAE,sCAAsC,EAAC,YAAY,mBAAkB,CAAC;;;;;;CAOrF,MAAM,gBAAqC;EACzC,MAAM,EAAC,oBAAmB;AAE1B,UAAQ,iBAAR;GACE,KAAKC,6DAAyC,wBAAwB,OACpE,QACE,2CAAC;IAAI,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;cACpD,2CAAC;KACC,MAAK;KACL,GAAE;MACF;KACE;GAEV,KAAKA,6DAAyC,wBAAwB,SACpE,QACE,2CAAC;IAAI,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;cACpD,2CAAC;KACC,MAAK;KACL,GAAE;MACF;KACE;GAEV,KAAKA,6DAAyC,wBAAwB,KACpE,QACE,2CAAC;IAAI,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;cACpD,2CAAC;KAAK,MAAK;KAAe,GAAE;MAAgE;KACxF;GAEV,KAAKA,6DAAyC,wBAAwB,iBACpE,QACE,2CAAC;IAAI,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;cACpD,2CAAC;KACC,MAAK;KACL,GAAE;MACF;KACE;GAEV,KAAKA,6DAAyC,wBAAwB,QACpE,QACE,4CAAC;IAAI,MAAK;IAAe,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;;KACxE,2CAAC;MAAE,IAAG;MAAoB,aAAY;OAAQ;KAC9C,2CAAC;MAAE,IAAG;MAAwB,eAAc;MAAQ,gBAAe;OAAY;KAC/E,4CAAC;MAAE,IAAG;iBACJ,2CAAC,UAAK,GAAE,ukCAA4kC,EAAC;OACnlC;;KACA;GAEV,KAAKA,6DAAyC,wBAAwB,UACpE,QACE,2CAAC;IAAI,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;cACpD,2CAAC;KACC,MAAK;KACL,GAAE;MACF;KACE;GAEV,QACE,QACE,2CAAC;IAAI,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;cACpD,2CAAC;KACC,MAAK;KACL,GAAE;MACF;KACE;;;;;;CAQd,MAAM,oBAAyB;AAG7B,WAAU,cAAe;;AAG3B,QACE,2CAACC;EACC;EACA,MAAK;EACL,OAAM;EACN,SAAQ;EACR,UAAU;EACV,SAAS;EACT,WAAW;EACX,WAAW,SAAS;YAEnB,gBAAgB;GACV;;AAIb,gCAAe"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../../../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_EmailOtp = require('./EmailOtp.cjs');
|
|
3
|
+
const require_IdentifierFirst = require('./IdentifierFirst.cjs');
|
|
4
|
+
const require_MultiOptionButton = require('./MultiOptionButton.cjs');
|
|
5
|
+
const require_SmsOtp = require('./SmsOtp.cjs');
|
|
6
|
+
const require_SocialButton = require('./SocialButton.cjs');
|
|
7
|
+
const require_Totp = require('./Totp.cjs');
|
|
8
|
+
const require_UsernamePassword = require('./UsernamePassword.cjs');
|
|
9
|
+
const require_FacebookButton = require('../../../../../adapters/FacebookButton.cjs');
|
|
10
|
+
const require_GitHubButton = require('../../../../../adapters/GitHubButton.cjs');
|
|
11
|
+
const require_GoogleButton = require('../../../../../adapters/GoogleButton.cjs');
|
|
12
|
+
const require_LinkedInButton = require('../../../../../adapters/LinkedInButton.cjs');
|
|
13
|
+
const require_MicrosoftButton = require('../../../../../adapters/MicrosoftButton.cjs');
|
|
14
|
+
const require_SignInWithEthereumButton = require('../../../../../adapters/SignInWithEthereumButton.cjs');
|
|
15
|
+
let __thunderid_browser = require("@thunderid/browser");
|
|
16
|
+
__thunderid_browser = require_rolldown_runtime.__toESM(__thunderid_browser);
|
|
17
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
18
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
19
|
+
|
|
20
|
+
//#region src/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.tsx
|
|
21
|
+
/**
|
|
22
|
+
* Creates the appropriate sign-in option component based on the authenticator's ID.
|
|
23
|
+
*/
|
|
24
|
+
const createSignInOption = ({ authenticator, onSubmit, buttonClassName, preferences,...rest }) => {
|
|
25
|
+
const hasParams = authenticator.metadata?.params && authenticator.metadata.params.length > 0;
|
|
26
|
+
switch (authenticator.authenticatorId) {
|
|
27
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.UsernamePassword: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_UsernamePassword.default, {
|
|
28
|
+
authenticator,
|
|
29
|
+
preferences,
|
|
30
|
+
onSubmit,
|
|
31
|
+
...rest
|
|
32
|
+
});
|
|
33
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.IdentifierFirst: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_IdentifierFirst.default, {
|
|
34
|
+
authenticator,
|
|
35
|
+
preferences,
|
|
36
|
+
onSubmit,
|
|
37
|
+
...rest
|
|
38
|
+
});
|
|
39
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Google: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_GoogleButton.default, {
|
|
40
|
+
className: buttonClassName,
|
|
41
|
+
onClick: () => onSubmit(authenticator),
|
|
42
|
+
preferences,
|
|
43
|
+
...rest
|
|
44
|
+
});
|
|
45
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.GitHub: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_GitHubButton.default, {
|
|
46
|
+
preferences,
|
|
47
|
+
className: buttonClassName,
|
|
48
|
+
onClick: () => onSubmit(authenticator),
|
|
49
|
+
...rest
|
|
50
|
+
});
|
|
51
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Microsoft: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MicrosoftButton.default, {
|
|
52
|
+
preferences,
|
|
53
|
+
className: buttonClassName,
|
|
54
|
+
onClick: () => onSubmit(authenticator),
|
|
55
|
+
...rest
|
|
56
|
+
});
|
|
57
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Facebook: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_FacebookButton.default, {
|
|
58
|
+
preferences,
|
|
59
|
+
className: buttonClassName,
|
|
60
|
+
onClick: () => onSubmit(authenticator),
|
|
61
|
+
...rest
|
|
62
|
+
});
|
|
63
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.LinkedIn: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_LinkedInButton.default, {
|
|
64
|
+
preferences,
|
|
65
|
+
className: buttonClassName,
|
|
66
|
+
onClick: () => onSubmit(authenticator),
|
|
67
|
+
...rest
|
|
68
|
+
});
|
|
69
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.SignInWithEthereum: return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SignInWithEthereumButton.default, {
|
|
70
|
+
preferences,
|
|
71
|
+
className: buttonClassName,
|
|
72
|
+
onClick: () => onSubmit(authenticator),
|
|
73
|
+
...rest
|
|
74
|
+
});
|
|
75
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.EmailOtp: return hasParams ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_EmailOtp.default, {
|
|
76
|
+
authenticator,
|
|
77
|
+
preferences,
|
|
78
|
+
onSubmit,
|
|
79
|
+
...rest
|
|
80
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MultiOptionButton.default, {
|
|
81
|
+
authenticator,
|
|
82
|
+
preferences,
|
|
83
|
+
onSubmit,
|
|
84
|
+
...rest
|
|
85
|
+
});
|
|
86
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Totp: return hasParams ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Totp.default, {
|
|
87
|
+
authenticator,
|
|
88
|
+
preferences,
|
|
89
|
+
onSubmit,
|
|
90
|
+
...rest
|
|
91
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MultiOptionButton.default, {
|
|
92
|
+
authenticator,
|
|
93
|
+
preferences,
|
|
94
|
+
onSubmit,
|
|
95
|
+
...rest
|
|
96
|
+
});
|
|
97
|
+
case __thunderid_browser.ApplicationNativeAuthenticationConstants.SupportedAuthenticators.SmsOtp: return hasParams ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SmsOtp.default, {
|
|
98
|
+
authenticator,
|
|
99
|
+
preferences,
|
|
100
|
+
onSubmit,
|
|
101
|
+
...rest
|
|
102
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MultiOptionButton.default, {
|
|
103
|
+
authenticator,
|
|
104
|
+
preferences,
|
|
105
|
+
onSubmit,
|
|
106
|
+
...rest
|
|
107
|
+
});
|
|
108
|
+
default:
|
|
109
|
+
if (authenticator.idp !== __thunderid_browser.EmbeddedSignInFlowAuthenticatorKnownIdPType.Local) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SocialButton.default, {
|
|
110
|
+
authenticator,
|
|
111
|
+
preferences,
|
|
112
|
+
className: buttonClassName,
|
|
113
|
+
onClick: () => onSubmit(authenticator),
|
|
114
|
+
...rest,
|
|
115
|
+
children: authenticator.idp
|
|
116
|
+
});
|
|
117
|
+
if (hasParams) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_UsernamePassword.default, {
|
|
118
|
+
authenticator,
|
|
119
|
+
preferences,
|
|
120
|
+
onSubmit,
|
|
121
|
+
...rest
|
|
122
|
+
});
|
|
123
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MultiOptionButton.default, {
|
|
124
|
+
authenticator,
|
|
125
|
+
preferences,
|
|
126
|
+
onSubmit,
|
|
127
|
+
...rest
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Convenience function that creates the appropriate sign-in option component from an authenticator.
|
|
133
|
+
*/
|
|
134
|
+
const createSignInOptionFromAuthenticator = (authenticator, formValues, touchedFields, isLoading, onInputChange, onSubmit, options) => createSignInOption({
|
|
135
|
+
authenticator,
|
|
136
|
+
formValues,
|
|
137
|
+
isLoading,
|
|
138
|
+
onInputChange,
|
|
139
|
+
onSubmit,
|
|
140
|
+
touchedFields,
|
|
141
|
+
...options
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
//#endregion
|
|
145
|
+
exports.createSignInOption = createSignInOption;
|
|
146
|
+
exports.createSignInOptionFromAuthenticator = createSignInOptionFromAuthenticator;
|
|
147
|
+
//# sourceMappingURL=SignInOptionFactory.cjs.map
|