@thunderid/react 0.1.0 → 0.3.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 +679 -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 +674 -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
|
@@ -1,51 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
|
|
3
|
-
*
|
|
4
|
-
* WSO2 LLC. licenses this file to you under the Apache License,
|
|
5
|
-
* Version 2.0 (the "License"); you may not use this file except
|
|
6
|
-
* in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing,
|
|
12
|
-
* software distributed under the License is distributed on an
|
|
13
|
-
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
-
* KIND, either express or implied. See the License for the
|
|
15
|
-
* specific language governing permissions and limitations
|
|
16
|
-
* under the License.
|
|
17
|
-
*/
|
|
18
1
|
import { FC } from 'react';
|
|
2
|
+
import { TokenCallbackProps } from './TokenCallback';
|
|
3
|
+
import { OAuthCallbackProps } from './OAuthCallback';
|
|
19
4
|
/**
|
|
20
|
-
* Props for Callback component
|
|
5
|
+
* Props for the unified Callback component, combining properties for both Token and OAuth callbacks.
|
|
21
6
|
*/
|
|
22
|
-
export
|
|
23
|
-
/**
|
|
24
|
-
* Callback function called when an error occurs
|
|
25
|
-
*/
|
|
26
|
-
onError?: (error: Error) => void;
|
|
27
|
-
/**
|
|
28
|
-
* Function to navigate to a different path.
|
|
29
|
-
* If not provided, falls back to the browser navigate utility (SPA navigation via History API for same-origin paths).
|
|
30
|
-
* Provide this prop to enable framework-specific navigation (e.g., from React Router).
|
|
31
|
-
*/
|
|
32
|
-
onNavigate?: (path: string) => void;
|
|
33
|
-
}
|
|
7
|
+
export type CallbackProps = OAuthCallbackProps & TokenCallbackProps;
|
|
34
8
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* to the original component that initiated the OAuth flow.
|
|
38
|
-
*
|
|
39
|
-
* Works standalone using the browser navigate utility (History API) for navigation by default.
|
|
40
|
-
* Pass an onNavigate prop to enable framework-specific navigation (e.g., via React Router).
|
|
41
|
-
*
|
|
42
|
-
* Flow: Extract OAuth parameters from URL -> Parse state parameter -> Redirect to original path with parameters
|
|
43
|
-
*
|
|
44
|
-
* The original component (SignIn/AcceptInvite) is responsible for:
|
|
45
|
-
* - Processing the OAuth code via the SDK
|
|
46
|
-
* - Calling /flow/execute
|
|
47
|
-
* - Handling the assertion and auth/callback POST
|
|
48
|
-
* - Managing the authenticated session
|
|
9
|
+
* A unified Callback component that automatically routes to either OAuthCallback or TokenCallback
|
|
10
|
+
* based on the presence of URL parameters ('code' for OAuth, 'token' for token-based flows).
|
|
49
11
|
*/
|
|
50
12
|
export declare const Callback: FC<CallbackProps>;
|
|
51
13
|
export default Callback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Callback.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/Callback/Callback.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Callback.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/Callback/Callback.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAC,EAAE,EAAW,MAAM,OAAO,CAAC;AACnC,OAAO,EAAgB,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAgB,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAqBtC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { TokenCallback } from "./TokenCallback.js";
|
|
2
|
+
import { OAuthCallback } from "./OAuthCallback.js";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/auth/Callback/Callback.tsx
|
|
7
|
+
/**
|
|
8
|
+
* A unified Callback component that automatically routes to either OAuthCallback or TokenCallback
|
|
9
|
+
* based on the presence of URL parameters ('code' for OAuth, 'token' for token-based flows).
|
|
10
|
+
*/
|
|
11
|
+
const Callback = (props) => {
|
|
12
|
+
const [flowType] = useState(() => {
|
|
13
|
+
if (typeof window === "undefined") return "oauth";
|
|
14
|
+
return new URLSearchParams(window.location.search).get("token") ? "token" : "oauth";
|
|
15
|
+
});
|
|
16
|
+
if (typeof window === "undefined") return null;
|
|
17
|
+
if (flowType === "token") return /* @__PURE__ */ jsx(TokenCallback, { ...props });
|
|
18
|
+
return /* @__PURE__ */ jsx(OAuthCallback, { ...props });
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
export { Callback };
|
|
23
|
+
//# sourceMappingURL=Callback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Callback.js","names":["Callback: FC<CallbackProps>"],"sources":["../../../../src/components/auth/Callback/Callback.tsx"],"sourcesContent":["/*\n * Copyright (c) 2026, 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 {FC, useState} from 'react';\nimport {TokenCallback, TokenCallbackProps} from './TokenCallback';\nimport {OAuthCallback, OAuthCallbackProps} from './OAuthCallback';\n\n/**\n * Props for the unified Callback component, combining properties for both Token and OAuth callbacks.\n */\nexport type CallbackProps = OAuthCallbackProps & TokenCallbackProps;\n\n/**\n * A unified Callback component that automatically routes to either OAuthCallback or TokenCallback\n * based on the presence of URL parameters ('code' for OAuth, 'token' for token-based flows).\n */\nexport const Callback: FC<CallbackProps> = (props: CallbackProps) => {\n // Use state to lock the flow type on initial mount.\n // This prevents the component from swapping to OAuthCallback if TokenCallback\n // removes the '?token=' query parameter from the URL using window.history.\n const [flowType] = useState<'token' | 'oauth'>(() => {\n if (typeof window === 'undefined') {\n return 'oauth';\n }\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('token') ? 'token' : 'oauth';\n });\n\n if (typeof window === 'undefined') {\n return null;\n }\n\n if (flowType === 'token') {\n return <TokenCallback {...props} />;\n }\n\n return <OAuthCallback {...props} />;\n};\n\nexport default Callback;\n"],"mappings":";;;;;;;;;;AA+BA,MAAaA,YAA+B,UAAyB;CAInE,MAAM,CAAC,YAAY,eAAkC;AACnD,MAAI,OAAO,WAAW,YACpB,QAAO;AAGT,SADkB,IAAI,gBAAgB,OAAO,SAAS,OAAO,CAC5C,IAAI,QAAQ,GAAG,UAAU;GAC1C;AAEF,KAAI,OAAO,WAAW,YACpB,QAAO;AAGT,KAAI,aAAa,QACf,QAAO,oBAAC,iBAAc,GAAI,QAAS;AAGrC,QAAO,oBAAC,iBAAc,GAAI,QAAS"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
|
|
3
|
+
*
|
|
4
|
+
* WSO2 LLC. licenses this file to you under the Apache License,
|
|
5
|
+
* Version 2.0 (the "License"); you may not use this file except
|
|
6
|
+
* in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing,
|
|
12
|
+
* software distributed under the License is distributed on an
|
|
13
|
+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
+
* KIND, either express or implied. See the License for the
|
|
15
|
+
* specific language governing permissions and limitations
|
|
16
|
+
* under the License.
|
|
17
|
+
*/
|
|
18
|
+
import { FC } from 'react';
|
|
19
|
+
/**
|
|
20
|
+
* Props for Callback component
|
|
21
|
+
*/
|
|
22
|
+
export interface OAuthCallbackProps {
|
|
23
|
+
/**
|
|
24
|
+
* Callback function called when an error occurs
|
|
25
|
+
*/
|
|
26
|
+
onError?: (error: Error) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Function to navigate to a different path.
|
|
29
|
+
* If not provided, falls back to the browser navigate utility (SPA navigation via History API for same-origin paths).
|
|
30
|
+
* Provide this prop to enable framework-specific navigation (e.g., from React Router).
|
|
31
|
+
*/
|
|
32
|
+
onNavigate?: (path: string) => void;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* BaseCallback is a headless component that handles OAuth callback parameter forwarding.
|
|
36
|
+
* This component extracts OAuth parameters (code, state, error) from the URL and forwards them
|
|
37
|
+
* to the original component that initiated the OAuth flow.
|
|
38
|
+
*
|
|
39
|
+
* Works standalone using the browser navigate utility (History API) for navigation by default.
|
|
40
|
+
* Pass an onNavigate prop to enable framework-specific navigation (e.g., via React Router).
|
|
41
|
+
*
|
|
42
|
+
* Flow: Extract OAuth parameters from URL -> Parse state parameter -> Redirect to original path with parameters
|
|
43
|
+
*
|
|
44
|
+
* The original component (SignIn/AcceptInvite) is responsible for:
|
|
45
|
+
* - Processing the OAuth code via the SDK
|
|
46
|
+
* - Calling /flow/execute
|
|
47
|
+
* - Handling the assertion and auth/callback POST
|
|
48
|
+
* - Managing the authenticated session
|
|
49
|
+
*/
|
|
50
|
+
export declare const OAuthCallback: FC<OAuthCallbackProps>;
|
|
51
|
+
export default OAuthCallback;
|
|
52
|
+
//# sourceMappingURL=OAuthCallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OAuthCallback.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/Callback/OAuthCallback.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAC,EAAE,EAAoB,MAAM,OAAO,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAkIhD,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { navigate } from "@thunderid/browser";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/auth/Callback/OAuthCallback.tsx
|
|
5
|
+
/**
|
|
6
|
+
* BaseCallback is a headless component that handles OAuth callback parameter forwarding.
|
|
7
|
+
* This component extracts OAuth parameters (code, state, error) from the URL and forwards them
|
|
8
|
+
* to the original component that initiated the OAuth flow.
|
|
9
|
+
*
|
|
10
|
+
* Works standalone using the browser navigate utility (History API) for navigation by default.
|
|
11
|
+
* Pass an onNavigate prop to enable framework-specific navigation (e.g., via React Router).
|
|
12
|
+
*
|
|
13
|
+
* Flow: Extract OAuth parameters from URL -> Parse state parameter -> Redirect to original path with parameters
|
|
14
|
+
*
|
|
15
|
+
* The original component (SignIn/AcceptInvite) is responsible for:
|
|
16
|
+
* - Processing the OAuth code via the SDK
|
|
17
|
+
* - Calling /flow/execute
|
|
18
|
+
* - Handling the assertion and auth/callback POST
|
|
19
|
+
* - Managing the authenticated session
|
|
20
|
+
*/
|
|
21
|
+
const OAuthCallback = ({ onNavigate, onError }) => {
|
|
22
|
+
const processingRef = useRef(false);
|
|
23
|
+
const navigate$1 = (path) => {
|
|
24
|
+
if (onNavigate) onNavigate(path);
|
|
25
|
+
else navigate(path);
|
|
26
|
+
};
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
const processOAuthCallback = () => {
|
|
29
|
+
if (processingRef.current) return;
|
|
30
|
+
processingRef.current = true;
|
|
31
|
+
let returnPath = "/";
|
|
32
|
+
try {
|
|
33
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
34
|
+
const code = urlParams.get("code");
|
|
35
|
+
const state = urlParams.get("state");
|
|
36
|
+
const nonce = urlParams.get("nonce");
|
|
37
|
+
const oauthError = urlParams.get("error");
|
|
38
|
+
const errorDescription = urlParams.get("error_description");
|
|
39
|
+
if (window.opener) {
|
|
40
|
+
window.opener.postMessage({
|
|
41
|
+
code,
|
|
42
|
+
error: oauthError,
|
|
43
|
+
errorDescription,
|
|
44
|
+
nonce,
|
|
45
|
+
state
|
|
46
|
+
}, window.location.origin);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (!state) throw new Error("Missing OAuth state parameter - possible security issue");
|
|
50
|
+
const storedData = sessionStorage.getItem(`thunderid_oauth_${state}`);
|
|
51
|
+
if (!storedData) {
|
|
52
|
+
if (oauthError) {
|
|
53
|
+
const errorMsg = errorDescription || oauthError || "OAuth authentication failed";
|
|
54
|
+
onError?.(new Error(errorMsg));
|
|
55
|
+
const params$1 = new URLSearchParams();
|
|
56
|
+
params$1.set("error", oauthError);
|
|
57
|
+
if (errorDescription) params$1.set("error_description", errorDescription);
|
|
58
|
+
navigate$1(`/?${params$1.toString()}`);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
throw new Error("Invalid OAuth state - possible CSRF attack");
|
|
62
|
+
}
|
|
63
|
+
const { path, timestamp } = JSON.parse(storedData);
|
|
64
|
+
returnPath = path || "/";
|
|
65
|
+
if (Date.now() - timestamp > 6e5) {
|
|
66
|
+
sessionStorage.removeItem(`thunderid_oauth_${state}`);
|
|
67
|
+
throw new Error("OAuth state expired - please try again");
|
|
68
|
+
}
|
|
69
|
+
sessionStorage.removeItem(`thunderid_oauth_${state}`);
|
|
70
|
+
if (oauthError) {
|
|
71
|
+
const errorMsg = errorDescription || oauthError || "OAuth authentication failed";
|
|
72
|
+
onError?.(new Error(errorMsg));
|
|
73
|
+
const params$1 = new URLSearchParams();
|
|
74
|
+
params$1.set("error", oauthError);
|
|
75
|
+
if (errorDescription) params$1.set("error_description", errorDescription);
|
|
76
|
+
navigate$1(`${returnPath}?${params$1.toString()}`);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (!code) throw new Error("Missing OAuth authorization code");
|
|
80
|
+
const params = new URLSearchParams();
|
|
81
|
+
params.set("code", code);
|
|
82
|
+
if (nonce) params.set("nonce", nonce);
|
|
83
|
+
navigate$1(`${returnPath}?${params.toString()}`);
|
|
84
|
+
} catch (err) {
|
|
85
|
+
const errorMessage = err instanceof Error ? err.message : "OAuth callback processing failed";
|
|
86
|
+
console.error("OAuth callback error:", err);
|
|
87
|
+
onError?.(err instanceof Error ? err : new Error(errorMessage));
|
|
88
|
+
const params = new URLSearchParams();
|
|
89
|
+
params.set("error", "callback_error");
|
|
90
|
+
params.set("error_description", errorMessage);
|
|
91
|
+
navigate$1(`${returnPath}?${params.toString()}`);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
processOAuthCallback();
|
|
95
|
+
}, [onNavigate, onError]);
|
|
96
|
+
return null;
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
//#endregion
|
|
100
|
+
export { OAuthCallback };
|
|
101
|
+
//# sourceMappingURL=OAuthCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OAuthCallback.js","names":["OAuthCallback: FC<OAuthCallbackProps>","processingRef: any","navigate","urlParams: URLSearchParams","code: string | null","state: string | null","nonce: string | null","oauthError: string | null","errorDescription: string | null","storedData: string | null","errorMsg: string","params: URLSearchParams","params","errorMessage: string"],"sources":["../../../../src/components/auth/Callback/OAuthCallback.tsx"],"sourcesContent":["/**\n * Copyright (c) 2026, 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 {navigate as browserNavigate} from '@thunderid/browser';\nimport {FC, useEffect, useRef} from 'react';\n\n/**\n * Props for Callback component\n */\nexport interface OAuthCallbackProps {\n /**\n * Callback function called when an error occurs\n */\n onError?: (error: Error) => void;\n\n /**\n * Function to navigate to a different path.\n * If not provided, falls back to the browser navigate utility (SPA navigation via History API for same-origin paths).\n * Provide this prop to enable framework-specific navigation (e.g., from React Router).\n */\n onNavigate?: (path: string) => void;\n}\n\n/**\n * BaseCallback is a headless component that handles OAuth callback parameter forwarding.\n * This component extracts OAuth parameters (code, state, error) from the URL and forwards them\n * to the original component that initiated the OAuth flow.\n *\n * Works standalone using the browser navigate utility (History API) for navigation by default.\n * Pass an onNavigate prop to enable framework-specific navigation (e.g., via React Router).\n *\n * Flow: Extract OAuth parameters from URL -> Parse state parameter -> Redirect to original path with parameters\n *\n * The original component (SignIn/AcceptInvite) is responsible for:\n * - Processing the OAuth code via the SDK\n * - Calling /flow/execute\n * - Handling the assertion and auth/callback POST\n * - Managing the authenticated session\n */\nexport const OAuthCallback: FC<OAuthCallbackProps> = ({onNavigate, onError}: OAuthCallbackProps) => {\n // Prevent double execution in React Strict Mode\n const processingRef: any = useRef(false);\n\n // Resolve navigation: use provided onNavigate (router-aware) or fall back to browser navigate utility\n const navigate = (path: string): void => {\n if (onNavigate) {\n onNavigate(path);\n } else {\n browserNavigate(path);\n }\n };\n\n useEffect(() => {\n const processOAuthCallback = (): void => {\n // Guard against double execution\n if (processingRef.current) {\n return;\n }\n processingRef.current = true;\n\n // Declare variables outside try block for use in catch\n let returnPath = '/';\n\n try {\n // 1. Extract OAuth parameters from URL\n const urlParams: URLSearchParams = new URLSearchParams(window.location.search);\n const code: string | null = urlParams.get('code');\n const state: string | null = urlParams.get('state');\n const nonce: string | null = urlParams.get('nonce');\n const oauthError: string | null = urlParams.get('error');\n const errorDescription: string | null = urlParams.get('error_description');\n\n // 1a. If running inside a popup (e.g. social signup), send OAuth params\n // back to the opener via postMessage. The parent window's handler will\n // close this popup after processing the code.\n if (window.opener) {\n window.opener.postMessage({code, error: oauthError, errorDescription, nonce, state}, window.location.origin);\n return;\n }\n\n // 2. Validate and retrieve OAuth state from sessionStorage\n if (!state) {\n throw new Error('Missing OAuth state parameter - possible security issue');\n }\n\n const storedData: string | null = sessionStorage.getItem(`thunderid_oauth_${state}`);\n if (!storedData) {\n // If state not found, might be an error callback - try to handle gracefully\n if (oauthError) {\n const errorMsg: string = errorDescription || oauthError || 'OAuth authentication failed';\n const err: Error = new Error(errorMsg);\n onError?.(err);\n\n const params: URLSearchParams = new URLSearchParams();\n params.set('error', oauthError);\n if (errorDescription) {\n params.set('error_description', errorDescription);\n }\n\n navigate(`/?${params.toString()}`);\n return;\n }\n throw new Error('Invalid OAuth state - possible CSRF attack');\n }\n\n const {path, timestamp} = JSON.parse(storedData);\n returnPath = path || '/';\n\n // 3. Validate state freshness\n const MAX_STATE_AGE = 600000; // 10 minutes\n if (Date.now() - timestamp > MAX_STATE_AGE) {\n sessionStorage.removeItem(`thunderid_oauth_${state}`);\n throw new Error('OAuth state expired - please try again');\n }\n\n // 4. Clean up state\n sessionStorage.removeItem(`thunderid_oauth_${state}`);\n\n // 5. Handle OAuth error response\n if (oauthError) {\n const errorMsg: string = errorDescription || oauthError || 'OAuth authentication failed';\n const err: Error = new Error(errorMsg);\n onError?.(err);\n\n const params: URLSearchParams = new URLSearchParams();\n params.set('error', oauthError);\n if (errorDescription) {\n params.set('error_description', errorDescription);\n }\n\n navigate(`${returnPath}?${params.toString()}`);\n return;\n }\n\n // 6. Validate required parameters\n if (!code) {\n throw new Error('Missing OAuth authorization code');\n }\n\n // 7. Forward OAuth code to original component\n // The component (SignIn/AcceptInvite) will retrieve flowId/authId from sessionStorage\n const params: URLSearchParams = new URLSearchParams();\n params.set('code', code);\n if (nonce) {\n params.set('nonce', nonce);\n }\n\n navigate(`${returnPath}?${params.toString()}`);\n } catch (err) {\n const errorMessage: string = err instanceof Error ? err.message : 'OAuth callback processing failed';\n // eslint-disable-next-line no-console\n console.error('OAuth callback error:', err);\n\n onError?.(err instanceof Error ? err : new Error(errorMessage));\n\n // Redirect back with OAuth error format\n const params: URLSearchParams = new URLSearchParams();\n params.set('error', 'callback_error');\n params.set('error_description', errorMessage);\n\n navigate(`${returnPath}?${params.toString()}`);\n }\n };\n\n processOAuthCallback();\n }, [onNavigate, onError]);\n\n // Headless component - no UI, just processing logic\n return null;\n};\n\nexport default OAuthCallback;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsDA,MAAaA,iBAAyC,EAAC,YAAY,cAAiC;CAElG,MAAMC,gBAAqB,OAAO,MAAM;CAGxC,MAAMC,cAAY,SAAuB;AACvC,MAAI,WACF,YAAW,KAAK;MAEhB,UAAgB,KAAK;;AAIzB,iBAAgB;EACd,MAAM,6BAAmC;AAEvC,OAAI,cAAc,QAChB;AAEF,iBAAc,UAAU;GAGxB,IAAI,aAAa;AAEjB,OAAI;IAEF,MAAMC,YAA6B,IAAI,gBAAgB,OAAO,SAAS,OAAO;IAC9E,MAAMC,OAAsB,UAAU,IAAI,OAAO;IACjD,MAAMC,QAAuB,UAAU,IAAI,QAAQ;IACnD,MAAMC,QAAuB,UAAU,IAAI,QAAQ;IACnD,MAAMC,aAA4B,UAAU,IAAI,QAAQ;IACxD,MAAMC,mBAAkC,UAAU,IAAI,oBAAoB;AAK1E,QAAI,OAAO,QAAQ;AACjB,YAAO,OAAO,YAAY;MAAC;MAAM,OAAO;MAAY;MAAkB;MAAO;MAAM,EAAE,OAAO,SAAS,OAAO;AAC5G;;AAIF,QAAI,CAAC,MACH,OAAM,IAAI,MAAM,0DAA0D;IAG5E,MAAMC,aAA4B,eAAe,QAAQ,mBAAmB,QAAQ;AACpF,QAAI,CAAC,YAAY;AAEf,SAAI,YAAY;MACd,MAAMC,WAAmB,oBAAoB,cAAc;AAE3D,gBADmB,IAAI,MAAM,SAAS,CACxB;MAEd,MAAMC,WAA0B,IAAI,iBAAiB;AACrD,eAAO,IAAI,SAAS,WAAW;AAC/B,UAAI,iBACF,UAAO,IAAI,qBAAqB,iBAAiB;AAGnD,iBAAS,KAAKC,SAAO,UAAU,GAAG;AAClC;;AAEF,WAAM,IAAI,MAAM,6CAA6C;;IAG/D,MAAM,EAAC,MAAM,cAAa,KAAK,MAAM,WAAW;AAChD,iBAAa,QAAQ;AAIrB,QAAI,KAAK,KAAK,GAAG,YADK,KACsB;AAC1C,oBAAe,WAAW,mBAAmB,QAAQ;AACrD,WAAM,IAAI,MAAM,yCAAyC;;AAI3D,mBAAe,WAAW,mBAAmB,QAAQ;AAGrD,QAAI,YAAY;KACd,MAAMF,WAAmB,oBAAoB,cAAc;AAE3D,eADmB,IAAI,MAAM,SAAS,CACxB;KAEd,MAAMC,WAA0B,IAAI,iBAAiB;AACrD,cAAO,IAAI,SAAS,WAAW;AAC/B,SAAI,iBACF,UAAO,IAAI,qBAAqB,iBAAiB;AAGnD,gBAAS,GAAG,WAAW,GAAGC,SAAO,UAAU,GAAG;AAC9C;;AAIF,QAAI,CAAC,KACH,OAAM,IAAI,MAAM,mCAAmC;IAKrD,MAAMD,SAA0B,IAAI,iBAAiB;AACrD,WAAO,IAAI,QAAQ,KAAK;AACxB,QAAI,MACF,QAAO,IAAI,SAAS,MAAM;AAG5B,eAAS,GAAG,WAAW,GAAG,OAAO,UAAU,GAAG;YACvC,KAAK;IACZ,MAAME,eAAuB,eAAe,QAAQ,IAAI,UAAU;AAElE,YAAQ,MAAM,yBAAyB,IAAI;AAE3C,cAAU,eAAe,QAAQ,MAAM,IAAI,MAAM,aAAa,CAAC;IAG/D,MAAMF,SAA0B,IAAI,iBAAiB;AACrD,WAAO,IAAI,SAAS,iBAAiB;AACrC,WAAO,IAAI,qBAAqB,aAAa;AAE7C,eAAS,GAAG,WAAW,GAAG,OAAO,UAAU,GAAG;;;AAIlD,wBAAsB;IACrB,CAAC,YAAY,QAAQ,CAAC;AAGzB,QAAO"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
|
|
3
|
+
*
|
|
4
|
+
* WSO2 LLC. licenses this file to you under the Apache License,
|
|
5
|
+
* Version 2.0 (the "License"); you may not use this file except
|
|
6
|
+
* in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
13
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
14
|
+
* License for the specific language governing permissions and limitations
|
|
15
|
+
* under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { FC } from 'react';
|
|
18
|
+
export interface TokenCallbackProps {
|
|
19
|
+
/**
|
|
20
|
+
* Callback function called when an error occurs
|
|
21
|
+
*/
|
|
22
|
+
onError?: (error: Error) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Function to navigate to a different path.
|
|
25
|
+
* If not provided, falls back to the browser navigate utility (SPA navigation via History API for same-origin paths).
|
|
26
|
+
* Provide this prop to enable framework-specific navigation (e.g., from React Router).
|
|
27
|
+
*/
|
|
28
|
+
onNavigate?: (path: string) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Callback function called when authentication is successful
|
|
31
|
+
*/
|
|
32
|
+
onSuccess?: (authData: Record<string, any>) => void;
|
|
33
|
+
/**
|
|
34
|
+
* Custom path for the sign-in page. Defaults to '/signin'
|
|
35
|
+
*/
|
|
36
|
+
signInPath?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Custom path for the sign-up page. Defaults to '/signup'
|
|
39
|
+
*/
|
|
40
|
+
signUpPath?: string;
|
|
41
|
+
}
|
|
42
|
+
export declare const TokenCallback: FC<TokenCallbackProps>;
|
|
43
|
+
export default TokenCallback;
|
|
44
|
+
//# sourceMappingURL=TokenCallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenCallback.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/Callback/TokenCallback.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAC,EAAE,EAAoB,MAAM,OAAO,CAAC;AAG5C,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAEpD;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAwLhD,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import useThunderID_default from "../../../contexts/ThunderID/useThunderID.js";
|
|
2
|
+
import { EmbeddedSignInFlowStatusV2, EmbeddedSignInFlowTypeV2, navigate } from "@thunderid/browser";
|
|
3
|
+
import { useEffect, useRef } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/auth/Callback/TokenCallback.tsx
|
|
6
|
+
const TokenCallback = ({ onNavigate, onError, onSuccess, signInPath = "/signin", signUpPath = "/signup" }) => {
|
|
7
|
+
const processingRef = useRef(false);
|
|
8
|
+
const { isInitialized, isLoading, signIn, signUp, getStorageManager } = useThunderID_default();
|
|
9
|
+
const navigate$1 = (path) => {
|
|
10
|
+
if (onNavigate) onNavigate(path);
|
|
11
|
+
else navigate(path);
|
|
12
|
+
};
|
|
13
|
+
const clearTokenFromUrl = () => {
|
|
14
|
+
if (!window?.location?.href) return;
|
|
15
|
+
const url = new URL(window.location.href);
|
|
16
|
+
url.searchParams.delete("token");
|
|
17
|
+
url.searchParams.delete("type");
|
|
18
|
+
window.history.replaceState({}, "", url.toString());
|
|
19
|
+
};
|
|
20
|
+
const initiateOAuthRedirect = (redirectURL, isRegistrationFlow) => {
|
|
21
|
+
const redirectUrlObj = new URL(redirectURL);
|
|
22
|
+
const state = redirectUrlObj.searchParams.get("state") || crypto.randomUUID();
|
|
23
|
+
sessionStorage.setItem(`thunderid_oauth_${state}`, JSON.stringify({
|
|
24
|
+
path: isRegistrationFlow ? signUpPath : signInPath,
|
|
25
|
+
timestamp: Date.now()
|
|
26
|
+
}));
|
|
27
|
+
navigate(redirectUrlObj.toString());
|
|
28
|
+
};
|
|
29
|
+
const buildSignInPath = (executionId, applicationId, isRegistrationFlow) => {
|
|
30
|
+
const params = new URLSearchParams();
|
|
31
|
+
if (executionId) params.set("executionId", executionId);
|
|
32
|
+
if (applicationId) params.set("applicationId", applicationId);
|
|
33
|
+
const basePath = isRegistrationFlow ? signUpPath : signInPath;
|
|
34
|
+
return params.toString() ? `${basePath}?${params.toString()}` : basePath;
|
|
35
|
+
};
|
|
36
|
+
const redirectWithError = (error, isRegistrationFlow) => {
|
|
37
|
+
sessionStorage.removeItem("thunderid_execution_id");
|
|
38
|
+
onError?.(error);
|
|
39
|
+
const params = new URLSearchParams();
|
|
40
|
+
params.set("error", "token_verification_failed");
|
|
41
|
+
params.set("error_description", error.message);
|
|
42
|
+
navigate$1(`${isRegistrationFlow ? signUpPath : signInPath}?${params.toString()}`);
|
|
43
|
+
};
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
if (!isInitialized || isLoading) return;
|
|
46
|
+
const processTokenCallback = async () => {
|
|
47
|
+
if (processingRef.current) return;
|
|
48
|
+
processingRef.current = true;
|
|
49
|
+
const searchParams = new URLSearchParams(window.location.search);
|
|
50
|
+
const executionId = searchParams.get("id") || searchParams.get("executionId");
|
|
51
|
+
const token = searchParams.get("token");
|
|
52
|
+
const applicationId = searchParams.get("applicationId");
|
|
53
|
+
const isRegistrationFlow = searchParams.get("type") === "REGISTRATION";
|
|
54
|
+
clearTokenFromUrl();
|
|
55
|
+
try {
|
|
56
|
+
const storageManager = await getStorageManager();
|
|
57
|
+
if (!executionId || !token) {
|
|
58
|
+
redirectWithError(/* @__PURE__ */ new Error("Missing executionId or token in callback URL"), isRegistrationFlow);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
let response;
|
|
62
|
+
if (isRegistrationFlow) response = await signUp({
|
|
63
|
+
executionId,
|
|
64
|
+
inputs: { token }
|
|
65
|
+
});
|
|
66
|
+
else response = await signIn({
|
|
67
|
+
executionId,
|
|
68
|
+
inputs: { token }
|
|
69
|
+
});
|
|
70
|
+
if (response.type === EmbeddedSignInFlowTypeV2.Redirection) {
|
|
71
|
+
const redirectURL = response.data?.redirectURL || response?.redirectURL;
|
|
72
|
+
const nextExecutionId$1 = response.executionId || executionId;
|
|
73
|
+
sessionStorage.setItem("thunderid_execution_id", nextExecutionId$1);
|
|
74
|
+
if (redirectURL) {
|
|
75
|
+
initiateOAuthRedirect(redirectURL, isRegistrationFlow);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (response.flowStatus === EmbeddedSignInFlowStatusV2.Complete) {
|
|
80
|
+
const redirectUrl = response?.redirectUrl || response?.redirect_uri;
|
|
81
|
+
sessionStorage.removeItem("thunderid_execution_id");
|
|
82
|
+
await storageManager.removeHybridDataParameter("authId");
|
|
83
|
+
onSuccess?.({
|
|
84
|
+
redirectUrl,
|
|
85
|
+
...response.data || {}
|
|
86
|
+
});
|
|
87
|
+
if (redirectUrl) {
|
|
88
|
+
window.location.href = redirectUrl;
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
navigate$1(isRegistrationFlow ? signUpPath : signInPath);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (response.flowStatus === EmbeddedSignInFlowStatusV2.Error) {
|
|
95
|
+
const failureReason = response?.failureReason;
|
|
96
|
+
const error = new Error(failureReason || "Token validation failed. Please try again.");
|
|
97
|
+
await storageManager.removeHybridDataParameter("authId");
|
|
98
|
+
redirectWithError(error, isRegistrationFlow);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const nextExecutionId = response.executionId || executionId;
|
|
102
|
+
sessionStorage.setItem("thunderid_execution_id", nextExecutionId);
|
|
103
|
+
if (response.challengeToken) await storageManager.setTemporaryDataParameter("challengeToken", response.challengeToken);
|
|
104
|
+
navigate$1(buildSignInPath(nextExecutionId, applicationId, isRegistrationFlow));
|
|
105
|
+
} catch (err) {
|
|
106
|
+
const error = err instanceof Error ? err : /* @__PURE__ */ new Error("Token callback processing failed");
|
|
107
|
+
console.error("Token callback error:", err);
|
|
108
|
+
const storageManager = await getStorageManager();
|
|
109
|
+
if (storageManager) await storageManager.removeHybridDataParameter("authId");
|
|
110
|
+
redirectWithError(error, isRegistrationFlow);
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
processTokenCallback();
|
|
114
|
+
}, [
|
|
115
|
+
getStorageManager,
|
|
116
|
+
isInitialized,
|
|
117
|
+
isLoading,
|
|
118
|
+
onError,
|
|
119
|
+
onNavigate,
|
|
120
|
+
onSuccess,
|
|
121
|
+
signIn,
|
|
122
|
+
signUp,
|
|
123
|
+
signInPath,
|
|
124
|
+
signUpPath
|
|
125
|
+
]);
|
|
126
|
+
return null;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
//#endregion
|
|
130
|
+
export { TokenCallback };
|
|
131
|
+
//# sourceMappingURL=TokenCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenCallback.js","names":["TokenCallback: FC<TokenCallbackProps>","processingRef: any","useThunderID","navigate","url: URL","redirectUrlObj: URL","state: string","params: URLSearchParams","searchParams: URLSearchParams","executionId: string | null","token: string | null","applicationId: string | null","isRegistrationFlow: boolean","storageManager: any","response: any","redirectURL: string | undefined","nextExecutionId: string","nextExecutionId","redirectUrl: string | undefined","failureReason: string | undefined","error: Error"],"sources":["../../../../src/components/auth/Callback/TokenCallback.tsx"],"sourcesContent":["/**\n * Copyright (c) 2026, 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, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\nimport {EmbeddedSignInFlowStatusV2, EmbeddedSignInFlowTypeV2, navigate as browserNavigate} from '@thunderid/browser';\nimport {FC, useEffect, useRef} from 'react';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\n\nexport interface TokenCallbackProps {\n /**\n * Callback function called when an error occurs\n */\n onError?: (error: Error) => void;\n\n /**\n * Function to navigate to a different path.\n * If not provided, falls back to the browser navigate utility (SPA navigation via History API for same-origin paths).\n * Provide this prop to enable framework-specific navigation (e.g., from React Router).\n */\n onNavigate?: (path: string) => void;\n\n /**\n * Callback function called when authentication is successful\n */\n onSuccess?: (authData: Record<string, any>) => void;\n\n /**\n * Custom path for the sign-in page. Defaults to '/signin'\n */\n signInPath?: string;\n\n /**\n * Custom path for the sign-up page. Defaults to '/signup'\n */\n signUpPath?: string;\n}\n\nexport const TokenCallback: FC<TokenCallbackProps> = ({\n onNavigate,\n onError,\n onSuccess,\n signInPath = '/signin',\n signUpPath = '/signup',\n}: TokenCallbackProps) => {\n const processingRef: any = useRef(false);\n const {isInitialized, isLoading, signIn, signUp, getStorageManager} = useThunderID();\n\n const navigate = (path: string): void => {\n if (onNavigate) {\n onNavigate(path);\n } else {\n browserNavigate(path);\n }\n };\n\n const clearTokenFromUrl = (): void => {\n if (!window?.location?.href) {\n return;\n }\n\n const url: URL = new URL(window.location.href);\n url.searchParams.delete('token');\n url.searchParams.delete('type');\n window.history.replaceState({}, '', url.toString());\n };\n\n const initiateOAuthRedirect = (redirectURL: string, isRegistrationFlow?: boolean): void => {\n const redirectUrlObj: URL = new URL(redirectURL);\n const state: string = redirectUrlObj.searchParams.get('state') || crypto.randomUUID();\n\n sessionStorage.setItem(\n `thunderid_oauth_${state}`,\n JSON.stringify({\n path: isRegistrationFlow ? signUpPath : signInPath,\n timestamp: Date.now(),\n }),\n );\n\n browserNavigate(redirectUrlObj.toString());\n };\n\n const buildSignInPath = (\n executionId?: string | null,\n applicationId?: string | null,\n isRegistrationFlow?: boolean,\n ): string => {\n const params: URLSearchParams = new URLSearchParams();\n if (executionId) {\n params.set('executionId', executionId);\n }\n if (applicationId) {\n params.set('applicationId', applicationId);\n }\n\n const basePath = isRegistrationFlow ? signUpPath : signInPath;\n return params.toString() ? `${basePath}?${params.toString()}` : basePath;\n };\n\n const redirectWithError = (error: Error, isRegistrationFlow?: boolean): void => {\n sessionStorage.removeItem('thunderid_execution_id');\n\n onError?.(error);\n\n const params: URLSearchParams = new URLSearchParams();\n params.set('error', 'token_verification_failed');\n params.set('error_description', error.message);\n const basePath = isRegistrationFlow ? signUpPath : signInPath;\n navigate(`${basePath}?${params.toString()}`);\n };\n\n useEffect(() => {\n if (!isInitialized || isLoading) {\n return;\n }\n\n const processTokenCallback = async (): Promise<void> => {\n if (processingRef.current) {\n return;\n }\n processingRef.current = true;\n\n // Read URL params before clearing them so they're accessible in both try and catch.\n const searchParams: URLSearchParams = new URLSearchParams(window.location.search);\n const executionId: string | null = searchParams.get('id') || searchParams.get('executionId');\n const token: string | null = searchParams.get('token');\n const applicationId: string | null = searchParams.get('applicationId');\n const isRegistrationFlow: boolean = searchParams.get('type') === 'REGISTRATION';\n\n clearTokenFromUrl();\n\n try {\n const storageManager: any = await getStorageManager();\n\n if (!executionId || !token) {\n const error: Error = new Error('Missing executionId or token in callback URL');\n redirectWithError(error, isRegistrationFlow);\n return;\n }\n\n let response: any;\n\n if (isRegistrationFlow) {\n response = await signUp({executionId, inputs: {token}});\n } else {\n response = await signIn({executionId, inputs: {token}});\n }\n\n if (response.type === EmbeddedSignInFlowTypeV2.Redirection) {\n const redirectURL: string | undefined = (response.data as any)?.redirectURL || (response as any)?.redirectURL;\n const nextExecutionId: string = response.executionId || executionId;\n sessionStorage.setItem('thunderid_execution_id', nextExecutionId);\n\n if (redirectURL) {\n initiateOAuthRedirect(redirectURL, isRegistrationFlow);\n return;\n }\n }\n\n if (response.flowStatus === EmbeddedSignInFlowStatusV2.Complete) {\n const redirectUrl: string | undefined = (response as any)?.redirectUrl || (response as any)?.redirect_uri;\n\n sessionStorage.removeItem('thunderid_execution_id');\n await storageManager.removeHybridDataParameter('authId');\n\n onSuccess?.({\n redirectUrl,\n ...((response.data as Record<string, any>) || {}),\n });\n\n if (redirectUrl) {\n window.location.href = redirectUrl;\n return;\n }\n\n navigate(isRegistrationFlow ? signUpPath : signInPath);\n return;\n }\n\n if (response.flowStatus === EmbeddedSignInFlowStatusV2.Error) {\n const failureReason: string | undefined = (response as any)?.failureReason;\n const error: Error = new Error(failureReason || 'Token validation failed. Please try again.');\n await storageManager.removeHybridDataParameter('authId');\n redirectWithError(error, isRegistrationFlow);\n return;\n }\n\n const nextExecutionId: string = response.executionId || executionId;\n sessionStorage.setItem('thunderid_execution_id', nextExecutionId);\n\n if (response.challengeToken) {\n await storageManager.setTemporaryDataParameter('challengeToken', response.challengeToken);\n }\n\n navigate(buildSignInPath(nextExecutionId, applicationId, isRegistrationFlow));\n } catch (err) {\n const error: Error = err instanceof Error ? err : new Error('Token callback processing failed');\n // eslint-disable-next-line no-console\n console.error('Token callback error:', err);\n const storageManager: any = await getStorageManager();\n if (storageManager) {\n await storageManager.removeHybridDataParameter('authId');\n }\n redirectWithError(error, isRegistrationFlow);\n }\n };\n\n processTokenCallback();\n }, [\n getStorageManager,\n isInitialized,\n isLoading,\n onError,\n onNavigate,\n onSuccess,\n signIn,\n signUp,\n signInPath,\n signUpPath,\n ]);\n\n return null;\n};\n\nexport default TokenCallback;\n"],"mappings":";;;;;AAkDA,MAAaA,iBAAyC,EACpD,YACA,SACA,WACA,aAAa,WACb,aAAa,gBACW;CACxB,MAAMC,gBAAqB,OAAO,MAAM;CACxC,MAAM,EAAC,eAAe,WAAW,QAAQ,QAAQ,sBAAqBC,sBAAc;CAEpF,MAAMC,cAAY,SAAuB;AACvC,MAAI,WACF,YAAW,KAAK;MAEhB,UAAgB,KAAK;;CAIzB,MAAM,0BAAgC;AACpC,MAAI,CAAC,QAAQ,UAAU,KACrB;EAGF,MAAMC,MAAW,IAAI,IAAI,OAAO,SAAS,KAAK;AAC9C,MAAI,aAAa,OAAO,QAAQ;AAChC,MAAI,aAAa,OAAO,OAAO;AAC/B,SAAO,QAAQ,aAAa,EAAE,EAAE,IAAI,IAAI,UAAU,CAAC;;CAGrD,MAAM,yBAAyB,aAAqB,uBAAuC;EACzF,MAAMC,iBAAsB,IAAI,IAAI,YAAY;EAChD,MAAMC,QAAgB,eAAe,aAAa,IAAI,QAAQ,IAAI,OAAO,YAAY;AAErF,iBAAe,QACb,mBAAmB,SACnB,KAAK,UAAU;GACb,MAAM,qBAAqB,aAAa;GACxC,WAAW,KAAK,KAAK;GACtB,CAAC,CACH;AAED,WAAgB,eAAe,UAAU,CAAC;;CAG5C,MAAM,mBACJ,aACA,eACA,uBACW;EACX,MAAMC,SAA0B,IAAI,iBAAiB;AACrD,MAAI,YACF,QAAO,IAAI,eAAe,YAAY;AAExC,MAAI,cACF,QAAO,IAAI,iBAAiB,cAAc;EAG5C,MAAM,WAAW,qBAAqB,aAAa;AACnD,SAAO,OAAO,UAAU,GAAG,GAAG,SAAS,GAAG,OAAO,UAAU,KAAK;;CAGlE,MAAM,qBAAqB,OAAc,uBAAuC;AAC9E,iBAAe,WAAW,yBAAyB;AAEnD,YAAU,MAAM;EAEhB,MAAMA,SAA0B,IAAI,iBAAiB;AACrD,SAAO,IAAI,SAAS,4BAA4B;AAChD,SAAO,IAAI,qBAAqB,MAAM,QAAQ;AAE9C,aAAS,GADQ,qBAAqB,aAAa,WAC9B,GAAG,OAAO,UAAU,GAAG;;AAG9C,iBAAgB;AACd,MAAI,CAAC,iBAAiB,UACpB;EAGF,MAAM,uBAAuB,YAA2B;AACtD,OAAI,cAAc,QAChB;AAEF,iBAAc,UAAU;GAGxB,MAAMC,eAAgC,IAAI,gBAAgB,OAAO,SAAS,OAAO;GACjF,MAAMC,cAA6B,aAAa,IAAI,KAAK,IAAI,aAAa,IAAI,cAAc;GAC5F,MAAMC,QAAuB,aAAa,IAAI,QAAQ;GACtD,MAAMC,gBAA+B,aAAa,IAAI,gBAAgB;GACtE,MAAMC,qBAA8B,aAAa,IAAI,OAAO,KAAK;AAEjE,sBAAmB;AAEnB,OAAI;IACF,MAAMC,iBAAsB,MAAM,mBAAmB;AAErD,QAAI,CAAC,eAAe,CAAC,OAAO;AAE1B,uCADqB,IAAI,MAAM,+CAA+C,EACrD,mBAAmB;AAC5C;;IAGF,IAAIC;AAEJ,QAAI,mBACF,YAAW,MAAM,OAAO;KAAC;KAAa,QAAQ,EAAC,OAAM;KAAC,CAAC;QAEvD,YAAW,MAAM,OAAO;KAAC;KAAa,QAAQ,EAAC,OAAM;KAAC,CAAC;AAGzD,QAAI,SAAS,SAAS,yBAAyB,aAAa;KAC1D,MAAMC,cAAmC,SAAS,MAAc,eAAgB,UAAkB;KAClG,MAAMC,oBAA0B,SAAS,eAAe;AACxD,oBAAe,QAAQ,0BAA0BC,kBAAgB;AAEjE,SAAI,aAAa;AACf,4BAAsB,aAAa,mBAAmB;AACtD;;;AAIJ,QAAI,SAAS,eAAe,2BAA2B,UAAU;KAC/D,MAAMC,cAAmC,UAAkB,eAAgB,UAAkB;AAE7F,oBAAe,WAAW,yBAAyB;AACnD,WAAM,eAAe,0BAA0B,SAAS;AAExD,iBAAY;MACV;MACA,GAAK,SAAS,QAAgC,EAAE;MACjD,CAAC;AAEF,SAAI,aAAa;AACf,aAAO,SAAS,OAAO;AACvB;;AAGF,gBAAS,qBAAqB,aAAa,WAAW;AACtD;;AAGF,QAAI,SAAS,eAAe,2BAA2B,OAAO;KAC5D,MAAMC,gBAAqC,UAAkB;KAC7D,MAAMC,QAAe,IAAI,MAAM,iBAAiB,6CAA6C;AAC7F,WAAM,eAAe,0BAA0B,SAAS;AACxD,uBAAkB,OAAO,mBAAmB;AAC5C;;IAGF,MAAMJ,kBAA0B,SAAS,eAAe;AACxD,mBAAe,QAAQ,0BAA0B,gBAAgB;AAEjE,QAAI,SAAS,eACX,OAAM,eAAe,0BAA0B,kBAAkB,SAAS,eAAe;AAG3F,eAAS,gBAAgB,iBAAiB,eAAe,mBAAmB,CAAC;YACtE,KAAK;IACZ,MAAMI,QAAe,eAAe,QAAQ,sBAAM,IAAI,MAAM,mCAAmC;AAE/F,YAAQ,MAAM,yBAAyB,IAAI;IAC3C,MAAMP,iBAAsB,MAAM,mBAAmB;AACrD,QAAI,eACF,OAAM,eAAe,0BAA0B,SAAS;AAE1D,sBAAkB,OAAO,mBAAmB;;;AAIhD,wBAAsB;IACrB;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AAEF,QAAO"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import useThunderID_default from "../../contexts/ThunderID/useThunderID.js";
|
|
2
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/components/control/Loading.tsx
|
|
5
|
+
/**
|
|
6
|
+
* A component that only renders its children when the ThunderID is loading.
|
|
7
|
+
*
|
|
8
|
+
* @remarks This component is only supported in browser based React applications (CSR).
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* import { Loading } from '@thunderid/auth-react';
|
|
13
|
+
*
|
|
14
|
+
* const App = () => {
|
|
15
|
+
* return (
|
|
16
|
+
* <Loading fallback={<p>Finished Loading...</p>}>
|
|
17
|
+
* <p>Loading...</p>
|
|
18
|
+
* </Loading>
|
|
19
|
+
* );
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
const Loading = ({ children, fallback = null }) => {
|
|
24
|
+
const { isLoading } = useThunderID_default();
|
|
25
|
+
if (!isLoading) return /* @__PURE__ */ jsx(Fragment, { children: fallback });
|
|
26
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
27
|
+
};
|
|
28
|
+
Loading.displayName = "Loading";
|
|
29
|
+
var Loading_default = Loading;
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
export { Loading_default as default };
|
|
33
|
+
//# sourceMappingURL=Loading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Loading.js","names":["Loading: FC<PropsWithChildren<LoadingProps>>","useThunderID"],"sources":["../../../src/components/control/Loading.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 {FC, PropsWithChildren, ReactNode} from 'react';\nimport useThunderID from '../../contexts/ThunderID/useThunderID';\n\n/**\n * Props for the Loading component.\n */\nexport interface LoadingProps {\n /**\n * Content to show when the user is not signed in.\n */\n fallback?: ReactNode;\n}\n\n/**\n * A component that only renders its children when the ThunderID is loading.\n *\n * @remarks This component is only supported in browser based React applications (CSR).\n *\n * @example\n * ```tsx\n * import { Loading } from '@thunderid/auth-react';\n *\n * const App = () => {\n * return (\n * <Loading fallback={<p>Finished Loading...</p>}>\n * <p>Loading...</p>\n * </Loading>\n * );\n * }\n * ```\n */\nconst Loading: FC<PropsWithChildren<LoadingProps>> = ({children, fallback = null}: PropsWithChildren<LoadingProps>) => {\n const {isLoading} = useThunderID();\n\n if (!isLoading) {\n return <>{fallback}</>;\n }\n\n return <>{children}</>;\n};\n\nLoading.displayName = 'Loading';\n\nexport default Loading;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAiDA,MAAMA,WAAgD,EAAC,UAAU,WAAW,WAA2C;CACrH,MAAM,EAAC,cAAaC,sBAAc;AAElC,KAAI,CAAC,UACH,QAAO,0CAAG,WAAY;AAGxB,QAAO,gCAAG,WAAY;;AAGxB,QAAQ,cAAc;AAEtB,sBAAe"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import useThunderID_default from "../../../contexts/ThunderID/useThunderID.js";
|
|
2
|
+
import ThunderIDProvider_default from "../../../contexts/ThunderID/ThunderIDProvider.js";
|
|
3
|
+
import OrganizationContextController_default from "./OrganizationContextController.js";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/control/OrganizationContext/OrganizationContext.tsx
|
|
7
|
+
const OrganizationContext = ({ instanceId, baseUrl, clientId, afterSignInUrl, afterSignOutUrl, targetOrganizationId, sourceInstanceId, scopes, children,...rest }) => {
|
|
8
|
+
const { isSignedIn: isSourceSignedIn, instanceId: sourceInstanceIdFromContext, baseUrl: sourceBaseUrl, clientId: sourceClientId } = useThunderID_default();
|
|
9
|
+
return /* @__PURE__ */ jsx(ThunderIDProvider_default, {
|
|
10
|
+
instanceId,
|
|
11
|
+
baseUrl: baseUrl || sourceBaseUrl,
|
|
12
|
+
clientId: clientId || sourceClientId,
|
|
13
|
+
afterSignInUrl,
|
|
14
|
+
afterSignOutUrl,
|
|
15
|
+
scopes,
|
|
16
|
+
organizationChain: {
|
|
17
|
+
sourceInstanceId: sourceInstanceId || sourceInstanceIdFromContext,
|
|
18
|
+
targetOrganizationId
|
|
19
|
+
},
|
|
20
|
+
...rest,
|
|
21
|
+
children: /* @__PURE__ */ jsx(OrganizationContextController_default, {
|
|
22
|
+
targetOrganizationId,
|
|
23
|
+
isSourceSignedIn,
|
|
24
|
+
children
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
var OrganizationContext_default = OrganizationContext;
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
export { OrganizationContext_default as default };
|
|
32
|
+
//# sourceMappingURL=OrganizationContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrganizationContext.js","names":["OrganizationContext: FC<PropsWithChildren<OrganizationContextProps>>","useThunderID","ThunderIDProvider","OrganizationContextController"],"sources":["../../../../src/components/control/OrganizationContext/OrganizationContext.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 {FC, PropsWithChildren} from 'react';\nimport OrganizationContextController from './OrganizationContextController';\nimport ThunderIDProvider, {ThunderIDProviderProps} from '../../../contexts/ThunderID/ThunderIDProvider';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\n\nexport interface OrganizationContextProps extends Omit<ThunderIDProviderProps, 'organizationChain' | 'baseUrl'> {\n /**\n * Optional base URL for the organization context. If not provided, it will default to the source provider's base URL.\n */\n baseUrl?: string;\n /**\n * Instance ID for this organization context. Must be unique across the app if multiple contexts are used.\n */\n instanceId: number;\n /**\n * Optional source instance ID. If not provided, immediate parent provider is used as source.\n */\n sourceInstanceId?: number;\n /**\n * ID of the organization to authenticate with\n */\n targetOrganizationId: string;\n}\n\nconst OrganizationContext: FC<PropsWithChildren<OrganizationContextProps>> = ({\n instanceId,\n baseUrl,\n clientId,\n afterSignInUrl,\n afterSignOutUrl,\n targetOrganizationId,\n sourceInstanceId,\n scopes,\n children,\n ...rest\n}: PropsWithChildren<OrganizationContextProps>) => {\n // Get the source provider's signed-in status\n const {\n isSignedIn: isSourceSignedIn,\n instanceId: sourceInstanceIdFromContext,\n baseUrl: sourceBaseUrl,\n clientId: sourceClientId,\n } = useThunderID();\n\n return (\n <ThunderIDProvider\n instanceId={instanceId}\n baseUrl={baseUrl || sourceBaseUrl}\n clientId={clientId || sourceClientId}\n afterSignInUrl={afterSignInUrl}\n afterSignOutUrl={afterSignOutUrl}\n scopes={scopes}\n organizationChain={{\n sourceInstanceId: sourceInstanceId || sourceInstanceIdFromContext,\n targetOrganizationId,\n }}\n {...rest}\n >\n <OrganizationContextController targetOrganizationId={targetOrganizationId} isSourceSignedIn={isSourceSignedIn}>\n {children}\n </OrganizationContextController>\n </ThunderIDProvider>\n );\n};\n\nexport default OrganizationContext;\n"],"mappings":";;;;;;AA0CA,MAAMA,uBAAwE,EAC5E,YACA,SACA,UACA,gBACA,iBACA,sBACA,kBACA,QACA,SACA,GAAG,WAC8C;CAEjD,MAAM,EACJ,YAAY,kBACZ,YAAY,6BACZ,SAAS,eACT,UAAU,mBACRC,sBAAc;AAElB,QACE,oBAACC;EACa;EACZ,SAAS,WAAW;EACpB,UAAU,YAAY;EACN;EACC;EACT;EACR,mBAAmB;GACjB,kBAAkB,oBAAoB;GACtC;GACD;EACD,GAAI;YAEJ,oBAACC;GAAoD;GAAwC;GAC1F;IAC6B;GACd;;AAIxB,kCAAe"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import useThunderID_default from "../../../contexts/ThunderID/useThunderID.js";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/components/control/OrganizationContext/OrganizationContextController.tsx
|
|
6
|
+
const OrganizationContextController = ({ targetOrganizationId, isSourceSignedIn, children }) => {
|
|
7
|
+
const { isInitialized, isSignedIn, switchOrganization, isLoading } = useThunderID_default();
|
|
8
|
+
const hasAuthenticatedRef = useRef(false);
|
|
9
|
+
const isAuthenticatingRef = useRef(false);
|
|
10
|
+
/**
|
|
11
|
+
* Handle the organization switch when:
|
|
12
|
+
* - Current instance is initialized and NOT signed in
|
|
13
|
+
* - Source provider IS signed in
|
|
14
|
+
* Uses the `switchOrganization` function from the ThunderID context.
|
|
15
|
+
*/
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
const performOrganizationSwitch = async () => {
|
|
18
|
+
if (hasAuthenticatedRef.current || isAuthenticatingRef.current) return;
|
|
19
|
+
if (!isInitialized || isLoading) return;
|
|
20
|
+
if (isSignedIn) {
|
|
21
|
+
hasAuthenticatedRef.current = true;
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (!isSourceSignedIn) return;
|
|
25
|
+
try {
|
|
26
|
+
isAuthenticatingRef.current = true;
|
|
27
|
+
hasAuthenticatedRef.current = true;
|
|
28
|
+
await switchOrganization({
|
|
29
|
+
id: targetOrganizationId,
|
|
30
|
+
name: "",
|
|
31
|
+
orgHandle: ""
|
|
32
|
+
});
|
|
33
|
+
} catch (error) {
|
|
34
|
+
console.error("Linked organization authentication failed:", error);
|
|
35
|
+
hasAuthenticatedRef.current = false;
|
|
36
|
+
} finally {
|
|
37
|
+
isAuthenticatingRef.current = false;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
performOrganizationSwitch();
|
|
41
|
+
}, [
|
|
42
|
+
isInitialized,
|
|
43
|
+
isSignedIn,
|
|
44
|
+
isLoading,
|
|
45
|
+
isSourceSignedIn,
|
|
46
|
+
targetOrganizationId,
|
|
47
|
+
switchOrganization
|
|
48
|
+
]);
|
|
49
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
50
|
+
};
|
|
51
|
+
var OrganizationContextController_default = OrganizationContextController;
|
|
52
|
+
|
|
53
|
+
//#endregion
|
|
54
|
+
export { OrganizationContextController_default as default };
|
|
55
|
+
//# sourceMappingURL=OrganizationContextController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrganizationContextController.js","names":["OrganizationContextController: FC<OrganizationContextControllerProps>","useThunderID","hasAuthenticatedRef: React.MutableRefObject<boolean>","isAuthenticatingRef: React.MutableRefObject<boolean>"],"sources":["../../../../src/components/control/OrganizationContext/OrganizationContextController.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 {Organization} from '@thunderid/browser';\nimport {FC, useEffect, useRef} from 'react';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\n\ninterface OrganizationContextControllerProps {\n /**\n * Children to render\n */\n children: React.ReactNode;\n /**\n * Whether the source provider is signed in\n */\n isSourceSignedIn: boolean;\n /**\n * ID of the organization to authenticate with\n */\n targetOrganizationId: string;\n}\n\nconst OrganizationContextController: FC<OrganizationContextControllerProps> = ({\n targetOrganizationId,\n isSourceSignedIn,\n children,\n}: OrganizationContextControllerProps) => {\n const {isInitialized, isSignedIn, switchOrganization, isLoading} = useThunderID();\n const hasAuthenticatedRef: React.MutableRefObject<boolean> = useRef(false);\n const isAuthenticatingRef: React.MutableRefObject<boolean> = useRef(false);\n\n /**\n * Handle the organization switch when:\n * - Current instance is initialized and NOT signed in\n * - Source provider IS signed in\n * Uses the `switchOrganization` function from the ThunderID context.\n */\n useEffect(() => {\n const performOrganizationSwitch = async (): Promise<void> => {\n // Prevent multiple authentication attempts\n if (hasAuthenticatedRef.current || isAuthenticatingRef.current) {\n return;\n }\n\n // Wait for initialization to complete\n if (!isInitialized || isLoading) {\n return;\n }\n\n // Only proceed if user is not already signed in to this instance\n if (isSignedIn) {\n hasAuthenticatedRef.current = true;\n return;\n }\n\n // CRITICAL: Only proceed if source provider is signed in\n if (!isSourceSignedIn) {\n return;\n }\n\n try {\n isAuthenticatingRef.current = true;\n hasAuthenticatedRef.current = true;\n\n // Build the organization object for authentication\n const targetOrganization: Organization = {\n id: targetOrganizationId,\n name: '', // Name will be populated after authentication\n orgHandle: '', // Will be populated after authentication\n };\n\n // Call the switchOrganization API from context (handles token exchange)\n await switchOrganization(targetOrganization);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Linked organization authentication failed:', error);\n\n // Reset the flag to allow retry\n hasAuthenticatedRef.current = false;\n } finally {\n isAuthenticatingRef.current = false;\n }\n };\n\n performOrganizationSwitch();\n }, [isInitialized, isSignedIn, isLoading, isSourceSignedIn, targetOrganizationId, switchOrganization]);\n\n return <>{children}</>;\n};\n\nexport default OrganizationContextController;\n"],"mappings":";;;;;AAqCA,MAAMA,iCAAyE,EAC7E,sBACA,kBACA,eACwC;CACxC,MAAM,EAAC,eAAe,YAAY,oBAAoB,cAAaC,sBAAc;CACjF,MAAMC,sBAAuD,OAAO,MAAM;CAC1E,MAAMC,sBAAuD,OAAO,MAAM;;;;;;;AAQ1E,iBAAgB;EACd,MAAM,4BAA4B,YAA2B;AAE3D,OAAI,oBAAoB,WAAW,oBAAoB,QACrD;AAIF,OAAI,CAAC,iBAAiB,UACpB;AAIF,OAAI,YAAY;AACd,wBAAoB,UAAU;AAC9B;;AAIF,OAAI,CAAC,iBACH;AAGF,OAAI;AACF,wBAAoB,UAAU;AAC9B,wBAAoB,UAAU;AAU9B,UAAM,mBAPmC;KACvC,IAAI;KACJ,MAAM;KACN,WAAW;KACZ,CAG2C;YACrC,OAAO;AAEd,YAAQ,MAAM,8CAA8C,MAAM;AAGlE,wBAAoB,UAAU;aACtB;AACR,wBAAoB,UAAU;;;AAIlC,6BAA2B;IAC1B;EAAC;EAAe;EAAY;EAAW;EAAkB;EAAsB;EAAmB,CAAC;AAEtG,QAAO,gCAAG,WAAY;;AAGxB,4CAAe"}
|