@thunderid/react 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (930) hide show
  1. package/dist/ThunderIDReactClient.d.ts.map +1 -1
  2. package/dist/ThunderIDReactClient.js +233 -0
  3. package/dist/ThunderIDReactClient.js.map +1 -0
  4. package/dist/api/createOrganization.d.ts +2 -2
  5. package/dist/api/createOrganization.js +80 -0
  6. package/dist/api/createOrganization.js.map +1 -0
  7. package/dist/api/getAllOrganizations.d.ts +2 -2
  8. package/dist/api/getAllOrganizations.js +71 -0
  9. package/dist/api/getAllOrganizations.js.map +1 -0
  10. package/dist/api/getMeOrganizations.d.ts +2 -2
  11. package/dist/api/getMeOrganizations.js +75 -0
  12. package/dist/api/getMeOrganizations.js.map +1 -0
  13. package/dist/api/getOrganization.d.ts +2 -2
  14. package/dist/api/getOrganization.js +67 -0
  15. package/dist/api/getOrganization.js.map +1 -0
  16. package/dist/api/getSchemas.d.ts +2 -2
  17. package/dist/api/getSchemas.js +65 -0
  18. package/dist/api/getSchemas.js.map +1 -0
  19. package/dist/api/getScim2Me.d.ts +2 -2
  20. package/dist/api/getScim2Me.js +65 -0
  21. package/dist/api/getScim2Me.js.map +1 -0
  22. package/dist/api/updateMeProfile.d.ts +2 -2
  23. package/dist/api/updateMeProfile.js +54 -0
  24. package/dist/api/updateMeProfile.js.map +1 -0
  25. package/dist/api/updateOrganization.d.ts +3 -3
  26. package/dist/api/updateOrganization.js +74 -0
  27. package/dist/api/updateOrganization.js.map +1 -0
  28. package/dist/cjs/ThunderIDReactClient.cjs +235 -0
  29. package/dist/cjs/ThunderIDReactClient.cjs.map +1 -0
  30. package/dist/cjs/_virtual/rolldown_runtime.cjs +25 -0
  31. package/dist/cjs/api/createOrganization.cjs +82 -0
  32. package/dist/cjs/api/createOrganization.cjs.map +1 -0
  33. package/dist/cjs/api/getAllOrganizations.cjs +73 -0
  34. package/dist/cjs/api/getAllOrganizations.cjs.map +1 -0
  35. package/dist/cjs/api/getMeOrganizations.cjs +77 -0
  36. package/dist/cjs/api/getMeOrganizations.cjs.map +1 -0
  37. package/dist/cjs/api/getOrganization.cjs +69 -0
  38. package/dist/cjs/api/getOrganization.cjs.map +1 -0
  39. package/dist/cjs/api/getSchemas.cjs +67 -0
  40. package/dist/cjs/api/getSchemas.cjs.map +1 -0
  41. package/dist/cjs/api/getScim2Me.cjs +67 -0
  42. package/dist/cjs/api/getScim2Me.cjs.map +1 -0
  43. package/dist/cjs/api/updateMeProfile.cjs +56 -0
  44. package/dist/cjs/api/updateMeProfile.cjs.map +1 -0
  45. package/dist/cjs/api/updateOrganization.cjs +76 -0
  46. package/dist/cjs/api/updateOrganization.cjs.map +1 -0
  47. package/dist/cjs/components/actions/SignInButton/BaseSignInButton.cjs +54 -0
  48. package/dist/cjs/components/actions/SignInButton/BaseSignInButton.cjs.map +1 -0
  49. package/dist/cjs/components/actions/SignInButton/SignInButton.cjs +88 -0
  50. package/dist/cjs/components/actions/SignInButton/SignInButton.cjs.map +1 -0
  51. package/dist/cjs/components/actions/SignOutButton/BaseSignOutButton.cjs +54 -0
  52. package/dist/cjs/components/actions/SignOutButton/BaseSignOutButton.cjs.map +1 -0
  53. package/dist/cjs/components/actions/SignOutButton/SignOutButton.cjs +84 -0
  54. package/dist/cjs/components/actions/SignOutButton/SignOutButton.cjs.map +1 -0
  55. package/dist/cjs/components/actions/SignUpButton/BaseSignUpButton.cjs +56 -0
  56. package/dist/cjs/components/actions/SignUpButton/BaseSignUpButton.cjs.map +1 -0
  57. package/dist/cjs/components/actions/SignUpButton/SignUpButton.cjs +86 -0
  58. package/dist/cjs/components/actions/SignUpButton/SignUpButton.cjs.map +1 -0
  59. package/dist/cjs/components/adapters/CheckboxInput.cjs +30 -0
  60. package/dist/cjs/components/adapters/CheckboxInput.cjs.map +1 -0
  61. package/dist/cjs/components/adapters/Consent.cjs +69 -0
  62. package/dist/cjs/components/adapters/Consent.cjs.map +1 -0
  63. package/dist/cjs/components/adapters/ConsentCheckboxList.cjs +81 -0
  64. package/dist/cjs/components/adapters/ConsentCheckboxList.cjs.map +1 -0
  65. package/dist/cjs/components/adapters/ConsentCheckboxList.styles.cjs +46 -0
  66. package/dist/cjs/components/adapters/ConsentCheckboxList.styles.cjs.map +1 -0
  67. package/dist/cjs/components/adapters/DateInput.cjs +30 -0
  68. package/dist/cjs/components/adapters/DateInput.cjs.map +1 -0
  69. package/dist/cjs/components/adapters/DividerComponent.cjs +24 -0
  70. package/dist/cjs/components/adapters/DividerComponent.cjs.map +1 -0
  71. package/dist/cjs/components/adapters/EmailInput.cjs +30 -0
  72. package/dist/cjs/components/adapters/EmailInput.cjs.map +1 -0
  73. package/dist/cjs/components/adapters/FacebookButton.cjs +41 -0
  74. package/dist/cjs/components/adapters/FacebookButton.cjs.map +1 -0
  75. package/dist/cjs/components/adapters/FlowTimer.cjs +52 -0
  76. package/dist/cjs/components/adapters/FlowTimer.cjs.map +1 -0
  77. package/dist/cjs/components/adapters/FormContainer.cjs +36 -0
  78. package/dist/cjs/components/adapters/FormContainer.cjs.map +1 -0
  79. package/dist/cjs/components/adapters/GitHubButton.cjs +41 -0
  80. package/dist/cjs/components/adapters/GitHubButton.cjs.map +1 -0
  81. package/dist/cjs/components/adapters/GoogleButton.cjs +59 -0
  82. package/dist/cjs/components/adapters/GoogleButton.cjs.map +1 -0
  83. package/dist/cjs/components/adapters/ImageComponent.cjs +77 -0
  84. package/dist/cjs/components/adapters/ImageComponent.cjs.map +1 -0
  85. package/dist/cjs/components/adapters/LinkedInButton.cjs +38 -0
  86. package/dist/cjs/components/adapters/LinkedInButton.cjs.map +1 -0
  87. package/dist/cjs/components/adapters/MicrosoftButton.cjs +56 -0
  88. package/dist/cjs/components/adapters/MicrosoftButton.cjs.map +1 -0
  89. package/dist/cjs/components/adapters/NumberInput.cjs +30 -0
  90. package/dist/cjs/components/adapters/NumberInput.cjs.map +1 -0
  91. package/dist/cjs/components/adapters/PasswordInput.cjs +52 -0
  92. package/dist/cjs/components/adapters/PasswordInput.cjs.map +1 -0
  93. package/dist/cjs/components/adapters/SelectInput.cjs +36 -0
  94. package/dist/cjs/components/adapters/SelectInput.cjs.map +1 -0
  95. package/dist/cjs/components/adapters/SignInWithEthereumButton.cjs +38 -0
  96. package/dist/cjs/components/adapters/SignInWithEthereumButton.cjs.map +1 -0
  97. package/dist/cjs/components/adapters/SmsOtpButton.cjs +38 -0
  98. package/dist/cjs/components/adapters/SmsOtpButton.cjs.map +1 -0
  99. package/dist/cjs/components/adapters/SubmitButton.cjs +61 -0
  100. package/dist/cjs/components/adapters/SubmitButton.cjs.map +1 -0
  101. package/dist/cjs/components/adapters/TelephoneInput.cjs +32 -0
  102. package/dist/cjs/components/adapters/TelephoneInput.cjs.map +1 -0
  103. package/dist/cjs/components/adapters/TextInput.cjs +30 -0
  104. package/dist/cjs/components/adapters/TextInput.cjs.map +1 -0
  105. package/dist/cjs/components/adapters/Typography.cjs +60 -0
  106. package/dist/cjs/components/adapters/Typography.cjs.map +1 -0
  107. package/dist/cjs/components/auth/Callback/Callback.cjs +26 -0
  108. package/dist/cjs/components/auth/Callback/Callback.cjs.map +1 -0
  109. package/dist/cjs/components/auth/Callback/OAuthCallback.cjs +104 -0
  110. package/dist/cjs/components/auth/Callback/OAuthCallback.cjs.map +1 -0
  111. package/dist/cjs/components/auth/Callback/TokenCallback.cjs +134 -0
  112. package/dist/cjs/components/auth/Callback/TokenCallback.cjs.map +1 -0
  113. package/dist/cjs/components/control/Loading.cjs +35 -0
  114. package/dist/cjs/components/control/Loading.cjs.map +1 -0
  115. package/dist/cjs/components/control/OrganizationContext/OrganizationContext.cjs +34 -0
  116. package/dist/cjs/components/control/OrganizationContext/OrganizationContext.cjs.map +1 -0
  117. package/dist/cjs/components/control/OrganizationContext/OrganizationContextController.cjs +58 -0
  118. package/dist/cjs/components/control/OrganizationContext/OrganizationContextController.cjs.map +1 -0
  119. package/dist/cjs/components/control/SignedIn.cjs +35 -0
  120. package/dist/cjs/components/control/SignedIn.cjs.map +1 -0
  121. package/dist/cjs/components/control/SignedOut.cjs +35 -0
  122. package/dist/cjs/components/control/SignedOut.cjs.map +1 -0
  123. package/dist/cjs/components/factories/FieldFactory.cjs +142 -0
  124. package/dist/cjs/components/factories/FieldFactory.cjs.map +1 -0
  125. package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.cjs +183 -0
  126. package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.cjs.map +1 -0
  127. package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.styles.cjs +150 -0
  128. package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.styles.cjs.map +1 -0
  129. package/dist/cjs/components/presentation/CreateOrganization/CreateOrganization.cjs +90 -0
  130. package/dist/cjs/components/presentation/CreateOrganization/CreateOrganization.cjs.map +1 -0
  131. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs +118 -0
  132. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs.map +1 -0
  133. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.cjs +118 -0
  134. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.cjs.map +1 -0
  135. package/dist/cjs/components/presentation/LanguageSwitcher/LanguageSwitcher.cjs +76 -0
  136. package/dist/cjs/components/presentation/LanguageSwitcher/LanguageSwitcher.cjs.map +1 -0
  137. package/dist/cjs/components/presentation/Organization/BaseOrganization.cjs +41 -0
  138. package/dist/cjs/components/presentation/Organization/BaseOrganization.cjs.map +1 -0
  139. package/dist/cjs/components/presentation/Organization/Organization.cjs +49 -0
  140. package/dist/cjs/components/presentation/Organization/Organization.cjs.map +1 -0
  141. package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.cjs +257 -0
  142. package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.cjs.map +1 -0
  143. package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.styles.cjs +236 -0
  144. package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.styles.cjs.map +1 -0
  145. package/dist/cjs/components/presentation/OrganizationList/OrganizationList.cjs +86 -0
  146. package/dist/cjs/components/presentation/OrganizationList/OrganizationList.cjs.map +1 -0
  147. package/dist/cjs/components/presentation/OrganizationList/OrganizationList.styles.cjs +75 -0
  148. package/dist/cjs/components/presentation/OrganizationList/OrganizationList.styles.cjs.map +1 -0
  149. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.cjs +328 -0
  150. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.cjs.map +1 -0
  151. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.cjs +166 -0
  152. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.cjs.map +1 -0
  153. package/dist/cjs/components/presentation/OrganizationProfile/OrganizationProfile.cjs +126 -0
  154. package/dist/cjs/components/presentation/OrganizationProfile/OrganizationProfile.cjs.map +1 -0
  155. package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.cjs +288 -0
  156. package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.cjs.map +1 -0
  157. package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.cjs +237 -0
  158. package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.cjs.map +1 -0
  159. package/dist/cjs/components/presentation/OrganizationSwitcher/OrganizationSwitcher.cjs +127 -0
  160. package/dist/cjs/components/presentation/OrganizationSwitcher/OrganizationSwitcher.cjs.map +1 -0
  161. package/dist/cjs/components/presentation/User/BaseUser.cjs +41 -0
  162. package/dist/cjs/components/presentation/User/BaseUser.cjs.map +1 -0
  163. package/dist/cjs/components/presentation/User/User.cjs +45 -0
  164. package/dist/cjs/components/presentation/User/User.cjs.map +1 -0
  165. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs +191 -0
  166. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs.map +1 -0
  167. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.styles.cjs +201 -0
  168. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.styles.cjs.map +1 -0
  169. package/dist/cjs/components/presentation/UserDropdown/UserDropdown.cjs +111 -0
  170. package/dist/cjs/components/presentation/UserDropdown/UserDropdown.cjs.map +1 -0
  171. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs +460 -0
  172. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs.map +1 -0
  173. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.styles.cjs +217 -0
  174. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.styles.cjs.map +1 -0
  175. package/dist/cjs/components/presentation/UserProfile/UserProfile.cjs +81 -0
  176. package/dist/cjs/components/presentation/UserProfile/UserProfile.cjs.map +1 -0
  177. package/dist/cjs/components/presentation/auth/AcceptInvite/v2/AcceptInvite.cjs +109 -0
  178. package/dist/cjs/components/presentation/auth/AcceptInvite/v2/AcceptInvite.cjs.map +1 -0
  179. package/dist/cjs/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.cjs +504 -0
  180. package/dist/cjs/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.cjs.map +1 -0
  181. package/dist/cjs/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.cjs +52 -0
  182. package/dist/cjs/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.cjs.map +1 -0
  183. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs +454 -0
  184. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs.map +1 -0
  185. package/dist/cjs/components/presentation/auth/InviteUser/v2/BaseInviteUser.cjs +419 -0
  186. package/dist/cjs/components/presentation/auth/InviteUser/v2/BaseInviteUser.cjs.map +1 -0
  187. package/dist/cjs/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.cjs +52 -0
  188. package/dist/cjs/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.cjs.map +1 -0
  189. package/dist/cjs/components/presentation/auth/InviteUser/v2/InviteUser.cjs +118 -0
  190. package/dist/cjs/components/presentation/auth/InviteUser/v2/InviteUser.cjs.map +1 -0
  191. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.cjs +183 -0
  192. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.cjs.map +1 -0
  193. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.cjs +128 -0
  194. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.cjs.map +1 -0
  195. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs +20 -0
  196. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs.map +1 -0
  197. package/dist/cjs/components/presentation/auth/Recovery/Recovery.cjs +49 -0
  198. package/dist/cjs/components/presentation/auth/Recovery/Recovery.cjs.map +1 -0
  199. package/dist/cjs/components/presentation/auth/Recovery/v1/BaseRecovery.cjs +293 -0
  200. package/dist/cjs/components/presentation/auth/Recovery/v1/BaseRecovery.cjs.map +1 -0
  201. package/dist/cjs/components/presentation/auth/Recovery/v1/Recovery.cjs +43 -0
  202. package/dist/cjs/components/presentation/auth/Recovery/v1/Recovery.cjs.map +1 -0
  203. package/dist/cjs/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.cjs +163 -0
  204. package/dist/cjs/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.cjs.map +1 -0
  205. package/dist/cjs/components/presentation/auth/Recovery/v2/BaseRecovery.cjs +378 -0
  206. package/dist/cjs/components/presentation/auth/Recovery/v2/BaseRecovery.cjs.map +1 -0
  207. package/dist/cjs/components/presentation/auth/Recovery/v2/Recovery.cjs +78 -0
  208. package/dist/cjs/components/presentation/auth/Recovery/v2/Recovery.cjs.map +1 -0
  209. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs +20 -0
  210. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs.map +1 -0
  211. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.styles.cjs +154 -0
  212. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.styles.cjs.map +1 -0
  213. package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs +86 -0
  214. package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs.map +1 -0
  215. package/dist/cjs/components/presentation/auth/SignIn/v1/BaseSignIn.cjs +734 -0
  216. package/dist/cjs/components/presentation/auth/SignIn/v1/BaseSignIn.cjs.map +1 -0
  217. package/dist/cjs/components/presentation/auth/SignIn/v1/options/EmailOtp.cjs +68 -0
  218. package/dist/cjs/components/presentation/auth/SignIn/v1/options/EmailOtp.cjs.map +1 -0
  219. package/dist/cjs/components/presentation/auth/SignIn/v1/options/IdentifierFirst.cjs +59 -0
  220. package/dist/cjs/components/presentation/auth/SignIn/v1/options/IdentifierFirst.cjs.map +1 -0
  221. package/dist/cjs/components/presentation/auth/SignIn/v1/options/MultiOptionButton.cjs +139 -0
  222. package/dist/cjs/components/presentation/auth/SignIn/v1/options/MultiOptionButton.cjs.map +1 -0
  223. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.cjs +147 -0
  224. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.cjs.map +1 -0
  225. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SmsOtp.cjs +68 -0
  226. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SmsOtp.cjs.map +1 -0
  227. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SocialButton.cjs +38 -0
  228. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SocialButton.cjs.map +1 -0
  229. package/dist/cjs/components/presentation/auth/SignIn/v1/options/Totp.cjs +68 -0
  230. package/dist/cjs/components/presentation/auth/SignIn/v1/options/Totp.cjs.map +1 -0
  231. package/dist/cjs/components/presentation/auth/SignIn/v1/options/UsernamePassword.cjs +60 -0
  232. package/dist/cjs/components/presentation/auth/SignIn/v1/options/UsernamePassword.cjs.map +1 -0
  233. package/dist/cjs/components/presentation/auth/SignIn/v2/BaseSignIn.cjs +330 -0
  234. package/dist/cjs/components/presentation/auth/SignIn/v2/BaseSignIn.cjs.map +1 -0
  235. package/dist/cjs/components/presentation/auth/SignIn/v2/SignIn.cjs +560 -0
  236. package/dist/cjs/components/presentation/auth/SignIn/v2/SignIn.cjs.map +1 -0
  237. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs +20 -0
  238. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs.map +1 -0
  239. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.styles.cjs +150 -0
  240. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.styles.cjs.map +1 -0
  241. package/dist/cjs/components/presentation/auth/SignUp/SignUp.cjs +90 -0
  242. package/dist/cjs/components/presentation/auth/SignUp/SignUp.cjs.map +1 -0
  243. package/dist/cjs/components/presentation/auth/SignUp/v1/BaseSignUp.cjs +451 -0
  244. package/dist/cjs/components/presentation/auth/SignUp/v1/BaseSignUp.cjs.map +1 -0
  245. package/dist/cjs/components/presentation/auth/SignUp/v1/SignUp.cjs +54 -0
  246. package/dist/cjs/components/presentation/auth/SignUp/v1/SignUp.cjs.map +1 -0
  247. package/dist/cjs/components/presentation/auth/SignUp/v1/SignUpOptionFactory.cjs +164 -0
  248. package/dist/cjs/components/presentation/auth/SignUp/v1/SignUpOptionFactory.cjs.map +1 -0
  249. package/dist/cjs/components/presentation/auth/SignUp/v2/BaseSignUp.cjs +656 -0
  250. package/dist/cjs/components/presentation/auth/SignUp/v2/BaseSignUp.cjs.map +1 -0
  251. package/dist/cjs/components/presentation/auth/SignUp/v2/SignUp.cjs +80 -0
  252. package/dist/cjs/components/presentation/auth/SignUp/v2/SignUp.cjs.map +1 -0
  253. package/dist/cjs/components/primitives/Alert/Alert.cjs +107 -0
  254. package/dist/cjs/components/primitives/Alert/Alert.cjs.map +1 -0
  255. package/dist/cjs/components/primitives/Alert/Alert.styles.cjs +89 -0
  256. package/dist/cjs/components/primitives/Alert/Alert.styles.cjs.map +1 -0
  257. package/dist/cjs/components/primitives/Avatar/Avatar.cjs +65 -0
  258. package/dist/cjs/components/primitives/Avatar/Avatar.cjs.map +1 -0
  259. package/dist/cjs/components/primitives/Avatar/Avatar.styles.cjs +87 -0
  260. package/dist/cjs/components/primitives/Avatar/Avatar.styles.cjs.map +1 -0
  261. package/dist/cjs/components/primitives/Button/Button.cjs +97 -0
  262. package/dist/cjs/components/primitives/Button/Button.cjs.map +1 -0
  263. package/dist/cjs/components/primitives/Button/Button.styles.cjs +347 -0
  264. package/dist/cjs/components/primitives/Button/Button.styles.cjs.map +1 -0
  265. package/dist/cjs/components/primitives/Card/Card.cjs +178 -0
  266. package/dist/cjs/components/primitives/Card/Card.cjs.map +1 -0
  267. package/dist/cjs/components/primitives/Card/Card.styles.cjs +100 -0
  268. package/dist/cjs/components/primitives/Card/Card.styles.cjs.map +1 -0
  269. package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs +46 -0
  270. package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs.map +1 -0
  271. package/dist/cjs/components/primitives/Checkbox/Checkbox.styles.cjs +79 -0
  272. package/dist/cjs/components/primitives/Checkbox/Checkbox.styles.cjs.map +1 -0
  273. package/dist/cjs/components/primitives/CopyableText/CopyableText.cjs +63 -0
  274. package/dist/cjs/components/primitives/CopyableText/CopyableText.cjs.map +1 -0
  275. package/dist/cjs/components/primitives/CopyableText/CopyableText.styles.cjs +48 -0
  276. package/dist/cjs/components/primitives/CopyableText/CopyableText.styles.cjs.map +1 -0
  277. package/dist/cjs/components/primitives/DatePicker/DatePicker.cjs +47 -0
  278. package/dist/cjs/components/primitives/DatePicker/DatePicker.cjs.map +1 -0
  279. package/dist/cjs/components/primitives/DatePicker/DatePicker.styles.cjs +87 -0
  280. package/dist/cjs/components/primitives/DatePicker/DatePicker.styles.cjs.map +1 -0
  281. package/dist/cjs/components/primitives/Dialog/Dialog.cjs +200 -0
  282. package/dist/cjs/components/primitives/Dialog/Dialog.cjs.map +1 -0
  283. package/dist/cjs/components/primitives/Dialog/Dialog.styles.cjs +75 -0
  284. package/dist/cjs/components/primitives/Dialog/Dialog.styles.cjs.map +1 -0
  285. package/dist/cjs/components/primitives/Divider/Divider.cjs +71 -0
  286. package/dist/cjs/components/primitives/Divider/Divider.cjs.map +1 -0
  287. package/dist/cjs/components/primitives/Divider/Divider.styles.cjs +72 -0
  288. package/dist/cjs/components/primitives/Divider/Divider.styles.cjs.map +1 -0
  289. package/dist/cjs/components/primitives/FormControl/FormControl.cjs +33 -0
  290. package/dist/cjs/components/primitives/FormControl/FormControl.cjs.map +1 -0
  291. package/dist/cjs/components/primitives/FormControl/FormControl.styles.cjs +43 -0
  292. package/dist/cjs/components/primitives/FormControl/FormControl.styles.cjs.map +1 -0
  293. package/dist/cjs/components/primitives/Icons/ArrowLeftRight.cjs +31 -0
  294. package/dist/cjs/components/primitives/Icons/ArrowLeftRight.cjs.map +1 -0
  295. package/dist/cjs/components/primitives/Icons/ArrowRightLeft.cjs +31 -0
  296. package/dist/cjs/components/primitives/Icons/ArrowRightLeft.cjs.map +1 -0
  297. package/dist/cjs/components/primitives/Icons/Building.cjs +75 -0
  298. package/dist/cjs/components/primitives/Icons/Building.cjs.map +1 -0
  299. package/dist/cjs/components/primitives/Icons/BuildingAlt.cjs +37 -0
  300. package/dist/cjs/components/primitives/Icons/BuildingAlt.cjs.map +1 -0
  301. package/dist/cjs/components/primitives/Icons/Check.cjs +31 -0
  302. package/dist/cjs/components/primitives/Icons/Check.cjs.map +1 -0
  303. package/dist/cjs/components/primitives/Icons/ChevronDown.cjs +31 -0
  304. package/dist/cjs/components/primitives/Icons/ChevronDown.cjs.map +1 -0
  305. package/dist/cjs/components/primitives/Icons/CircleAlert.cjs +44 -0
  306. package/dist/cjs/components/primitives/Icons/CircleAlert.cjs.map +1 -0
  307. package/dist/cjs/components/primitives/Icons/CircleCheck.cjs +30 -0
  308. package/dist/cjs/components/primitives/Icons/CircleCheck.cjs.map +1 -0
  309. package/dist/cjs/components/primitives/Icons/Eye.cjs +30 -0
  310. package/dist/cjs/components/primitives/Icons/Eye.cjs.map +1 -0
  311. package/dist/cjs/components/primitives/Icons/EyeOff.cjs +31 -0
  312. package/dist/cjs/components/primitives/Icons/EyeOff.cjs.map +1 -0
  313. package/dist/cjs/components/primitives/Icons/Info.cjs +34 -0
  314. package/dist/cjs/components/primitives/Icons/Info.cjs.map +1 -0
  315. package/dist/cjs/components/primitives/Icons/LogOut.cjs +30 -0
  316. package/dist/cjs/components/primitives/Icons/LogOut.cjs.map +1 -0
  317. package/dist/cjs/components/primitives/Icons/Plus.cjs +26 -0
  318. package/dist/cjs/components/primitives/Icons/Plus.cjs.map +1 -0
  319. package/dist/cjs/components/primitives/Icons/TriangleAlert.cjs +30 -0
  320. package/dist/cjs/components/primitives/Icons/TriangleAlert.cjs.map +1 -0
  321. package/dist/cjs/components/primitives/Icons/User.cjs +30 -0
  322. package/dist/cjs/components/primitives/Icons/User.cjs.map +1 -0
  323. package/dist/cjs/components/primitives/Icons/X.cjs +26 -0
  324. package/dist/cjs/components/primitives/Icons/X.cjs.map +1 -0
  325. package/dist/cjs/components/primitives/Icons/flowIconRegistry.cjs +17 -0
  326. package/dist/cjs/components/primitives/Icons/flowIconRegistry.cjs.map +1 -0
  327. package/dist/cjs/components/primitives/InputLabel/InputLabel.cjs +32 -0
  328. package/dist/cjs/components/primitives/InputLabel/InputLabel.cjs.map +1 -0
  329. package/dist/cjs/components/primitives/InputLabel/InputLabel.styles.cjs +58 -0
  330. package/dist/cjs/components/primitives/InputLabel/InputLabel.styles.cjs.map +1 -0
  331. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.cjs +215 -0
  332. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.cjs.map +1 -0
  333. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.styles.cjs +175 -0
  334. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.styles.cjs.map +1 -0
  335. package/dist/cjs/components/primitives/Logo/Logo.cjs +37 -0
  336. package/dist/cjs/components/primitives/Logo/Logo.cjs.map +1 -0
  337. package/dist/cjs/components/primitives/Logo/Logo.styles.cjs +53 -0
  338. package/dist/cjs/components/primitives/Logo/Logo.styles.cjs.map +1 -0
  339. package/dist/cjs/components/primitives/MultiInput/MultiInput.cjs +142 -0
  340. package/dist/cjs/components/primitives/MultiInput/MultiInput.cjs.map +1 -0
  341. package/dist/cjs/components/primitives/MultiInput/MultiInput.styles.cjs +115 -0
  342. package/dist/cjs/components/primitives/MultiInput/MultiInput.styles.cjs.map +1 -0
  343. package/dist/cjs/components/primitives/OtpField/OtpField.cjs +129 -0
  344. package/dist/cjs/components/primitives/OtpField/OtpField.cjs.map +1 -0
  345. package/dist/cjs/components/primitives/OtpField/OtpField.styles.cjs +85 -0
  346. package/dist/cjs/components/primitives/OtpField/OtpField.styles.cjs.map +1 -0
  347. package/dist/cjs/components/primitives/PasswordField/PasswordField.cjs +49 -0
  348. package/dist/cjs/components/primitives/PasswordField/PasswordField.cjs.map +1 -0
  349. package/dist/cjs/components/primitives/PasswordField/PasswordField.styles.cjs +49 -0
  350. package/dist/cjs/components/primitives/PasswordField/PasswordField.styles.cjs.map +1 -0
  351. package/dist/cjs/components/primitives/Select/Select.cjs +50 -0
  352. package/dist/cjs/components/primitives/Select/Select.cjs.map +1 -0
  353. package/dist/cjs/components/primitives/Select/Select.styles.cjs +98 -0
  354. package/dist/cjs/components/primitives/Select/Select.styles.cjs.map +1 -0
  355. package/dist/cjs/components/primitives/Spinner/Spinner.cjs +41 -0
  356. package/dist/cjs/components/primitives/Spinner/Spinner.cjs.map +1 -0
  357. package/dist/cjs/components/primitives/Spinner/Spinner.styles.cjs +67 -0
  358. package/dist/cjs/components/primitives/Spinner/Spinner.styles.cjs.map +1 -0
  359. package/dist/cjs/components/primitives/TextField/TextField.cjs +66 -0
  360. package/dist/cjs/components/primitives/TextField/TextField.cjs.map +1 -0
  361. package/dist/cjs/components/primitives/TextField/TextField.styles.cjs +132 -0
  362. package/dist/cjs/components/primitives/TextField/TextField.styles.cjs.map +1 -0
  363. package/dist/cjs/components/primitives/Toggle/Toggle.cjs +64 -0
  364. package/dist/cjs/components/primitives/Toggle/Toggle.cjs.map +1 -0
  365. package/dist/cjs/components/primitives/Toggle/Toggle.styles.cjs +101 -0
  366. package/dist/cjs/components/primitives/Toggle/Toggle.styles.cjs.map +1 -0
  367. package/dist/cjs/components/primitives/Typography/Typography.cjs +64 -0
  368. package/dist/cjs/components/primitives/Typography/Typography.cjs.map +1 -0
  369. package/dist/cjs/components/primitives/Typography/Typography.styles.cjs +276 -0
  370. package/dist/cjs/components/primitives/Typography/Typography.styles.cjs.map +1 -0
  371. package/dist/cjs/contexts/Branding/BrandingContext.cjs +12 -0
  372. package/dist/cjs/contexts/Branding/BrandingContext.cjs.map +1 -0
  373. package/dist/cjs/contexts/Branding/BrandingProvider.cjs +96 -0
  374. package/dist/cjs/contexts/Branding/BrandingProvider.cjs.map +1 -0
  375. package/dist/cjs/contexts/Branding/useBrandingContext.cjs +40 -0
  376. package/dist/cjs/contexts/Branding/useBrandingContext.cjs.map +1 -0
  377. package/dist/cjs/contexts/ComponentRenderer/ComponentRendererContext.cjs +11 -0
  378. package/dist/cjs/contexts/ComponentRenderer/ComponentRendererContext.cjs.map +1 -0
  379. package/dist/cjs/contexts/ComponentRenderer/ComponentRendererProvider.cjs +15 -0
  380. package/dist/cjs/contexts/ComponentRenderer/ComponentRendererProvider.cjs.map +1 -0
  381. package/dist/cjs/contexts/Flow/FlowContext.cjs +17 -0
  382. package/dist/cjs/contexts/Flow/FlowContext.cjs.map +1 -0
  383. package/dist/cjs/contexts/Flow/FlowProvider.cjs +135 -0
  384. package/dist/cjs/contexts/Flow/FlowProvider.cjs.map +1 -0
  385. package/dist/cjs/contexts/Flow/useFlow.cjs +44 -0
  386. package/dist/cjs/contexts/Flow/useFlow.cjs.map +1 -0
  387. package/dist/cjs/contexts/FlowMeta/FlowMetaContext.cjs +12 -0
  388. package/dist/cjs/contexts/FlowMeta/FlowMetaContext.cjs.map +1 -0
  389. package/dist/cjs/contexts/FlowMeta/FlowMetaProvider.cjs +154 -0
  390. package/dist/cjs/contexts/FlowMeta/FlowMetaProvider.cjs.map +1 -0
  391. package/dist/cjs/contexts/FlowMeta/useFlowMeta.cjs +16 -0
  392. package/dist/cjs/contexts/FlowMeta/useFlowMeta.cjs.map +1 -0
  393. package/dist/cjs/contexts/I18n/ComponentPreferencesContext.cjs +16 -0
  394. package/dist/cjs/contexts/I18n/ComponentPreferencesContext.cjs.map +1 -0
  395. package/dist/cjs/contexts/I18n/I18nContext.cjs +12 -0
  396. package/dist/cjs/contexts/I18n/I18nContext.cjs.map +1 -0
  397. package/dist/cjs/contexts/I18n/I18nProvider.cjs +217 -0
  398. package/dist/cjs/contexts/I18n/I18nProvider.cjs.map +1 -0
  399. package/dist/cjs/contexts/I18n/useI18n.cjs +23 -0
  400. package/dist/cjs/contexts/I18n/useI18n.cjs.map +1 -0
  401. package/dist/cjs/contexts/Organization/OrganizationContext.cjs +27 -0
  402. package/dist/cjs/contexts/Organization/OrganizationContext.cjs.map +1 -0
  403. package/dist/cjs/contexts/Organization/OrganizationProvider.cjs +97 -0
  404. package/dist/cjs/contexts/Organization/OrganizationProvider.cjs.map +1 -0
  405. package/dist/cjs/contexts/Organization/useOrganization.cjs +100 -0
  406. package/dist/cjs/contexts/Organization/useOrganization.cjs.map +1 -0
  407. package/dist/cjs/contexts/Theme/ThemeContext.cjs +12 -0
  408. package/dist/cjs/contexts/Theme/ThemeContext.cjs.map +1 -0
  409. package/dist/cjs/contexts/Theme/ThemeProvider.cjs +69 -0
  410. package/dist/cjs/contexts/Theme/ThemeProvider.cjs.map +1 -0
  411. package/dist/cjs/contexts/Theme/useTheme.cjs +16 -0
  412. package/dist/cjs/contexts/Theme/useTheme.cjs.map +1 -0
  413. package/dist/cjs/contexts/Theme/v1/ThemeProvider.cjs +190 -0
  414. package/dist/cjs/contexts/Theme/v1/ThemeProvider.cjs.map +1 -0
  415. package/dist/cjs/contexts/Theme/v2/ThemeProvider.cjs +108 -0
  416. package/dist/cjs/contexts/Theme/v2/ThemeProvider.cjs.map +1 -0
  417. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs +52 -0
  418. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs.map +1 -0
  419. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs +407 -0
  420. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -0
  421. package/dist/cjs/contexts/ThunderID/useThunderID.cjs +32 -0
  422. package/dist/cjs/contexts/ThunderID/useThunderID.cjs.map +1 -0
  423. package/dist/cjs/contexts/User/UserContext.cjs +22 -0
  424. package/dist/cjs/contexts/User/UserContext.cjs.map +1 -0
  425. package/dist/cjs/contexts/User/UserProvider.cjs +60 -0
  426. package/dist/cjs/contexts/User/UserProvider.cjs.map +1 -0
  427. package/dist/cjs/contexts/User/useUser.cjs +90 -0
  428. package/dist/cjs/contexts/User/useUser.cjs.map +1 -0
  429. package/dist/cjs/hooks/useBranding.cjs +71 -0
  430. package/dist/cjs/hooks/useBranding.cjs.map +1 -0
  431. package/dist/cjs/hooks/useBrowserUrl.cjs +33 -0
  432. package/dist/cjs/hooks/useBrowserUrl.cjs.map +1 -0
  433. package/dist/cjs/hooks/useForm.cjs +217 -0
  434. package/dist/cjs/hooks/useForm.cjs.map +1 -0
  435. package/dist/cjs/hooks/useTranslation.cjs +79 -0
  436. package/dist/cjs/hooks/useTranslation.cjs.map +1 -0
  437. package/dist/cjs/hooks/v2/useOAuthCallback.cjs +86 -0
  438. package/dist/cjs/hooks/v2/useOAuthCallback.cjs.map +1 -0
  439. package/dist/cjs/index.cjs +375 -0
  440. package/dist/cjs/utils/applyThemeToDOM.cjs +16 -0
  441. package/dist/cjs/utils/applyThemeToDOM.cjs.map +1 -0
  442. package/dist/cjs/utils/getDisplayName.cjs +50 -0
  443. package/dist/cjs/utils/getDisplayName.cjs.map +1 -0
  444. package/dist/cjs/utils/getMappedUserProfileValue.cjs +61 -0
  445. package/dist/cjs/utils/getMappedUserProfileValue.cjs.map +1 -0
  446. package/dist/cjs/utils/normalizeThemeConfig.cjs +43 -0
  447. package/dist/cjs/utils/normalizeThemeConfig.cjs.map +1 -0
  448. package/dist/cjs/utils/oauth.cjs +28 -0
  449. package/dist/cjs/utils/oauth.cjs.map +1 -0
  450. package/dist/cjs/utils/v2/buildThemeConfigFromFlowMeta.cjs +48 -0
  451. package/dist/cjs/utils/v2/buildThemeConfigFromFlowMeta.cjs.map +1 -0
  452. package/dist/cjs/utils/v2/flowTransformer.cjs +153 -0
  453. package/dist/cjs/utils/v2/flowTransformer.cjs.map +1 -0
  454. package/dist/cjs/utils/v2/getAuthComponentHeadings.cjs +103 -0
  455. package/dist/cjs/utils/v2/getAuthComponentHeadings.cjs.map +1 -0
  456. package/dist/cjs/utils/v2/passkey.cjs +93 -0
  457. package/dist/cjs/utils/v2/passkey.cjs.map +1 -0
  458. package/dist/cjs/utils/v2/resolveTranslationsInArray.cjs +21 -0
  459. package/dist/cjs/utils/v2/resolveTranslationsInArray.cjs.map +1 -0
  460. package/dist/cjs/utils/v2/resolveTranslationsInObject.cjs +33 -0
  461. package/dist/cjs/utils/v2/resolveTranslationsInObject.cjs.map +1 -0
  462. package/dist/components/actions/SignInButton/BaseSignInButton.js +49 -0
  463. package/dist/components/actions/SignInButton/BaseSignInButton.js.map +1 -0
  464. package/dist/components/actions/SignInButton/SignInButton.d.ts +6 -0
  465. package/dist/components/actions/SignInButton/SignInButton.d.ts.map +1 -1
  466. package/dist/components/actions/SignInButton/SignInButton.js +84 -0
  467. package/dist/components/actions/SignInButton/SignInButton.js.map +1 -0
  468. package/dist/components/actions/SignOutButton/BaseSignOutButton.js +49 -0
  469. package/dist/components/actions/SignOutButton/BaseSignOutButton.js.map +1 -0
  470. package/dist/components/actions/SignOutButton/SignOutButton.js +80 -0
  471. package/dist/components/actions/SignOutButton/SignOutButton.js.map +1 -0
  472. package/dist/components/actions/SignUpButton/BaseSignUpButton.js +51 -0
  473. package/dist/components/actions/SignUpButton/BaseSignUpButton.js.map +1 -0
  474. package/dist/components/actions/SignUpButton/SignUpButton.js +82 -0
  475. package/dist/components/actions/SignUpButton/SignUpButton.js.map +1 -0
  476. package/dist/components/adapters/CheckboxInput.js +28 -0
  477. package/dist/components/adapters/CheckboxInput.js.map +1 -0
  478. package/dist/components/adapters/Consent.js +67 -0
  479. package/dist/components/adapters/Consent.js.map +1 -0
  480. package/dist/components/adapters/ConsentCheckboxList.js +76 -0
  481. package/dist/components/adapters/ConsentCheckboxList.js.map +1 -0
  482. package/dist/components/adapters/ConsentCheckboxList.styles.js +43 -0
  483. package/dist/components/adapters/ConsentCheckboxList.styles.js.map +1 -0
  484. package/dist/components/adapters/DateInput.js +28 -0
  485. package/dist/components/adapters/DateInput.js.map +1 -0
  486. package/dist/components/adapters/DividerComponent.js +22 -0
  487. package/dist/components/adapters/DividerComponent.js.map +1 -0
  488. package/dist/components/adapters/EmailInput.js +28 -0
  489. package/dist/components/adapters/EmailInput.js.map +1 -0
  490. package/dist/components/adapters/FacebookButton.js +39 -0
  491. package/dist/components/adapters/FacebookButton.js.map +1 -0
  492. package/dist/components/adapters/FlowTimer.js +49 -0
  493. package/dist/components/adapters/FlowTimer.js.map +1 -0
  494. package/dist/components/adapters/FormContainer.js +34 -0
  495. package/dist/components/adapters/FormContainer.js.map +1 -0
  496. package/dist/components/adapters/GitHubButton.js +39 -0
  497. package/dist/components/adapters/GitHubButton.js.map +1 -0
  498. package/dist/components/adapters/GoogleButton.js +57 -0
  499. package/dist/components/adapters/GoogleButton.js.map +1 -0
  500. package/dist/components/adapters/ImageComponent.js +74 -0
  501. package/dist/components/adapters/ImageComponent.js.map +1 -0
  502. package/dist/components/adapters/LinkedInButton.js +36 -0
  503. package/dist/components/adapters/LinkedInButton.js.map +1 -0
  504. package/dist/components/adapters/MicrosoftButton.js +54 -0
  505. package/dist/components/adapters/MicrosoftButton.js.map +1 -0
  506. package/dist/components/adapters/NumberInput.js +28 -0
  507. package/dist/components/adapters/NumberInput.js.map +1 -0
  508. package/dist/components/adapters/PasswordInput.js +50 -0
  509. package/dist/components/adapters/PasswordInput.js.map +1 -0
  510. package/dist/components/adapters/SelectInput.js +34 -0
  511. package/dist/components/adapters/SelectInput.js.map +1 -0
  512. package/dist/components/adapters/SignInWithEthereumButton.js +36 -0
  513. package/dist/components/adapters/SignInWithEthereumButton.js.map +1 -0
  514. package/dist/components/adapters/SmsOtpButton.js +36 -0
  515. package/dist/components/adapters/SmsOtpButton.js.map +1 -0
  516. package/dist/components/adapters/SubmitButton.js +59 -0
  517. package/dist/components/adapters/SubmitButton.js.map +1 -0
  518. package/dist/components/adapters/TelephoneInput.js +30 -0
  519. package/dist/components/adapters/TelephoneInput.js.map +1 -0
  520. package/dist/components/adapters/TextInput.js +28 -0
  521. package/dist/components/adapters/TextInput.js.map +1 -0
  522. package/dist/components/adapters/Typography.js +58 -0
  523. package/dist/components/adapters/Typography.js.map +1 -0
  524. package/dist/components/auth/Callback/Callback.d.ts +6 -44
  525. package/dist/components/auth/Callback/Callback.d.ts.map +1 -1
  526. package/dist/components/auth/Callback/Callback.js +23 -0
  527. package/dist/components/auth/Callback/Callback.js.map +1 -0
  528. package/dist/components/auth/Callback/OAuthCallback.d.ts +52 -0
  529. package/dist/components/auth/Callback/OAuthCallback.d.ts.map +1 -0
  530. package/dist/components/auth/Callback/OAuthCallback.js +101 -0
  531. package/dist/components/auth/Callback/OAuthCallback.js.map +1 -0
  532. package/dist/components/auth/Callback/TokenCallback.d.ts +44 -0
  533. package/dist/components/auth/Callback/TokenCallback.d.ts.map +1 -0
  534. package/dist/components/auth/Callback/TokenCallback.js +131 -0
  535. package/dist/components/auth/Callback/TokenCallback.js.map +1 -0
  536. package/dist/components/control/Loading.js +33 -0
  537. package/dist/components/control/Loading.js.map +1 -0
  538. package/dist/components/control/OrganizationContext/OrganizationContext.js +32 -0
  539. package/dist/components/control/OrganizationContext/OrganizationContext.js.map +1 -0
  540. package/dist/components/control/OrganizationContext/OrganizationContextController.js +55 -0
  541. package/dist/components/control/OrganizationContext/OrganizationContextController.js.map +1 -0
  542. package/dist/components/control/SignedIn.js +33 -0
  543. package/dist/components/control/SignedIn.js.map +1 -0
  544. package/dist/components/control/SignedOut.js +33 -0
  545. package/dist/components/control/SignedOut.js.map +1 -0
  546. package/dist/components/factories/FieldFactory.js +137 -0
  547. package/dist/components/factories/FieldFactory.js.map +1 -0
  548. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.js +178 -0
  549. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.js.map +1 -0
  550. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.js +147 -0
  551. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.js.map +1 -0
  552. package/dist/components/presentation/CreateOrganization/CreateOrganization.d.ts +1 -1
  553. package/dist/components/presentation/CreateOrganization/CreateOrganization.d.ts.map +1 -1
  554. package/dist/components/presentation/CreateOrganization/CreateOrganization.js +87 -0
  555. package/dist/components/presentation/CreateOrganization/CreateOrganization.js.map +1 -0
  556. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js +113 -0
  557. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js.map +1 -0
  558. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.js +115 -0
  559. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.js.map +1 -0
  560. package/dist/components/presentation/LanguageSwitcher/LanguageSwitcher.js +72 -0
  561. package/dist/components/presentation/LanguageSwitcher/LanguageSwitcher.js.map +1 -0
  562. package/dist/components/presentation/Organization/BaseOrganization.js +39 -0
  563. package/dist/components/presentation/Organization/BaseOrganization.js.map +1 -0
  564. package/dist/components/presentation/Organization/Organization.js +47 -0
  565. package/dist/components/presentation/Organization/Organization.js.map +1 -0
  566. package/dist/components/presentation/OrganizationList/BaseOrganizationList.js +252 -0
  567. package/dist/components/presentation/OrganizationList/BaseOrganizationList.js.map +1 -0
  568. package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.js +233 -0
  569. package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.js.map +1 -0
  570. package/dist/components/presentation/OrganizationList/OrganizationList.js +82 -0
  571. package/dist/components/presentation/OrganizationList/OrganizationList.js.map +1 -0
  572. package/dist/components/presentation/OrganizationList/OrganizationList.styles.js +72 -0
  573. package/dist/components/presentation/OrganizationList/OrganizationList.styles.js.map +1 -0
  574. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.d.ts +1 -1
  575. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.d.ts.map +1 -1
  576. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.js +323 -0
  577. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.js.map +1 -0
  578. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.js +163 -0
  579. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.js.map +1 -0
  580. package/dist/components/presentation/OrganizationProfile/OrganizationProfile.js +122 -0
  581. package/dist/components/presentation/OrganizationProfile/OrganizationProfile.js.map +1 -0
  582. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.d.ts +1 -1
  583. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.d.ts.map +1 -1
  584. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.js +282 -0
  585. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.js.map +1 -0
  586. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.js +234 -0
  587. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.js.map +1 -0
  588. package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts +1 -1
  589. package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts.map +1 -1
  590. package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.js +124 -0
  591. package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.js.map +1 -0
  592. package/dist/components/presentation/User/BaseUser.js +39 -0
  593. package/dist/components/presentation/User/BaseUser.js.map +1 -0
  594. package/dist/components/presentation/User/User.js +43 -0
  595. package/dist/components/presentation/User/User.js.map +1 -0
  596. package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts +1 -1
  597. package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts.map +1 -1
  598. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js +184 -0
  599. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js.map +1 -0
  600. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.js +198 -0
  601. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.js.map +1 -0
  602. package/dist/components/presentation/UserDropdown/UserDropdown.js +108 -0
  603. package/dist/components/presentation/UserDropdown/UserDropdown.js.map +1 -0
  604. package/dist/components/presentation/UserProfile/BaseUserProfile.d.ts +1 -1
  605. package/dist/components/presentation/UserProfile/BaseUserProfile.d.ts.map +1 -1
  606. package/dist/components/presentation/UserProfile/BaseUserProfile.js +455 -0
  607. package/dist/components/presentation/UserProfile/BaseUserProfile.js.map +1 -0
  608. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.js +213 -0
  609. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.js.map +1 -0
  610. package/dist/components/presentation/UserProfile/UserProfile.js +77 -0
  611. package/dist/components/presentation/UserProfile/UserProfile.js.map +1 -0
  612. package/dist/components/presentation/auth/AcceptInvite/v2/AcceptInvite.js +106 -0
  613. package/dist/components/presentation/auth/AcceptInvite/v2/AcceptInvite.js.map +1 -0
  614. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.d.ts +7 -3
  615. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.d.ts.map +1 -1
  616. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.js +500 -0
  617. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.js.map +1 -0
  618. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.js +49 -0
  619. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.js.map +1 -0
  620. package/dist/components/presentation/auth/AuthOptionFactory.d.ts.map +1 -1
  621. package/dist/components/presentation/auth/AuthOptionFactory.js +445 -0
  622. package/dist/components/presentation/auth/AuthOptionFactory.js.map +1 -0
  623. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.d.ts +3 -3
  624. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.d.ts.map +1 -1
  625. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.js +414 -0
  626. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.js.map +1 -0
  627. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.js +49 -0
  628. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.js.map +1 -0
  629. package/dist/components/presentation/auth/InviteUser/v2/InviteUser.js +114 -0
  630. package/dist/components/presentation/auth/InviteUser/v2/InviteUser.js.map +1 -0
  631. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.js +179 -0
  632. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.js.map +1 -0
  633. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.js +125 -0
  634. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.js.map +1 -0
  635. package/dist/components/presentation/auth/Recovery/BaseRecovery.js +17 -0
  636. package/dist/components/presentation/auth/Recovery/BaseRecovery.js.map +1 -0
  637. package/dist/components/presentation/auth/Recovery/Recovery.js +46 -0
  638. package/dist/components/presentation/auth/Recovery/Recovery.js.map +1 -0
  639. package/dist/components/presentation/auth/Recovery/v1/BaseRecovery.js +288 -0
  640. package/dist/components/presentation/auth/Recovery/v1/BaseRecovery.js.map +1 -0
  641. package/dist/components/presentation/auth/Recovery/v1/Recovery.js +40 -0
  642. package/dist/components/presentation/auth/Recovery/v1/Recovery.js.map +1 -0
  643. package/dist/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.js +160 -0
  644. package/dist/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.js.map +1 -0
  645. package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.d.ts +5 -5
  646. package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.d.ts.map +1 -1
  647. package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.js +373 -0
  648. package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.js.map +1 -0
  649. package/dist/components/presentation/auth/Recovery/v2/Recovery.d.ts.map +1 -1
  650. package/dist/components/presentation/auth/Recovery/v2/Recovery.js +74 -0
  651. package/dist/components/presentation/auth/Recovery/v2/Recovery.js.map +1 -0
  652. package/dist/components/presentation/auth/SignIn/BaseSignIn.js +17 -0
  653. package/dist/components/presentation/auth/SignIn/BaseSignIn.js.map +1 -0
  654. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.js +151 -0
  655. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.js.map +1 -0
  656. package/dist/components/presentation/auth/SignIn/SignIn.js +83 -0
  657. package/dist/components/presentation/auth/SignIn/SignIn.js.map +1 -0
  658. package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.d.ts.map +1 -1
  659. package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.js +729 -0
  660. package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.js.map +1 -0
  661. package/dist/components/presentation/auth/SignIn/v1/options/EmailOtp.js +64 -0
  662. package/dist/components/presentation/auth/SignIn/v1/options/EmailOtp.js.map +1 -0
  663. package/dist/components/presentation/auth/SignIn/v1/options/IdentifierFirst.js +55 -0
  664. package/dist/components/presentation/auth/SignIn/v1/options/IdentifierFirst.js.map +1 -0
  665. package/dist/components/presentation/auth/SignIn/v1/options/MultiOptionButton.js +136 -0
  666. package/dist/components/presentation/auth/SignIn/v1/options/MultiOptionButton.js.map +1 -0
  667. package/dist/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.js +143 -0
  668. package/dist/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.js.map +1 -0
  669. package/dist/components/presentation/auth/SignIn/v1/options/SmsOtp.js +64 -0
  670. package/dist/components/presentation/auth/SignIn/v1/options/SmsOtp.js.map +1 -0
  671. package/dist/components/presentation/auth/SignIn/v1/options/SocialButton.js +36 -0
  672. package/dist/components/presentation/auth/SignIn/v1/options/SocialButton.js.map +1 -0
  673. package/dist/components/presentation/auth/SignIn/v1/options/Totp.js +64 -0
  674. package/dist/components/presentation/auth/SignIn/v1/options/Totp.js.map +1 -0
  675. package/dist/components/presentation/auth/SignIn/v1/options/UsernamePassword.js +56 -0
  676. package/dist/components/presentation/auth/SignIn/v1/options/UsernamePassword.js.map +1 -0
  677. package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.d.ts +1 -1
  678. package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.d.ts.map +1 -1
  679. package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.js +325 -0
  680. package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.js.map +1 -0
  681. package/dist/components/presentation/auth/SignIn/v2/SignIn.d.ts +1 -1
  682. package/dist/components/presentation/auth/SignIn/v2/SignIn.d.ts.map +1 -1
  683. package/dist/components/presentation/auth/SignIn/v2/SignIn.js +556 -0
  684. package/dist/components/presentation/auth/SignIn/v2/SignIn.js.map +1 -0
  685. package/dist/components/presentation/auth/SignUp/BaseSignUp.js +17 -0
  686. package/dist/components/presentation/auth/SignUp/BaseSignUp.js.map +1 -0
  687. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.js +147 -0
  688. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.js.map +1 -0
  689. package/dist/components/presentation/auth/SignUp/SignUp.js +87 -0
  690. package/dist/components/presentation/auth/SignUp/SignUp.js.map +1 -0
  691. package/dist/components/presentation/auth/SignUp/v1/BaseSignUp.js +446 -0
  692. package/dist/components/presentation/auth/SignUp/v1/BaseSignUp.js.map +1 -0
  693. package/dist/components/presentation/auth/SignUp/v1/SignUp.js +51 -0
  694. package/dist/components/presentation/auth/SignUp/v1/SignUp.js.map +1 -0
  695. package/dist/components/presentation/auth/SignUp/v1/SignUpOptionFactory.js +160 -0
  696. package/dist/components/presentation/auth/SignUp/v1/SignUpOptionFactory.js.map +1 -0
  697. package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.d.ts +6 -6
  698. package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.d.ts.map +1 -1
  699. package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.js +651 -0
  700. package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.js.map +1 -0
  701. package/dist/components/presentation/auth/SignUp/v2/SignUp.d.ts +1 -1
  702. package/dist/components/presentation/auth/SignUp/v2/SignUp.d.ts.map +1 -1
  703. package/dist/components/presentation/auth/SignUp/v2/SignUp.js +77 -0
  704. package/dist/components/presentation/auth/SignUp/v2/SignUp.js.map +1 -0
  705. package/dist/components/primitives/Alert/Alert.js +102 -0
  706. package/dist/components/primitives/Alert/Alert.js.map +1 -0
  707. package/dist/components/primitives/Alert/Alert.styles.js +86 -0
  708. package/dist/components/primitives/Alert/Alert.styles.js.map +1 -0
  709. package/dist/components/primitives/Avatar/Avatar.js +60 -0
  710. package/dist/components/primitives/Avatar/Avatar.js.map +1 -0
  711. package/dist/components/primitives/Avatar/Avatar.styles.js +84 -0
  712. package/dist/components/primitives/Avatar/Avatar.styles.js.map +1 -0
  713. package/dist/components/primitives/Button/Button.js +92 -0
  714. package/dist/components/primitives/Button/Button.js.map +1 -0
  715. package/dist/components/primitives/Button/Button.styles.js +344 -0
  716. package/dist/components/primitives/Button/Button.styles.js.map +1 -0
  717. package/dist/components/primitives/Card/Card.js +173 -0
  718. package/dist/components/primitives/Card/Card.js.map +1 -0
  719. package/dist/components/primitives/Card/Card.styles.js +97 -0
  720. package/dist/components/primitives/Card/Card.styles.js.map +1 -0
  721. package/dist/components/primitives/Checkbox/Checkbox.js +42 -0
  722. package/dist/components/primitives/Checkbox/Checkbox.js.map +1 -0
  723. package/dist/components/primitives/Checkbox/Checkbox.styles.js +76 -0
  724. package/dist/components/primitives/Checkbox/Checkbox.styles.js.map +1 -0
  725. package/dist/components/primitives/CopyableText/CopyableText.js +60 -0
  726. package/dist/components/primitives/CopyableText/CopyableText.js.map +1 -0
  727. package/dist/components/primitives/CopyableText/CopyableText.styles.js +45 -0
  728. package/dist/components/primitives/CopyableText/CopyableText.styles.js.map +1 -0
  729. package/dist/components/primitives/DatePicker/DatePicker.js +43 -0
  730. package/dist/components/primitives/DatePicker/DatePicker.js.map +1 -0
  731. package/dist/components/primitives/DatePicker/DatePicker.styles.js +84 -0
  732. package/dist/components/primitives/DatePicker/DatePicker.styles.js.map +1 -0
  733. package/dist/components/primitives/Dialog/Dialog.js +194 -0
  734. package/dist/components/primitives/Dialog/Dialog.js.map +1 -0
  735. package/dist/components/primitives/Dialog/Dialog.styles.js +72 -0
  736. package/dist/components/primitives/Dialog/Dialog.styles.js.map +1 -0
  737. package/dist/components/primitives/Divider/Divider.js +67 -0
  738. package/dist/components/primitives/Divider/Divider.js.map +1 -0
  739. package/dist/components/primitives/Divider/Divider.styles.js +69 -0
  740. package/dist/components/primitives/Divider/Divider.styles.js.map +1 -0
  741. package/dist/components/primitives/FormControl/FormControl.js +29 -0
  742. package/dist/components/primitives/FormControl/FormControl.js.map +1 -0
  743. package/dist/components/primitives/FormControl/FormControl.styles.js +40 -0
  744. package/dist/components/primitives/FormControl/FormControl.styles.js.map +1 -0
  745. package/dist/components/primitives/Icons/ArrowLeftRight.js +29 -0
  746. package/dist/components/primitives/Icons/ArrowLeftRight.js.map +1 -0
  747. package/dist/components/primitives/Icons/ArrowRightLeft.js +29 -0
  748. package/dist/components/primitives/Icons/ArrowRightLeft.js.map +1 -0
  749. package/dist/components/primitives/Icons/Building.js +73 -0
  750. package/dist/components/primitives/Icons/Building.js.map +1 -0
  751. package/dist/components/primitives/Icons/BuildingAlt.js +35 -0
  752. package/dist/components/primitives/Icons/BuildingAlt.js.map +1 -0
  753. package/dist/components/primitives/Icons/Check.js +29 -0
  754. package/dist/components/primitives/Icons/Check.js.map +1 -0
  755. package/dist/components/primitives/Icons/ChevronDown.js +29 -0
  756. package/dist/components/primitives/Icons/ChevronDown.js.map +1 -0
  757. package/dist/components/primitives/Icons/CircleAlert.js +42 -0
  758. package/dist/components/primitives/Icons/CircleAlert.js.map +1 -0
  759. package/dist/components/primitives/Icons/CircleCheck.js +28 -0
  760. package/dist/components/primitives/Icons/CircleCheck.js.map +1 -0
  761. package/dist/components/primitives/Icons/Eye.js +28 -0
  762. package/dist/components/primitives/Icons/Eye.js.map +1 -0
  763. package/dist/components/primitives/Icons/EyeOff.js +29 -0
  764. package/dist/components/primitives/Icons/EyeOff.js.map +1 -0
  765. package/dist/components/primitives/Icons/Info.js +32 -0
  766. package/dist/components/primitives/Icons/Info.js.map +1 -0
  767. package/dist/components/primitives/Icons/LogOut.js +28 -0
  768. package/dist/components/primitives/Icons/LogOut.js.map +1 -0
  769. package/dist/components/primitives/Icons/Plus.js +24 -0
  770. package/dist/components/primitives/Icons/Plus.js.map +1 -0
  771. package/dist/components/primitives/Icons/TriangleAlert.js +28 -0
  772. package/dist/components/primitives/Icons/TriangleAlert.js.map +1 -0
  773. package/dist/components/primitives/Icons/User.js +28 -0
  774. package/dist/components/primitives/Icons/User.js.map +1 -0
  775. package/dist/components/primitives/Icons/X.js +24 -0
  776. package/dist/components/primitives/Icons/X.js.map +1 -0
  777. package/dist/components/primitives/Icons/flowIconRegistry.js +17 -0
  778. package/dist/components/primitives/Icons/flowIconRegistry.js.map +1 -0
  779. package/dist/components/primitives/InputLabel/InputLabel.js +28 -0
  780. package/dist/components/primitives/InputLabel/InputLabel.js.map +1 -0
  781. package/dist/components/primitives/InputLabel/InputLabel.styles.js +55 -0
  782. package/dist/components/primitives/InputLabel/InputLabel.styles.js.map +1 -0
  783. package/dist/components/primitives/KeyValueInput/KeyValueInput.js +210 -0
  784. package/dist/components/primitives/KeyValueInput/KeyValueInput.js.map +1 -0
  785. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.js +172 -0
  786. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.js.map +1 -0
  787. package/dist/components/primitives/Logo/Logo.js +33 -0
  788. package/dist/components/primitives/Logo/Logo.js.map +1 -0
  789. package/dist/components/primitives/Logo/Logo.styles.js +50 -0
  790. package/dist/components/primitives/Logo/Logo.styles.js.map +1 -0
  791. package/dist/components/primitives/MultiInput/MultiInput.js +137 -0
  792. package/dist/components/primitives/MultiInput/MultiInput.js.map +1 -0
  793. package/dist/components/primitives/MultiInput/MultiInput.styles.js +112 -0
  794. package/dist/components/primitives/MultiInput/MultiInput.styles.js.map +1 -0
  795. package/dist/components/primitives/OtpField/OtpField.js +124 -0
  796. package/dist/components/primitives/OtpField/OtpField.js.map +1 -0
  797. package/dist/components/primitives/OtpField/OtpField.styles.js +82 -0
  798. package/dist/components/primitives/OtpField/OtpField.styles.js.map +1 -0
  799. package/dist/components/primitives/PasswordField/PasswordField.js +44 -0
  800. package/dist/components/primitives/PasswordField/PasswordField.js.map +1 -0
  801. package/dist/components/primitives/PasswordField/PasswordField.styles.js +46 -0
  802. package/dist/components/primitives/PasswordField/PasswordField.styles.js.map +1 -0
  803. package/dist/components/primitives/Select/Select.js +46 -0
  804. package/dist/components/primitives/Select/Select.js.map +1 -0
  805. package/dist/components/primitives/Select/Select.styles.js +95 -0
  806. package/dist/components/primitives/Select/Select.styles.js.map +1 -0
  807. package/dist/components/primitives/Spinner/Spinner.js +37 -0
  808. package/dist/components/primitives/Spinner/Spinner.js.map +1 -0
  809. package/dist/components/primitives/Spinner/Spinner.styles.js +64 -0
  810. package/dist/components/primitives/Spinner/Spinner.styles.js.map +1 -0
  811. package/dist/components/primitives/TextField/TextField.d.ts.map +1 -1
  812. package/dist/components/primitives/TextField/TextField.js +62 -0
  813. package/dist/components/primitives/TextField/TextField.js.map +1 -0
  814. package/dist/components/primitives/TextField/TextField.styles.js +129 -0
  815. package/dist/components/primitives/TextField/TextField.styles.js.map +1 -0
  816. package/dist/components/primitives/Toggle/Toggle.js +60 -0
  817. package/dist/components/primitives/Toggle/Toggle.js.map +1 -0
  818. package/dist/components/primitives/Toggle/Toggle.styles.js +98 -0
  819. package/dist/components/primitives/Toggle/Toggle.styles.js.map +1 -0
  820. package/dist/components/primitives/Typography/Typography.js +60 -0
  821. package/dist/components/primitives/Typography/Typography.js.map +1 -0
  822. package/dist/components/primitives/Typography/Typography.styles.js +273 -0
  823. package/dist/components/primitives/Typography/Typography.styles.js.map +1 -0
  824. package/dist/contexts/Branding/BrandingContext.js +10 -0
  825. package/dist/contexts/Branding/BrandingContext.js.map +1 -0
  826. package/dist/contexts/Branding/BrandingProvider.js +92 -0
  827. package/dist/contexts/Branding/BrandingProvider.js.map +1 -0
  828. package/dist/contexts/Branding/useBrandingContext.js +38 -0
  829. package/dist/contexts/Branding/useBrandingContext.js.map +1 -0
  830. package/dist/contexts/ComponentRenderer/ComponentRendererContext.js +9 -0
  831. package/dist/contexts/ComponentRenderer/ComponentRendererContext.js.map +1 -0
  832. package/dist/contexts/ComponentRenderer/ComponentRendererProvider.js +13 -0
  833. package/dist/contexts/ComponentRenderer/ComponentRendererProvider.js.map +1 -0
  834. package/dist/contexts/Flow/FlowContext.js +15 -0
  835. package/dist/contexts/Flow/FlowContext.js.map +1 -0
  836. package/dist/contexts/Flow/FlowProvider.js +132 -0
  837. package/dist/contexts/Flow/FlowProvider.js.map +1 -0
  838. package/dist/contexts/Flow/useFlow.js +42 -0
  839. package/dist/contexts/Flow/useFlow.js.map +1 -0
  840. package/dist/contexts/FlowMeta/FlowMetaContext.js +10 -0
  841. package/dist/contexts/FlowMeta/FlowMetaContext.js.map +1 -0
  842. package/dist/contexts/FlowMeta/FlowMetaProvider.d.ts.map +1 -1
  843. package/dist/contexts/FlowMeta/FlowMetaProvider.js +150 -0
  844. package/dist/contexts/FlowMeta/FlowMetaProvider.js.map +1 -0
  845. package/dist/contexts/FlowMeta/useFlowMeta.js +14 -0
  846. package/dist/contexts/FlowMeta/useFlowMeta.js.map +1 -0
  847. package/dist/contexts/I18n/ComponentPreferencesContext.js +14 -0
  848. package/dist/contexts/I18n/ComponentPreferencesContext.js.map +1 -0
  849. package/dist/contexts/I18n/I18nContext.js +10 -0
  850. package/dist/contexts/I18n/I18nContext.js.map +1 -0
  851. package/dist/contexts/I18n/I18nProvider.js +213 -0
  852. package/dist/contexts/I18n/I18nProvider.js.map +1 -0
  853. package/dist/contexts/I18n/useI18n.js +21 -0
  854. package/dist/contexts/I18n/useI18n.js.map +1 -0
  855. package/dist/contexts/Organization/OrganizationContext.js +25 -0
  856. package/dist/contexts/Organization/OrganizationContext.js.map +1 -0
  857. package/dist/contexts/Organization/OrganizationProvider.d.ts.map +1 -1
  858. package/dist/contexts/Organization/OrganizationProvider.js +93 -0
  859. package/dist/contexts/Organization/OrganizationProvider.js.map +1 -0
  860. package/dist/contexts/Organization/useOrganization.js +98 -0
  861. package/dist/contexts/Organization/useOrganization.js.map +1 -0
  862. package/dist/contexts/Theme/ThemeContext.js +10 -0
  863. package/dist/contexts/Theme/ThemeContext.js.map +1 -0
  864. package/dist/contexts/Theme/ThemeProvider.js +66 -0
  865. package/dist/contexts/Theme/ThemeProvider.js.map +1 -0
  866. package/dist/contexts/Theme/useTheme.js +14 -0
  867. package/dist/contexts/Theme/useTheme.js.map +1 -0
  868. package/dist/contexts/Theme/v1/ThemeProvider.js +186 -0
  869. package/dist/contexts/Theme/v1/ThemeProvider.js.map +1 -0
  870. package/dist/contexts/Theme/v2/ThemeProvider.js +104 -0
  871. package/dist/contexts/Theme/v2/ThemeProvider.js.map +1 -0
  872. package/dist/contexts/ThunderID/ThunderIDContext.d.ts +12 -2
  873. package/dist/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -1
  874. package/dist/contexts/ThunderID/ThunderIDContext.js +50 -0
  875. package/dist/contexts/ThunderID/ThunderIDContext.js.map +1 -0
  876. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  877. package/dist/contexts/ThunderID/ThunderIDProvider.js +403 -0
  878. package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -0
  879. package/dist/contexts/ThunderID/useThunderID.js +29 -0
  880. package/dist/contexts/ThunderID/useThunderID.js.map +1 -0
  881. package/dist/contexts/User/UserContext.js +20 -0
  882. package/dist/contexts/User/UserContext.js.map +1 -0
  883. package/dist/contexts/User/UserProvider.js +57 -0
  884. package/dist/contexts/User/UserProvider.js.map +1 -0
  885. package/dist/contexts/User/useUser.js +88 -0
  886. package/dist/contexts/User/useUser.js.map +1 -0
  887. package/dist/hooks/useBranding.d.ts +1 -1
  888. package/dist/hooks/useBranding.js +69 -0
  889. package/dist/hooks/useBranding.js.map +1 -0
  890. package/dist/hooks/useBrowserUrl.js +31 -0
  891. package/dist/hooks/useBrowserUrl.js.map +1 -0
  892. package/dist/hooks/useForm.js +214 -0
  893. package/dist/hooks/useForm.js.map +1 -0
  894. package/dist/hooks/useTranslation.js +76 -0
  895. package/dist/hooks/useTranslation.js.map +1 -0
  896. package/dist/hooks/v2/useOAuthCallback.js +84 -0
  897. package/dist/hooks/v2/useOAuthCallback.js.map +1 -0
  898. package/dist/index.d.ts +4 -1
  899. package/dist/index.d.ts.map +1 -1
  900. package/dist/index.js +123 -19542
  901. package/dist/utils/applyThemeToDOM.js +15 -0
  902. package/dist/utils/applyThemeToDOM.js.map +1 -0
  903. package/dist/utils/getDisplayName.d.ts.map +1 -1
  904. package/dist/utils/getDisplayName.js +50 -0
  905. package/dist/utils/getDisplayName.js.map +1 -0
  906. package/dist/utils/getMappedUserProfileValue.js +59 -0
  907. package/dist/utils/getMappedUserProfileValue.js.map +1 -0
  908. package/dist/utils/normalizeThemeConfig.js +42 -0
  909. package/dist/utils/normalizeThemeConfig.js.map +1 -0
  910. package/dist/utils/oauth.js +26 -0
  911. package/dist/utils/oauth.js.map +1 -0
  912. package/dist/utils/v2/buildThemeConfigFromFlowMeta.js +47 -0
  913. package/dist/utils/v2/buildThemeConfigFromFlowMeta.js.map +1 -0
  914. package/dist/utils/v2/flowTransformer.d.ts +17 -8
  915. package/dist/utils/v2/flowTransformer.d.ts.map +1 -1
  916. package/dist/utils/v2/flowTransformer.js +152 -0
  917. package/dist/utils/v2/flowTransformer.js.map +1 -0
  918. package/dist/utils/v2/getAuthComponentHeadings.d.ts.map +1 -1
  919. package/dist/utils/v2/getAuthComponentHeadings.js +102 -0
  920. package/dist/utils/v2/getAuthComponentHeadings.js.map +1 -0
  921. package/dist/utils/v2/passkey.js +90 -0
  922. package/dist/utils/v2/passkey.js.map +1 -0
  923. package/dist/utils/v2/resolveTranslationsInArray.js +21 -0
  924. package/dist/utils/v2/resolveTranslationsInArray.js.map +1 -0
  925. package/dist/utils/v2/resolveTranslationsInObject.js +31 -0
  926. package/dist/utils/v2/resolveTranslationsInObject.js.map +1 -0
  927. package/package.json +8 -7
  928. package/dist/cjs/index.js +0 -19819
  929. package/dist/cjs/index.js.map +0 -1
  930. package/dist/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseSignIn.js","names":["logger: ReturnType<typeof createPackageComponentLogger>","HIDDEN_AUTHENTICATORS: string[]","BaseSignInContent: FC<BaseSignInProps>","useTheme","useTranslation","useFlow","styles: ReturnType<typeof useStyles>","useStyles","isLoading: boolean","reRenderCheckRef: RefObject<boolean>","setupFormFields: any","initialValues: Record<string, string>","responseAuthenticator: any","redirectUrl: string","popup: Window | null","messageHandler: any","popupMonitor: any","expectedOrigin: string","popupUrl: string","url: URL","code: string | null","state: string | null","submitResponse: any","response: any","nextStepResponse: any","nextAuthenticator: any","challengeData: any","tokenResponse: any","errorMessage: string","formResponse: any","hasMultipleOptions: any","getAvailableAuthenticators: any","containerClasses: string","inputClasses: string","buttonClasses: string","errorClasses: string","messageClasses: string","authenticator: any","CardPrimitive","Spinner","Typography","availableAuthenticators: EmbeddedSignInFlowAuthenticator[]","userPromptAuthenticators: any[]","optionAuthenticators: any[]","AlertPrimitive","messageVariant: AlertVariant","lowerType: string","Divider","formData: Record<string, string>","BaseSignIn: FC<BaseSignInProps>","Logo","FlowProvider"],"sources":["../../../../../../src/components/presentation/auth/SignIn/v1/BaseSignIn.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {cx} from '@emotion/css';\nimport {\n EmbeddedSignInFlowAuthenticator,\n EmbeddedSignInFlowInitiateResponse,\n EmbeddedSignInFlowHandleResponse,\n EmbeddedSignInFlowStepType,\n EmbeddedSignInFlowStatus,\n EmbeddedSignInFlowAuthenticatorPromptType,\n ApplicationNativeAuthenticationConstants,\n ThunderIDAPIError,\n withVendorCSSClassPrefix,\n EmbeddedSignInFlowHandleRequestPayload,\n EmbeddedFlowExecuteRequestConfig,\n handleWebAuthnAuthentication,\n createPackageComponentLogger,\n} from '@thunderid/browser';\nimport {FC, FormEvent, RefObject, useEffect, useState, useCallback, useRef, ReactElement} from 'react';\nimport {createSignInOptionFromAuthenticator} from './options/SignInOptionFactory';\nimport FlowProvider from '../../../../../contexts/Flow/FlowProvider';\nimport useFlow from '../../../../../contexts/Flow/useFlow';\nimport useTheme from '../../../../../contexts/Theme/useTheme';\nimport {useForm, FormField} from '../../../../../hooks/useForm';\nimport useTranslation from '../../../../../hooks/useTranslation';\nimport AlertPrimitive, {AlertVariant} from '../../../../primitives/Alert/Alert';\nimport CardPrimitive, {CardProps} from '../../../../primitives/Card/Card';\nimport Divider from '../../../../primitives/Divider/Divider';\nimport Logo from '../../../../primitives/Logo/Logo';\nimport Spinner from '../../../../primitives/Spinner/Spinner';\nimport Typography from '../../../../primitives/Typography/Typography';\nimport useStyles from '../BaseSignIn.styles';\n\nconst logger: ReturnType<typeof createPackageComponentLogger> = createPackageComponentLogger(\n '@thunderid/react',\n 'BaseSignIn',\n);\n\n/**\n * Check if the authenticator is a passkey/FIDO authenticator\n */\nconst isPasskeyAuthenticator = (authenticator: EmbeddedSignInFlowAuthenticator): boolean =>\n authenticator.authenticatorId === ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Passkey &&\n authenticator.metadata?.promptType === EmbeddedSignInFlowAuthenticatorPromptType.InternalPrompt &&\n (authenticator.metadata as any)?.additionalData?.challengeData;\n\n/**\n * Props for the BaseSignIn component.\n */\nexport interface BaseSignInProps {\n afterSignInUrl?: string;\n\n /**\n * Custom CSS class name for the submit button.\n */\n buttonClassName?: string;\n\n /**\n * Custom CSS class name for the form container.\n */\n className?: string;\n\n /**\n * Custom CSS class name for error messages.\n */\n errorClassName?: string;\n\n /**\n * Custom CSS class name for form inputs.\n */\n inputClassName?: string;\n\n /**\n * Flag to determine the component is ready to be rendered.\n */\n isLoading?: boolean;\n\n /**\n * Custom CSS class name for info messages.\n */\n messageClassName?: string;\n\n /**\n * Callback function called when authentication fails.\n * @param error - The error that occurred during authentication.\n */\n onError?: (error: Error) => void;\n\n /**\n * Callback function called when authentication flow status changes.\n * @param response - The current authentication response.\n */\n onFlowChange?: (response: EmbeddedSignInFlowInitiateResponse | EmbeddedSignInFlowHandleResponse) => void;\n\n /**\n * Function to initialize authentication flow.\n * @returns Promise resolving to the initial authentication response.\n */\n onInitialize?: () => Promise<EmbeddedSignInFlowInitiateResponse>;\n\n /**\n * Function to handle authentication steps.\n * @param payload - The authentication payload.\n * @returns Promise resolving to the authentication response.\n */\n onSubmit?: (\n payload: EmbeddedSignInFlowHandleRequestPayload,\n request: EmbeddedFlowExecuteRequestConfig,\n ) => Promise<EmbeddedSignInFlowHandleResponse>;\n\n /**\n * Callback function called when authentication is successful.\n * @param authData - The authentication data returned upon successful completion.\n */\n onSuccess?: (authData: Record<string, any>) => void;\n\n /**\n * Whether to show the logo.\n */\n showLogo?: boolean;\n /**\n * Whether to show the subtitle.\n */\n showSubtitle?: boolean;\n\n /**\n * Whether to show the title.\n */\n showTitle?: boolean;\n\n /**\n * Size variant for the component.\n */\n size?: 'small' | 'medium' | 'large';\n\n /**\n * Theme variant for the component.\n */\n variant?: CardProps['variant'];\n}\n\n/**\n * `T3JnYW5pemF0aW9uQXV0aGVudGljYXRvcjpTU08` - OrganizationSSO\n * Currently, `App-Native Authentication` doesn't support organization SSO.\n * Tracker: TODO: Create `product-is` issue for this.\n */\nconst HIDDEN_AUTHENTICATORS: string[] = ['T3JnYW5pemF0aW9uQXV0aGVudGljYXRvcjpTU08'];\n\n/**\n * Internal component that consumes FlowContext and renders the sign-in UI.\n */\nconst BaseSignInContent: FC<BaseSignInProps> = ({\n afterSignInUrl,\n onInitialize,\n isLoading: externalIsLoading,\n onSubmit,\n onSuccess,\n onError,\n onFlowChange,\n className = '',\n inputClassName = '',\n buttonClassName = '',\n errorClassName = '',\n messageClassName = '',\n size = 'medium',\n variant = 'outlined',\n showTitle = true,\n showSubtitle = true,\n}: BaseSignInProps): ReactElement => {\n const {theme} = useTheme();\n const {t} = useTranslation();\n const {subtitle: flowSubtitle, title: flowTitle, messages: flowMessages} = useFlow();\n const styles: ReturnType<typeof useStyles> = useStyles(theme, theme.vars.colors.text.primary);\n\n const [isSignInInitializationRequestLoading, setIsSignInInitializationRequestLoading] = useState(false);\n const [isInitialized, setIsInitialized] = useState(false);\n const [currentFlow, setCurrentFlow] = useState<EmbeddedSignInFlowInitiateResponse | null>(null);\n const [currentAuthenticator, setCurrentAuthenticator] = useState<EmbeddedSignInFlowAuthenticator | null>(null);\n const [error, setError] = useState<string | null>(null);\n const [messages, setMessages] = useState<{message: string; type: string}[]>([]);\n\n const isLoading: boolean = externalIsLoading || isSignInInitializationRequestLoading;\n\n const reRenderCheckRef: RefObject<boolean> = useRef<boolean>(false);\n\n const formFields: FormField[] =\n currentAuthenticator?.metadata?.params?.map((param: any) => ({\n initialValue: '',\n name: param.param,\n required: currentAuthenticator.requiredParams.includes(param.param),\n validator: (value: string): string | null => {\n if (currentAuthenticator.requiredParams.includes(param.param) && (!value || value.trim() === '')) {\n return t('validations.required.field.error');\n }\n return null;\n },\n })) || [];\n\n const form: any = useForm<Record<string, string>>({\n fields: formFields,\n initialValues: {},\n requiredMessage: t('validations.required.field.error'),\n validateOnBlur: true,\n validateOnChange: false,\n });\n\n const {\n values: formValues,\n touched: touchedFields,\n setValue: setFormValue,\n setTouched: setFormTouched,\n validateForm,\n touchAllFields,\n reset: resetForm,\n } = form;\n\n /**\n * Setup form fields based on the current authenticator.\n */\n const setupFormFields: any = useCallback(\n (authenticator: EmbeddedSignInFlowAuthenticator): void => {\n const initialValues: Record<string, string> = {};\n authenticator.metadata?.params?.forEach((param: any) => {\n initialValues[param.param] = '';\n });\n\n // Reset form with new values\n resetForm();\n\n // Set initial values for all fields\n Object.keys(initialValues).forEach((key: string) => {\n setFormValue(key, initialValues[key]);\n });\n },\n [resetForm, setFormValue],\n );\n\n /**\n * Check if the response contains a redirection URL and perform the redirect if necessary.\n * @param response - The authentication response\n * @returns true if a redirect was performed, false otherwise\n */\n const handleRedirectionIfNeeded = (response: EmbeddedSignInFlowHandleResponse): boolean => {\n if (\n response &&\n 'nextStep' in response &&\n response.nextStep &&\n (response.nextStep as any).stepType === EmbeddedSignInFlowStepType.AuthenticatorPrompt &&\n (response.nextStep as any).authenticators?.length === 1\n ) {\n const responseAuthenticator: any = (response.nextStep as any).authenticators[0];\n if (\n responseAuthenticator.metadata?.promptType === EmbeddedSignInFlowAuthenticatorPromptType.RedirectionPrompt &&\n responseAuthenticator.metadata?.additionalData?.redirectUrl\n ) {\n /**\n * Open a popup window to handle redirection prompts\n */\n const redirectUrl: string = responseAuthenticator.metadata?.additionalData?.redirectUrl;\n const popup: Window | null = window.open(\n redirectUrl,\n 'oauth_popup',\n 'width=500,height=600,scrollbars=yes,resizable=yes',\n );\n\n if (!popup) {\n logger.error('Failed to open popup window');\n return false;\n }\n\n /**\n * Forward declarations for mutually referencing variables.\n * `messageHandler`, `cleanup`, and `popupMonitor` reference each other,\n * so they are declared with `let` first and assigned below.\n */\n let messageHandler: any;\n let popupMonitor: any;\n\n const cleanup = (): void => {\n window.removeEventListener('message', messageHandler);\n if (popupMonitor) {\n clearInterval(popupMonitor);\n }\n };\n\n /**\n * Add an event listener to the window to capture the message from the popup\n */\n messageHandler = async function messageEventHandler(event: MessageEvent): Promise<void> {\n /**\n * Check if the message is from our popup window\n */\n if (event.source !== popup) {\n // Don't log every message rejection to reduce noise\n if (event.source !== window && event.source !== window.parent) {\n // TODO: Add logs\n }\n return;\n }\n\n /**\n * Check the origin of the message to ensure it's from a trusted source\n */\n const expectedOrigin: string = afterSignInUrl ? new URL(afterSignInUrl).origin : window.location.origin;\n if (event.origin !== expectedOrigin && event.origin !== window.location.origin) {\n return;\n }\n\n const {code, state} = event.data;\n\n if (code && state) {\n const payload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow!.flowId,\n selectedAuthenticator: {\n authenticatorId: responseAuthenticator.authenticatorId,\n params: {\n code,\n state,\n },\n },\n };\n\n await onSubmit!(payload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n\n popup.close();\n cleanup();\n } else {\n // TODO: Add logs\n }\n };\n\n window.addEventListener('message', messageHandler);\n\n /**\n * Monitor popup for closure and URL changes\n */\n let hasProcessedCallback = false; // Prevent multiple processing\n popupMonitor = setInterval(async (): Promise<void> => {\n try {\n if (popup.closed) {\n cleanup();\n\n return;\n }\n\n // Skip if we've already processed a callback\n if (hasProcessedCallback) {\n return;\n }\n\n // Try to access popup URL to check for callback\n try {\n const popupUrl: string = popup.location.href;\n\n // Check if we've been redirected to the callback URL\n if (popupUrl && (popupUrl.includes('code=') || popupUrl.includes('error='))) {\n hasProcessedCallback = true; // Set flag to prevent multiple processing\n\n // Parse the URL for OAuth parameters\n const url: URL = new URL(popupUrl);\n const code: string | null = url.searchParams.get('code');\n const state: string | null = url.searchParams.get('state');\n const oauthError: string | null = url.searchParams.get('error');\n\n if (oauthError) {\n logger.error('OAuth error:');\n popup.close();\n cleanup();\n return;\n }\n\n if (code && state) {\n const payload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow!.flowId,\n selectedAuthenticator: {\n authenticatorId: responseAuthenticator.authenticatorId,\n params: {\n code,\n state,\n },\n },\n };\n\n const submitResponse: any = await onSubmit!(payload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n\n popup.close();\n\n onFlowChange?.(submitResponse);\n\n if (submitResponse?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(submitResponse.authData);\n }\n }\n }\n } catch (e) {\n // Cross-origin error is expected when popup navigates to OAuth provider\n // This is normal and we can ignore it\n }\n } catch (e) {\n logger.error('Error monitoring popup:');\n }\n }, 1000);\n\n return true;\n }\n }\n return false;\n };\n\n /**\n * Handle form submission.\n */\n const handleSubmit = async (submittedValues: Record<string, string>): Promise<void> => {\n if (!currentFlow || !currentAuthenticator) {\n return;\n }\n\n // Mark all fields as touched before validation\n touchAllFields();\n\n const validation: any = validateForm();\n if (!validation.isValid) {\n return;\n }\n\n setIsSignInInitializationRequestLoading(true);\n setError(null);\n setMessages([]);\n\n try {\n const payload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow.flowId,\n selectedAuthenticator: {\n authenticatorId: currentAuthenticator.authenticatorId,\n params: submittedValues,\n },\n };\n\n const response: any = await onSubmit!(payload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n onFlowChange?.(response);\n\n if (response?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(response.authData);\n return;\n }\n\n if (\n response?.flowStatus === EmbeddedSignInFlowStatus.FailCompleted ||\n response?.flowStatus === EmbeddedSignInFlowStatus.FailIncomplete\n ) {\n setError(t('errors.signin.flow.completion.failure'));\n return;\n }\n\n // Check if the response contains a redirection URL and redirect if needed\n if (handleRedirectionIfNeeded(response)) {\n return;\n }\n\n if (response && 'flowId' in response && 'nextStep' in response) {\n const nextStepResponse: any = response;\n setCurrentFlow(nextStepResponse);\n\n if (nextStepResponse.nextStep?.authenticators?.length > 0) {\n if (\n nextStepResponse.nextStep.stepType === EmbeddedSignInFlowStepType.MultiOptionsPrompt &&\n nextStepResponse.nextStep.authenticators.length > 1\n ) {\n setCurrentAuthenticator(null);\n } else {\n const nextAuthenticator: any = nextStepResponse.nextStep.authenticators[0];\n setCurrentAuthenticator(nextAuthenticator);\n setupFormFields(nextAuthenticator);\n }\n }\n\n if (nextStepResponse.nextStep?.messages) {\n setMessages(\n nextStepResponse.nextStep.messages.map((msg: any) => ({\n message: msg.message || '',\n type: msg.type || 'INFO',\n })),\n );\n }\n }\n } catch (err) {\n const errorMessage: string = err instanceof ThunderIDAPIError ? err.message : t('errors.signin.flow.failure');\n setError(errorMessage);\n onError?.(err as Error);\n } finally {\n setIsSignInInitializationRequestLoading(false);\n }\n };\n\n /**\n * Handle authenticator selection for multi-option prompts.\n */\n const handleAuthenticatorSelection = async (\n authenticator: EmbeddedSignInFlowAuthenticator,\n formData?: Record<string, string>,\n ): Promise<void> => {\n if (!currentFlow) {\n return;\n }\n\n // Mark all fields as touched if we have form data (i.e., this is a submission)\n if (formData) {\n touchAllFields();\n }\n\n setIsSignInInitializationRequestLoading(true);\n setError(null);\n setMessages([]);\n\n try {\n // Handle passkey/FIDO authentication\n if (isPasskeyAuthenticator(authenticator)) {\n try {\n const challengeData: any = (authenticator.metadata as any)?.additionalData?.challengeData;\n if (!challengeData) {\n throw new Error('Missing challenge data for passkey authentication');\n }\n\n const tokenResponse: any = await handleWebAuthnAuthentication(challengeData);\n\n const payload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow.flowId,\n selectedAuthenticator: {\n authenticatorId: authenticator.authenticatorId,\n params: {\n tokenResponse,\n },\n },\n };\n\n const response: any = await onSubmit!(payload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n onFlowChange?.(response);\n\n if (response?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(response.authData);\n return;\n }\n\n if (\n response?.flowStatus === EmbeddedSignInFlowStatus.FailCompleted ||\n response?.flowStatus === EmbeddedSignInFlowStatus.FailIncomplete\n ) {\n setError(t('errors.signin.flow.passkeys.completion.failure'));\n return;\n }\n\n // Handle next step if authentication is not complete\n if (response && 'flowId' in response && 'nextStep' in response) {\n const nextStepResponse: any = response;\n setCurrentFlow(nextStepResponse);\n\n if (nextStepResponse.nextStep?.authenticators?.length > 0) {\n if (\n nextStepResponse.nextStep.stepType === EmbeddedSignInFlowStepType.MultiOptionsPrompt &&\n nextStepResponse.nextStep.authenticators.length > 1\n ) {\n setCurrentAuthenticator(null);\n } else {\n const nextAuthenticator: any = nextStepResponse.nextStep.authenticators[0];\n\n // Check if the next authenticator is also a passkey - if so, auto-trigger it\n if (isPasskeyAuthenticator(nextAuthenticator)) {\n // Recursively handle the passkey authenticator without showing UI\n handleAuthenticatorSelection(nextAuthenticator);\n return;\n }\n setCurrentAuthenticator(nextAuthenticator);\n setupFormFields(nextAuthenticator);\n }\n }\n\n if (nextStepResponse.nextStep?.messages) {\n setMessages(\n nextStepResponse.nextStep.messages.map((msg: any) => ({\n message: msg.message || '',\n type: msg.type || 'INFO',\n })),\n );\n }\n }\n } catch (passkeyError) {\n logger.error('Passkey authentication error:');\n\n // Provide more context for common errors\n let errorMessage: string =\n passkeyError instanceof Error ? passkeyError.message : t('errors.signin.flow.passkeys.failure');\n\n // Add additional context for security errors\n if (passkeyError instanceof Error && passkeyError.message.includes('security')) {\n errorMessage +=\n ' This may be due to browser security settings, an insecure connection, or device restrictions.';\n }\n\n setError(errorMessage);\n }\n } else if (authenticator.metadata?.promptType === EmbeddedSignInFlowAuthenticatorPromptType.RedirectionPrompt) {\n const payload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow.flowId,\n selectedAuthenticator: {\n authenticatorId: authenticator.authenticatorId,\n params: {},\n },\n };\n\n const response: any = await onSubmit!(payload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n onFlowChange?.(response);\n\n if (response?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(response.authData);\n return;\n }\n\n // Check if the response contains a redirection URL and redirect if needed\n if (handleRedirectionIfNeeded(response)) {\n /* empty - redirect handled */\n }\n } else if (formData) {\n const validation: any = validateForm();\n if (!validation.isValid) {\n return;\n }\n\n const formPayload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow.flowId,\n selectedAuthenticator: {\n authenticatorId: authenticator.authenticatorId,\n params: formData,\n },\n };\n\n const formResponse: any = await onSubmit!(formPayload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n onFlowChange?.(formResponse);\n\n if (formResponse?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(formResponse.authData);\n return;\n }\n\n if (\n formResponse?.flowStatus === EmbeddedSignInFlowStatus.FailCompleted ||\n formResponse?.flowStatus === EmbeddedSignInFlowStatus.FailIncomplete\n ) {\n setError('Authentication failed. Please check your credentials and try again.');\n return;\n }\n\n // Check if the response contains a redirection URL and redirect if needed\n if (handleRedirectionIfNeeded(formResponse)) {\n return;\n }\n\n if (formResponse && 'flowId' in formResponse && 'nextStep' in formResponse) {\n const nextStepResponse: any = formResponse;\n setCurrentFlow(nextStepResponse);\n\n if (nextStepResponse.nextStep?.authenticators?.length > 0) {\n if (\n nextStepResponse.nextStep.stepType === EmbeddedSignInFlowStepType.MultiOptionsPrompt &&\n nextStepResponse.nextStep.authenticators.length > 1\n ) {\n setCurrentAuthenticator(null);\n } else {\n const nextAuthenticator: any = nextStepResponse.nextStep.authenticators[0];\n\n // Check if the next authenticator is a passkey - if so, auto-trigger it\n if (isPasskeyAuthenticator(nextAuthenticator)) {\n // Recursively handle the passkey authenticator without showing UI\n handleAuthenticatorSelection(nextAuthenticator);\n return;\n }\n setCurrentAuthenticator(nextAuthenticator);\n setupFormFields(nextAuthenticator);\n }\n }\n\n if (nextStepResponse.nextStep?.messages) {\n setMessages(\n nextStepResponse.nextStep.messages.map((msg: any) => ({\n message: msg.message || '',\n type: msg.type || 'INFO',\n })),\n );\n }\n }\n } else {\n // Check if the authenticator requires user input\n const hasParams: boolean = authenticator.metadata?.params && authenticator.metadata.params.length > 0;\n\n if (!hasParams) {\n // If no parameters are required, directly authenticate\n const payload: EmbeddedSignInFlowHandleRequestPayload = {\n flowId: currentFlow.flowId,\n selectedAuthenticator: {\n authenticatorId: authenticator.authenticatorId,\n params: {},\n },\n };\n\n const response: any = await onSubmit!(payload, {\n method: currentFlow?.links[0].method,\n url: currentFlow?.links[0].href,\n });\n onFlowChange?.(response);\n\n if (response?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(response.authData);\n return;\n }\n\n if (\n response?.flowStatus === EmbeddedSignInFlowStatus.FailCompleted ||\n response?.flowStatus === EmbeddedSignInFlowStatus.FailIncomplete\n ) {\n setError('Authentication failed. Please try again.');\n return;\n }\n\n // Check if the response contains a redirection URL and redirect if needed\n if (handleRedirectionIfNeeded(response)) {\n return;\n }\n\n if (response && 'flowId' in response && 'nextStep' in response) {\n const nextStepResponse: any = response;\n setCurrentFlow(nextStepResponse);\n\n if (nextStepResponse.nextStep?.authenticators?.length > 0) {\n if (\n nextStepResponse.nextStep.stepType === EmbeddedSignInFlowStepType.MultiOptionsPrompt &&\n nextStepResponse.nextStep.authenticators.length > 1\n ) {\n setCurrentAuthenticator(null);\n } else {\n const nextAuthenticator: any = nextStepResponse.nextStep.authenticators[0];\n\n // Check if the next authenticator is a passkey - if so, auto-trigger it\n if (isPasskeyAuthenticator(nextAuthenticator)) {\n // Recursively handle the passkey authenticator without showing UI\n handleAuthenticatorSelection(nextAuthenticator);\n return;\n }\n setCurrentAuthenticator(nextAuthenticator);\n setupFormFields(nextAuthenticator);\n }\n }\n\n if (nextStepResponse.nextStep?.messages) {\n setMessages(\n nextStepResponse.nextStep.messages.map((msg: any) => ({\n message: msg.message || '',\n type: msg.type || 'INFO',\n })),\n );\n }\n }\n } else {\n // If parameters are required, show the form\n setCurrentAuthenticator(authenticator);\n setupFormFields(authenticator);\n }\n }\n } catch (err) {\n const errorMessage: string = err instanceof ThunderIDAPIError ? err?.message : 'Authenticator selection failed';\n setError(errorMessage);\n onError?.(err as Error);\n } finally {\n setIsSignInInitializationRequestLoading(false);\n }\n };\n\n /**\n * Handle input value changes.\n */\n const handleInputChange = (param: string, value: string): void => {\n setFormValue(param, value);\n setFormTouched(param, true);\n };\n\n /**\n * Check if current flow has multiple authenticator options.\n */\n const hasMultipleOptions: any = useCallback(\n (): boolean =>\n !!(\n currentFlow &&\n 'nextStep' in currentFlow &&\n currentFlow.nextStep?.stepType === EmbeddedSignInFlowStepType.MultiOptionsPrompt &&\n currentFlow.nextStep?.authenticators &&\n currentFlow.nextStep.authenticators.length > 1\n ),\n [currentFlow],\n );\n\n /**\n * Get available authenticators for selection.\n */\n const getAvailableAuthenticators: any = useCallback((): EmbeddedSignInFlowAuthenticator[] => {\n if (!currentFlow || !('nextStep' in currentFlow) || !currentFlow.nextStep?.authenticators) {\n return [];\n }\n return currentFlow.nextStep.authenticators;\n }, [currentFlow]);\n\n // Generate CSS classes\n const containerClasses: string = cx(\n [\n withVendorCSSClassPrefix('signin'),\n withVendorCSSClassPrefix(`signin--${size}`),\n withVendorCSSClassPrefix(`signin--${variant}`),\n ],\n className,\n );\n\n const inputClasses: string = cx(\n [\n withVendorCSSClassPrefix('signin__input'),\n size === 'small' && withVendorCSSClassPrefix('signin__input--small'),\n size === 'large' && withVendorCSSClassPrefix('signin__input--large'),\n ],\n inputClassName,\n );\n\n const buttonClasses: string = cx(\n [\n withVendorCSSClassPrefix('signin__button'),\n size === 'small' && withVendorCSSClassPrefix('signin__button--small'),\n size === 'large' && withVendorCSSClassPrefix('signin__button--large'),\n ],\n buttonClassName,\n );\n\n const errorClasses: string = cx([withVendorCSSClassPrefix('signin__error')], errorClassName);\n\n const messageClasses: string = cx([withVendorCSSClassPrefix('signin__messages')], messageClassName); // Initialize the flow on component mount\n\n useEffect(() => {\n if (isLoading) {\n return;\n }\n\n // React 18.x Strict.Mode has a new check for `Ensuring reusable state` to facilitate an upcoming react feature.\n // https://reactjs.org/docs/strict-mode.html#ensuring-reusable-state\n // This will remount all the useEffects to ensure that there are no unexpected side effects.\n // When react remounts the SignIn, it will send two authorize requests.\n // https://github.com/reactwg/react-18/discussions/18#discussioncomment-795623\n if (reRenderCheckRef.current) {\n return;\n }\n\n reRenderCheckRef.current = true;\n\n (async (): Promise<void> => {\n setIsSignInInitializationRequestLoading(true);\n setError(null);\n\n try {\n const response: any = await onInitialize?.();\n\n setCurrentFlow(response);\n setIsInitialized(true);\n onFlowChange?.(response);\n\n if (response?.flowStatus === EmbeddedSignInFlowStatus.SuccessCompleted) {\n onSuccess?.(response.authData || {});\n return;\n }\n\n if (response?.nextStep?.authenticators?.length > 0) {\n if (\n response.nextStep.stepType === EmbeddedSignInFlowStepType.MultiOptionsPrompt &&\n response.nextStep.authenticators.length > 1\n ) {\n setCurrentAuthenticator(null);\n } else {\n const authenticator: any = response.nextStep.authenticators[0];\n setCurrentAuthenticator(authenticator);\n setupFormFields(authenticator);\n }\n }\n\n if (response && 'nextStep' in response && response.nextStep && 'messages' in response.nextStep) {\n const stepMessages: any[] = response.nextStep.messages || [];\n setMessages(\n stepMessages.map((msg: any) => ({\n message: msg.message || '',\n type: msg.type || 'INFO',\n })),\n );\n }\n } catch (err) {\n const errorMessage: string = err instanceof ThunderIDAPIError ? err.message : t('errors.signin.initialization');\n setError(errorMessage);\n onError?.(err as Error);\n } finally {\n setIsSignInInitializationRequestLoading(false);\n }\n })();\n }, [isLoading]);\n\n if (!isInitialized && isLoading) {\n return (\n <CardPrimitive className={cx(containerClasses, styles['card'])} data-testid=\"thunderid-signin\" variant={variant}>\n <CardPrimitive.Content>\n <div className={styles['loadingContainer']}>\n <Spinner size=\"medium\" />\n <Typography variant=\"body1\" className={styles['loadingText']}>\n {t('messages.loading.placeholder')}\n </Typography>\n </div>\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n }\n\n if (hasMultipleOptions() && !currentAuthenticator) {\n const availableAuthenticators: EmbeddedSignInFlowAuthenticator[] = getAvailableAuthenticators();\n\n const userPromptAuthenticators: any[] = availableAuthenticators.filter(\n (auth: any) =>\n auth.metadata?.promptType === EmbeddedSignInFlowAuthenticatorPromptType.UserPrompt ||\n // Fallback: LOCAL authenticators with params are typically user prompts\n (auth.idp === 'LOCAL' && auth.metadata?.params && auth.metadata.params.length > 0),\n );\n\n const optionAuthenticators: any[] = availableAuthenticators\n .filter((auth: any) => !userPromptAuthenticators.includes(auth))\n .filter((authenticator: any) => !HIDDEN_AUTHENTICATORS.includes(authenticator.authenticatorId));\n\n return (\n <CardPrimitive className={cx(containerClasses, styles['card'])} data-testid=\"thunderid-signin\" variant={variant}>\n {(showTitle || showSubtitle) && (\n <CardPrimitive.Header className={styles['header']}>\n {showTitle && (\n <CardPrimitive.Title level={2} className={styles['title']}>\n {flowTitle || t('signin.heading')}\n </CardPrimitive.Title>\n )}\n {showSubtitle && (\n <Typography variant=\"body1\" className={styles['subtitle']}>\n {flowSubtitle || t('signin.subheading')}\n </Typography>\n )}\n </CardPrimitive.Header>\n )}\n <CardPrimitive.Content>\n {flowMessages && flowMessages.length > 0 && (\n <div className={styles['flowMessagesContainer']}>\n {flowMessages.map((flowMessage: any, index: number) => (\n <AlertPrimitive\n key={flowMessage.id || index}\n variant={flowMessage.type}\n className={cx(styles['flowMessageItem'], messageClasses)}\n >\n <AlertPrimitive.Description>{flowMessage.message}</AlertPrimitive.Description>\n </AlertPrimitive>\n ))}\n </div>\n )}\n {messages.length > 0 && (\n <div className={styles['messagesContainer']}>\n {messages.map((message: any, index: number) => {\n let messageVariant: AlertVariant;\n const lowerType: string = message.type.toLowerCase();\n if (lowerType === 'error') {\n messageVariant = 'error';\n } else if (lowerType === 'warning') {\n messageVariant = 'warning';\n } else if (lowerType === 'success') {\n messageVariant = 'success';\n } else {\n messageVariant = 'info';\n }\n\n return (\n <AlertPrimitive\n key={index}\n variant={messageVariant}\n className={cx(styles['messageItem'], messageClasses)}\n >\n <AlertPrimitive.Description>{message.message}</AlertPrimitive.Description>\n </AlertPrimitive>\n );\n })}\n </div>\n )}\n {error && (\n <AlertPrimitive variant=\"error\" className={cx(styles['errorContainer'], errorClasses)}>\n <AlertPrimitive.Title>Error</AlertPrimitive.Title>\n <AlertPrimitive.Description>{error}</AlertPrimitive.Description>\n </AlertPrimitive>\n )}\n\n <div className={styles['contentContainer']}>\n {/* Render USER_PROMPT authenticators as form fields */}\n {userPromptAuthenticators.map((authenticator: any, index: number) => (\n <div key={authenticator.authenticatorId} className={styles['authenticatorItem']}>\n {index > 0 && <Divider className={styles['divider']}>OR</Divider>}\n <form\n className={styles['form']}\n onSubmit={(e: FormEvent): void => {\n e.preventDefault();\n const formData: Record<string, string> = {};\n authenticator.metadata?.params?.forEach((param: any) => {\n formData[param.param] = formValues[param.param] || '';\n });\n handleAuthenticatorSelection(authenticator, formData);\n }}\n >\n {createSignInOptionFromAuthenticator(\n authenticator,\n formValues,\n touchedFields,\n isLoading,\n handleInputChange,\n (auth: any, formData: any) => handleAuthenticatorSelection(auth, formData),\n {\n buttonClassName: buttonClasses,\n error,\n inputClassName: inputClasses,\n },\n )}\n </form>\n </div>\n ))}\n\n {/* Add divider between user prompts and option authenticators if both exist */}\n {userPromptAuthenticators.length > 0 && optionAuthenticators.length > 0 && (\n <Divider className={styles['divider']}>OR</Divider>\n )}\n\n {/* Render all other authenticators (REDIRECTION_PROMPT, multi-option buttons, etc.) */}\n {optionAuthenticators.map((authenticator: any) => (\n <div key={authenticator.authenticatorId} className={styles['authenticatorItem']}>\n {createSignInOptionFromAuthenticator(\n authenticator,\n formValues,\n touchedFields,\n isLoading,\n handleInputChange,\n (auth: any, formData: any) => handleAuthenticatorSelection(auth, formData),\n {\n buttonClassName: buttonClasses,\n error,\n inputClassName: inputClasses,\n },\n )}\n </div>\n ))}\n </div>\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n }\n\n if (!currentAuthenticator) {\n return (\n <CardPrimitive\n className={cx(containerClasses, styles['noAuthenticatorCard'])}\n data-testid=\"thunderid-signin\"\n variant={variant}\n >\n <CardPrimitive.Content>\n {error && (\n <AlertPrimitive variant=\"error\" className={styles['errorAlert']}>\n <AlertPrimitive.Title>{t('errors.heading') || 'Error'}</AlertPrimitive.Title>\n <AlertPrimitive.Description>{error}</AlertPrimitive.Description>\n </AlertPrimitive>\n )}\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n }\n\n // If the current authenticator is a passkey, auto-trigger it instead of showing a form\n if (isPasskeyAuthenticator(currentAuthenticator) && !isLoading) {\n // Auto-trigger passkey authentication\n useEffect(() => {\n handleAuthenticatorSelection(currentAuthenticator);\n }, [currentAuthenticator]);\n\n // Show loading state while passkey authentication is in progress\n return (\n <CardPrimitive className={cx(containerClasses, styles['card'])} data-testid=\"thunderid-signin\" variant={variant}>\n <CardPrimitive.Content>\n <div className={styles['centeredContainer']}>\n <div className={styles['passkeyContainer']}>\n <Spinner size=\"large\" />\n </div>\n <Typography variant=\"body1\">{t('passkey.authenticating') || 'Authenticating with passkey...'}</Typography>\n <Typography variant=\"body2\" className={styles['passkeyText']}>\n {t('passkey.instruction') || 'Please use your fingerprint, face, or security key to authenticate.'}\n </Typography>\n </div>\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n }\n\n return (\n <CardPrimitive className={cx(containerClasses, styles['card'])} data-testid=\"thunderid-signin\" variant={variant}>\n <CardPrimitive.Header className={styles['header']}>\n <CardPrimitive.Title level={2} className={styles['title']}>\n {flowTitle || t('signin.heading')}\n </CardPrimitive.Title>\n <Typography variant=\"body1\" className={styles['subtitle']}>\n {flowSubtitle || t('signin.subheading')}\n </Typography>\n {flowMessages && flowMessages.length > 0 && (\n <div className={styles['flowMessagesContainer']}>\n {flowMessages.map((flowMessage: any, index: number) => (\n <AlertPrimitive\n key={flowMessage.id || index}\n variant={flowMessage.type}\n className={cx(styles['flowMessageItem'], messageClasses)}\n >\n <AlertPrimitive.Description>{flowMessage.message}</AlertPrimitive.Description>\n </AlertPrimitive>\n ))}\n </div>\n )}\n {messages.length > 0 && (\n <div className={styles['messagesContainer']}>\n {messages.map((message: any, index: number) => {\n const messageTypeToVariant: Record<string, AlertVariant> = {\n error: 'error',\n success: 'success',\n warning: 'warning',\n };\n const alertVariant: AlertVariant = messageTypeToVariant[message.type.toLowerCase()] || 'info';\n\n return (\n <AlertPrimitive\n key={index}\n variant={alertVariant}\n className={cx(styles['messageItem'], messageClasses)}\n >\n <AlertPrimitive.Description>{message.message}</AlertPrimitive.Description>\n </AlertPrimitive>\n );\n })}\n </div>\n )}\n </CardPrimitive.Header>\n\n <CardPrimitive.Content>\n {error && (\n <AlertPrimitive variant=\"error\" className={cx(styles['errorContainer'], errorClasses)}>\n <AlertPrimitive.Title>{t('errors.heading')}</AlertPrimitive.Title>\n <AlertPrimitive.Description>{error}</AlertPrimitive.Description>\n </AlertPrimitive>\n )}\n\n <form\n className={styles['form']}\n onSubmit={(e: FormEvent<HTMLFormElement>): void => {\n e.preventDefault();\n const formData: Record<string, string> = {};\n currentAuthenticator.metadata?.params?.forEach((param: any) => {\n formData[param.param] = formValues[param.param] || '';\n });\n handleSubmit(formData);\n }}\n >\n {createSignInOptionFromAuthenticator(\n currentAuthenticator,\n formValues,\n touchedFields,\n isLoading,\n handleInputChange,\n (authenticator: any, formData: any) => handleSubmit(formData || formValues),\n {\n buttonClassName: buttonClasses,\n error,\n inputClassName: inputClasses,\n },\n )}\n </form>\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n};\n\n/**\n * Base SignIn component that provides native authentication flow.\n * This component handles both the presentation layer and authentication flow logic.\n * It accepts API functions as props to maintain framework independence.\n *\n * @example\n * ```tsx\n * import { BaseSignIn } from '@thunderid/react';\n *\n * const MySignIn = () => {\n * return (\n * <BaseSignIn\n * onInitialize={async () => {\n * // Your API call to initialize authentication\n * return await initializeAuth();\n * }}\n * onSubmit={async (payload) => {\n * // Your API call to handle authentication\n * return await handleAuth(payload);\n * }}\n * onSuccess={(authData) => {\n * console.log('Success:', authData);\n * }}\n * onError={(error) => {\n * console.error('Error:', error);\n * }}\n * className=\"max-w-md mx-auto\"\n * />\n * );\n * };\n * ```\n */\nconst BaseSignIn: FC<BaseSignInProps> = ({showLogo = true, ...rest}: BaseSignInProps): ReactElement => {\n const {theme} = useTheme();\n const styles: ReturnType<typeof useStyles> = useStyles(theme, theme.vars.colors.text.primary);\n\n return (\n <div>\n {showLogo && (\n <div className={styles['logoContainer']}>\n <Logo size=\"large\" />\n </div>\n )}\n <FlowProvider>\n <BaseSignInContent showLogo={showLogo} {...rest} />\n </FlowProvider>\n </div>\n );\n};\n\nexport default BaseSignIn;\n"],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import useFlow_default from "../../../../../../contexts/Flow/useFlow.js";
2
+ import useTheme_default from "../../../../../../contexts/Theme/useTheme.js";
3
+ import useTranslation_default from "../../../../../../hooks/useTranslation.js";
4
+ import Button_default from "../../../../../primitives/Button/Button.js";
5
+ import OtpField_default from "../../../../../primitives/OtpField/OtpField.js";
6
+ import { createField } from "../../../../../factories/FieldFactory.js";
7
+ import { EmbeddedSignInFlowAuthenticatorParamType, FieldType } from "@thunderid/browser";
8
+ import { useEffect } from "react";
9
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
+
11
+ //#region src/components/presentation/auth/SignIn/v1/options/EmailOtp.tsx
12
+ /**
13
+ * Email OTP Sign-In Option Component.
14
+ * Handles email-based OTP authentication.
15
+ */
16
+ const EmailOtp = ({ authenticator, formValues, touchedFields, isLoading, onInputChange, inputClassName = "", buttonClassName = "", preferences }) => {
17
+ const { theme } = useTheme_default();
18
+ const { t } = useTranslation_default(preferences?.i18n);
19
+ const { setTitle, setSubtitle } = useFlow_default();
20
+ const formFields = authenticator.metadata?.params?.sort((a, b) => a.order - b.order) || [];
21
+ useEffect(() => {
22
+ setTitle(t("email.otp.heading"));
23
+ setSubtitle(t("email.otp.subheading"));
24
+ }, [
25
+ setTitle,
26
+ setSubtitle,
27
+ t
28
+ ]);
29
+ const hasOtpField = formFields.some((param) => param.param.toLowerCase().includes("otp") || param.param.toLowerCase().includes("code"));
30
+ return /* @__PURE__ */ jsxs(Fragment, { children: [formFields.map((param) => {
31
+ return /* @__PURE__ */ jsx("div", { children: (param.param.toLowerCase().includes("otp") || param.param.toLowerCase().includes("code")) && hasOtpField ? /* @__PURE__ */ jsx(OtpField_default, {
32
+ length: 6,
33
+ value: formValues[param.param] || "",
34
+ onChange: (event) => onInputChange(param.param, event.target.value),
35
+ disabled: isLoading,
36
+ className: inputClassName
37
+ }) : createField({
38
+ className: inputClassName,
39
+ disabled: isLoading,
40
+ label: param.displayName,
41
+ name: param.param,
42
+ onChange: (value) => onInputChange(param.param, value),
43
+ required: authenticator.requiredParams.includes(param.param),
44
+ touched: touchedFields[param.param] || false,
45
+ type: param.type === EmbeddedSignInFlowAuthenticatorParamType.String && param.confidential ? FieldType.Password : FieldType.Text,
46
+ value: formValues[param.param] || ""
47
+ }) }, param.param);
48
+ }), /* @__PURE__ */ jsx(Button_default, {
49
+ fullWidth: true,
50
+ type: "submit",
51
+ color: "primary",
52
+ variant: "solid",
53
+ disabled: isLoading,
54
+ loading: isLoading,
55
+ className: buttonClassName,
56
+ style: { marginBottom: `calc(${theme.vars.spacing.unit} * 2)` },
57
+ children: t("email.otp.buttons.submit.text")
58
+ })] });
59
+ };
60
+ var EmailOtp_default = EmailOtp;
61
+
62
+ //#endregion
63
+ export { EmailOtp_default as default };
64
+ //# sourceMappingURL=EmailOtp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailOtp.js","names":["EmailOtp: FC<BaseSignInOptionProps>","useTheme","useTranslation","useFlow","formFields: any","hasOtpField: any","OtpField","Button"],"sources":["../../../../../../../src/components/presentation/auth/SignIn/v1/options/EmailOtp.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {EmbeddedSignInFlowAuthenticatorParamType, FieldType} from '@thunderid/browser';\nimport {FC, ReactElement, useEffect} from 'react';\n// eslint-disable-next-line import/no-cycle\nimport {BaseSignInOptionProps} from './SignInOptionFactory';\nimport useFlow from '../../../../../../contexts/Flow/useFlow';\nimport useTheme from '../../../../../../contexts/Theme/useTheme';\nimport useTranslation from '../../../../../../hooks/useTranslation';\nimport {createField} from '../../../../../factories/FieldFactory';\nimport Button from '../../../../../primitives/Button/Button';\nimport OtpField from '../../../../../primitives/OtpField/OtpField';\n\n/**\n * Email OTP Sign-In Option Component.\n * Handles email-based OTP authentication.\n */\nconst EmailOtp: FC<BaseSignInOptionProps> = ({\n authenticator,\n formValues,\n touchedFields,\n isLoading,\n onInputChange,\n inputClassName = '',\n buttonClassName = '',\n preferences,\n}: BaseSignInOptionProps): ReactElement => {\n const {theme} = useTheme();\n const {t} = useTranslation(preferences?.i18n);\n const {setTitle, setSubtitle} = useFlow();\n\n const formFields: any = authenticator!.metadata?.params?.sort((a: any, b: any) => a.order - b.order) || [];\n\n useEffect(() => {\n setTitle(t('email.otp.heading'));\n setSubtitle(t('email.otp.subheading'));\n }, [setTitle, setSubtitle, t]);\n\n // Check if this is an OTP field (typically has 'otpCode' or similar parameter)\n const hasOtpField: any = formFields.some(\n (param: any) => param.param.toLowerCase().includes('otp') || param.param.toLowerCase().includes('code'),\n );\n\n return (\n <>\n {formFields.map((param: any) => {\n const isOtpParam: any = param.param.toLowerCase().includes('otp') || param.param.toLowerCase().includes('code');\n\n return (\n <div key={param.param}>\n {isOtpParam && hasOtpField ? (\n <OtpField\n length={6}\n value={formValues[param.param] || ''}\n onChange={(event: any): void => onInputChange(param.param, event.target.value)}\n disabled={isLoading}\n className={inputClassName}\n />\n ) : (\n createField({\n className: inputClassName,\n disabled: isLoading,\n label: param.displayName,\n name: param.param,\n onChange: (value: any) => onInputChange(param.param, value),\n required: authenticator!.requiredParams.includes(param.param),\n touched: touchedFields[param.param] || false,\n type:\n param.type === EmbeddedSignInFlowAuthenticatorParamType.String && param.confidential\n ? FieldType.Password\n : FieldType.Text,\n value: formValues[param.param] || '',\n })\n )}\n </div>\n );\n })}\n\n <Button\n fullWidth\n type=\"submit\"\n color=\"primary\"\n variant=\"solid\"\n disabled={isLoading}\n loading={isLoading}\n className={buttonClassName}\n style={{marginBottom: `calc(${theme.vars.spacing.unit} * 2)`}}\n >\n {t('email.otp.buttons.submit.text')}\n </Button>\n </>\n );\n};\n\nexport default EmailOtp;\n"],"mappings":";;;;;;;;;;;;;;;AAiCA,MAAMA,YAAuC,EAC3C,eACA,YACA,eACA,WACA,eACA,iBAAiB,IACjB,kBAAkB,IAClB,kBACyC;CACzC,MAAM,EAAC,UAASC,kBAAU;CAC1B,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAC7C,MAAM,EAAC,UAAU,gBAAeC,iBAAS;CAEzC,MAAMC,aAAkB,cAAe,UAAU,QAAQ,MAAM,GAAQ,MAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE;AAE1G,iBAAgB;AACd,WAAS,EAAE,oBAAoB,CAAC;AAChC,cAAY,EAAE,uBAAuB,CAAC;IACrC;EAAC;EAAU;EAAa;EAAE,CAAC;CAG9B,MAAMC,cAAmB,WAAW,MACjC,UAAe,MAAM,MAAM,aAAa,CAAC,SAAS,MAAM,IAAI,MAAM,MAAM,aAAa,CAAC,SAAS,OAAO,CACxG;AAED,QACE,4CACG,WAAW,KAAK,UAAe;AAG9B,SACE,oBAAC,oBAHqB,MAAM,MAAM,aAAa,CAAC,SAAS,MAAM,IAAI,MAAM,MAAM,aAAa,CAAC,SAAS,OAAO,KAI5F,cACb,oBAACC;GACC,QAAQ;GACR,OAAO,WAAW,MAAM,UAAU;GAClC,WAAW,UAAqB,cAAc,MAAM,OAAO,MAAM,OAAO,MAAM;GAC9E,UAAU;GACV,WAAW;IACX,GAEF,YAAY;GACV,WAAW;GACX,UAAU;GACV,OAAO,MAAM;GACb,MAAM,MAAM;GACZ,WAAW,UAAe,cAAc,MAAM,OAAO,MAAM;GAC3D,UAAU,cAAe,eAAe,SAAS,MAAM,MAAM;GAC7D,SAAS,cAAc,MAAM,UAAU;GACvC,MACE,MAAM,SAAS,yCAAyC,UAAU,MAAM,eACpE,UAAU,WACV,UAAU;GAChB,OAAO,WAAW,MAAM,UAAU;GACnC,CAAC,IAvBI,MAAM,MAyBV;GAER,EAEF,oBAACC;EACC;EACA,MAAK;EACL,OAAM;EACN,SAAQ;EACR,UAAU;EACV,SAAS;EACT,WAAW;EACX,OAAO,EAAC,cAAc,QAAQ,MAAM,KAAK,QAAQ,KAAK,QAAO;YAE5D,EAAE,gCAAgC;GAC5B,IACR;;AAIP,uBAAe"}
@@ -0,0 +1,55 @@
1
+ import useFlow_default from "../../../../../../contexts/Flow/useFlow.js";
2
+ import useTheme_default from "../../../../../../contexts/Theme/useTheme.js";
3
+ import useTranslation_default from "../../../../../../hooks/useTranslation.js";
4
+ import Button_default from "../../../../../primitives/Button/Button.js";
5
+ import { createField } from "../../../../../factories/FieldFactory.js";
6
+ import { EmbeddedSignInFlowAuthenticatorParamType, FieldType } from "@thunderid/browser";
7
+ import { useEffect } from "react";
8
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+
10
+ //#region src/components/presentation/auth/SignIn/v1/options/IdentifierFirst.tsx
11
+ /**
12
+ * Identifier First Sign-In Option Component.
13
+ * Handles identifier-first authentication flow (username first, then password).
14
+ */
15
+ const IdentifierFirst = ({ authenticator, formValues, touchedFields, isLoading, onInputChange, inputClassName = "", buttonClassName = "", preferences }) => {
16
+ const { theme } = useTheme_default();
17
+ const { t } = useTranslation_default(preferences?.i18n);
18
+ const { setTitle, setSubtitle } = useFlow_default();
19
+ const formFields = authenticator.metadata?.params?.sort((a, b) => a.order - b.order) || [];
20
+ useEffect(() => {
21
+ setTitle(t("identifier.first.heading"));
22
+ setSubtitle(t("identifier.first.subheading"));
23
+ }, [
24
+ setTitle,
25
+ setSubtitle,
26
+ t
27
+ ]);
28
+ return /* @__PURE__ */ jsxs(Fragment, { children: [formFields.map((param) => /* @__PURE__ */ jsx("div", { children: createField({
29
+ className: inputClassName,
30
+ disabled: isLoading,
31
+ label: param.displayName,
32
+ name: param.param,
33
+ onChange: (value) => onInputChange(param.param, value),
34
+ placeholder: t(`elements.fields.generic.placeholder`, { field: (param.displayName || param.param).toLowerCase() }),
35
+ required: authenticator.requiredParams.includes(param.param),
36
+ touched: touchedFields[param.param] || false,
37
+ type: param.type === EmbeddedSignInFlowAuthenticatorParamType.String && param.confidential ? FieldType.Password : FieldType.Text,
38
+ value: formValues[param.param] || ""
39
+ }) }, param.param)), /* @__PURE__ */ jsx(Button_default, {
40
+ fullWidth: true,
41
+ type: "submit",
42
+ color: "primary",
43
+ variant: "solid",
44
+ disabled: isLoading,
45
+ loading: isLoading,
46
+ className: buttonClassName,
47
+ style: { marginBottom: `calc(${theme.vars.spacing.unit} * 2)` },
48
+ children: t("identifier.first.buttons.submit.text")
49
+ })] });
50
+ };
51
+ var IdentifierFirst_default = IdentifierFirst;
52
+
53
+ //#endregion
54
+ export { IdentifierFirst_default as default };
55
+ //# sourceMappingURL=IdentifierFirst.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdentifierFirst.js","names":["IdentifierFirst: FC<BaseSignInOptionProps>","useTheme","useTranslation","useFlow","formFields: any","Button"],"sources":["../../../../../../../src/components/presentation/auth/SignIn/v1/options/IdentifierFirst.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {EmbeddedSignInFlowAuthenticatorParamType, FieldType} from '@thunderid/browser';\nimport {FC, ReactElement, useEffect} from 'react';\n// eslint-disable-next-line import/no-cycle\nimport {BaseSignInOptionProps} from './SignInOptionFactory';\nimport useFlow from '../../../../../../contexts/Flow/useFlow';\nimport useTheme from '../../../../../../contexts/Theme/useTheme';\nimport useTranslation from '../../../../../../hooks/useTranslation';\nimport {createField} from '../../../../../factories/FieldFactory';\nimport Button from '../../../../../primitives/Button/Button';\n\n/**\n * Identifier First Sign-In Option Component.\n * Handles identifier-first authentication flow (username first, then password).\n */\nconst IdentifierFirst: FC<BaseSignInOptionProps> = ({\n authenticator,\n formValues,\n touchedFields,\n isLoading,\n onInputChange,\n inputClassName = '',\n buttonClassName = '',\n preferences,\n}: BaseSignInOptionProps): ReactElement => {\n const {theme} = useTheme();\n const {t} = useTranslation(preferences?.i18n);\n const {setTitle, setSubtitle} = useFlow();\n\n const formFields: any = authenticator!.metadata?.params?.sort((a: any, b: any) => a.order - b.order) || [];\n\n useEffect(() => {\n setTitle(t('identifier.first.heading'));\n setSubtitle(t('identifier.first.subheading'));\n }, [setTitle, setSubtitle, t]);\n\n return (\n <>\n {formFields.map((param: any) => (\n <div key={param.param}>\n {createField({\n className: inputClassName,\n disabled: isLoading,\n label: param.displayName,\n name: param.param,\n onChange: (value: any) => onInputChange(param.param, value),\n placeholder: t(`elements.fields.generic.placeholder`, {\n field: (param.displayName || param.param).toLowerCase(),\n }),\n required: authenticator!.requiredParams.includes(param.param),\n touched: touchedFields[param.param] || false,\n type:\n param.type === EmbeddedSignInFlowAuthenticatorParamType.String && param.confidential\n ? FieldType.Password\n : FieldType.Text,\n value: formValues[param.param] || '',\n })}\n </div>\n ))}\n\n <Button\n fullWidth\n type=\"submit\"\n color=\"primary\"\n variant=\"solid\"\n disabled={isLoading}\n loading={isLoading}\n className={buttonClassName}\n style={{marginBottom: `calc(${theme.vars.spacing.unit} * 2)`}}\n >\n {t('identifier.first.buttons.submit.text')}\n </Button>\n </>\n );\n};\n\nexport default IdentifierFirst;\n"],"mappings":";;;;;;;;;;;;;;AAgCA,MAAMA,mBAA8C,EAClD,eACA,YACA,eACA,WACA,eACA,iBAAiB,IACjB,kBAAkB,IAClB,kBACyC;CACzC,MAAM,EAAC,UAASC,kBAAU;CAC1B,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAC7C,MAAM,EAAC,UAAU,gBAAeC,iBAAS;CAEzC,MAAMC,aAAkB,cAAe,UAAU,QAAQ,MAAM,GAAQ,MAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE;AAE1G,iBAAgB;AACd,WAAS,EAAE,2BAA2B,CAAC;AACvC,cAAY,EAAE,8BAA8B,CAAC;IAC5C;EAAC;EAAU;EAAa;EAAE,CAAC;AAE9B,QACE,4CACG,WAAW,KAAK,UACf,oBAAC,mBACE,YAAY;EACX,WAAW;EACX,UAAU;EACV,OAAO,MAAM;EACb,MAAM,MAAM;EACZ,WAAW,UAAe,cAAc,MAAM,OAAO,MAAM;EAC3D,aAAa,EAAE,uCAAuC,EACpD,QAAQ,MAAM,eAAe,MAAM,OAAO,aAAa,EACxD,CAAC;EACF,UAAU,cAAe,eAAe,SAAS,MAAM,MAAM;EAC7D,SAAS,cAAc,MAAM,UAAU;EACvC,MACE,MAAM,SAAS,yCAAyC,UAAU,MAAM,eACpE,UAAU,WACV,UAAU;EAChB,OAAO,WAAW,MAAM,UAAU;EACnC,CAAC,IAjBM,MAAM,MAkBV,CACN,EAEF,oBAACC;EACC;EACA,MAAK;EACL,OAAM;EACN,SAAQ;EACR,UAAU;EACV,SAAS;EACT,WAAW;EACX,OAAO,EAAC,cAAc,QAAQ,MAAM,KAAK,QAAQ,KAAK,QAAO;YAE5D,EAAE,uCAAuC;GACnC,IACR;;AAIP,8BAAe"}
@@ -0,0 +1,136 @@
1
+ import useTranslation_default from "../../../../../../hooks/useTranslation.js";
2
+ import Button_default from "../../../../../primitives/Button/Button.js";
3
+ import { ApplicationNativeAuthenticationConstants, EmbeddedSignInFlowAuthenticatorKnownIdPType } from "@thunderid/browser";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+
6
+ //#region src/components/presentation/auth/SignIn/v1/options/MultiOptionButton.tsx
7
+ /**
8
+ * Multi Option Button Component.
9
+ * Renders authenticators as selectable buttons for multi-option prompts.
10
+ * Used when authenticators don't require immediate user input but need to be selected first.
11
+ */
12
+ const MultiOptionButton = ({ authenticator, isLoading, onSubmit, buttonClassName = "", preferences }) => {
13
+ const { t } = useTranslation_default(preferences?.i18n);
14
+ /**
15
+ * Get display name for the authenticator.
16
+ */
17
+ const getDisplayName = () => {
18
+ let authenticatorName = authenticator.authenticator;
19
+ if (authenticator.idp !== EmbeddedSignInFlowAuthenticatorKnownIdPType.Local) authenticatorName = authenticator.idp;
20
+ switch (authenticatorName) {
21
+ default: return t("elements.buttons.multi.option.text", { connection: authenticatorName });
22
+ }
23
+ };
24
+ /**
25
+ * Get appropriate icon for the authenticator type.
26
+ */
27
+ const getIcon = () => {
28
+ const { authenticatorId } = authenticator;
29
+ switch (authenticatorId) {
30
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.SmsOtp: return /* @__PURE__ */ jsx("svg", {
31
+ width: "18",
32
+ height: "18",
33
+ viewBox: "0 0 24 24",
34
+ xmlns: "http://www.w3.org/2000/svg",
35
+ children: /* @__PURE__ */ jsx("path", {
36
+ fill: "currentColor",
37
+ d: "M20 15.5c-1.25 0-2.45-.2-3.57-.57a1.02 1.02 0 0 0-1.02.24l-2.2 2.2a15.074 15.074 0 0 1-6.59-6.59l2.2-2.2c.27-.27.35-.67.24-1.02A11.36 11.36 0 0 1 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1M12 3v10l3-3h6V3z"
38
+ })
39
+ });
40
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.EmailOtp: return /* @__PURE__ */ jsx("svg", {
41
+ width: "18",
42
+ height: "18",
43
+ viewBox: "0 0 24 24",
44
+ xmlns: "http://www.w3.org/2000/svg",
45
+ children: /* @__PURE__ */ jsx("path", {
46
+ fill: "currentColor",
47
+ d: "M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 4l-8 5l-8-5V6l8 5l8-5z"
48
+ })
49
+ });
50
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Totp: return /* @__PURE__ */ jsx("svg", {
51
+ width: "18",
52
+ height: "18",
53
+ viewBox: "0 0 24 24",
54
+ xmlns: "http://www.w3.org/2000/svg",
55
+ children: /* @__PURE__ */ jsx("path", {
56
+ fill: "currentColor",
57
+ d: "M12 1L3 5v6c0 5.55 3.84 10.74 9 12c5.16-1.26 9-6.45 9-12V5z"
58
+ })
59
+ });
60
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.PushNotification: return /* @__PURE__ */ jsx("svg", {
61
+ width: "18",
62
+ height: "18",
63
+ viewBox: "0 0 24 24",
64
+ xmlns: "http://www.w3.org/2000/svg",
65
+ children: /* @__PURE__ */ jsx("path", {
66
+ fill: "currentColor",
67
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m1-13h-2v6h2zm0 8h-2v2h2z"
68
+ })
69
+ });
70
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Passkey: return /* @__PURE__ */ jsxs("svg", {
71
+ fill: "currentColor",
72
+ width: "18",
73
+ height: "18",
74
+ viewBox: "0 0 32 32",
75
+ xmlns: "http://www.w3.org/2000/svg",
76
+ children: [
77
+ /* @__PURE__ */ jsx("g", {
78
+ id: "SVGRepo_bgCarrier",
79
+ strokeWidth: "0"
80
+ }),
81
+ /* @__PURE__ */ jsx("g", {
82
+ id: "SVGRepo_tracerCarrier",
83
+ strokeLinecap: "round",
84
+ strokeLinejoin: "round"
85
+ }),
86
+ /* @__PURE__ */ jsxs("g", {
87
+ id: "SVGRepo_iconCarrier",
88
+ children: [/* @__PURE__ */ jsx("path", { d: "M7.7 4.7C9.36 3.07 12.68 2 16.17 2S23 3.06 24.6 4.7A1 1 0 0 0 26 3.3C23.6.86 19.34 0 16.16 0S8.72.87 6.3 3.3a1 1 0 0 0 1.4 1.4zM29.2 12.55C26.38 6.88 22 4 16.17 4s-10.22 2.88-13 8.55a1 1 0 0 0 .44 1.34 1 1 0 0 0 1.35-.45C7.4 8.45 11.08 6 16.15 6s8.77 2.44 11.27 7.45a1 1 0 0 0 .9.55.87.87 0 0 0 .44-.1 1 1 0 0 0 .45-1.35zM19.4 28.08c-4.13-1.77-5.8-4.5-6-6.5a2.87 2.87 0 0 1 1.13-2.75c.85-.57 2.1.24 3.87 1.52s4.13 3 6.17 1.45c1.8-1.35 2.34-3.76 1.45-6.44A10.85 10.85 0 0 0 16.16 8C7.2 8 4 15.75 4 23a1 1 0 0 0 2 0c0-3 .73-13 10.16-13 3.9 0 7 3.1 8 6 .3.87.8 3-.75 4.2-.8.6-2-.2-3.8-1.47s-4.07-2.94-6.14-1.56a4.87 4.87 0 0 0-2 4.6c.24 2.56 2.24 6 7.18 8.15A1 1 0 0 0 19 30a1 1 0 0 0 .4-1.92zM10 19.24a7.06 7.06 0 0 1 5.2-4.65c2.24-.43 4.32.6 6 3a1 1 0 1 0 1.62-1.17c-2.9-4.07-6.27-4.12-8-3.8A9.1 9.1 0 0 0 8 18.77c-1 3.94.43 8.27 4.2 12.87a1 1 0 0 0 .8.37.94.94 0 0 0 .63-.23 1 1 0 0 0 .14-1.4c-3.34-4.1-4.62-7.83-3.77-11.13zM25.3 24.3a3 3 0 0 1-3.06.63c-2.4-.57-4.78-2.7-5.3-4.25a1 1 0 1 0-1.9.64c.8 2.33 3.87 4.88 6.74 5.56a6.84 6.84 0 0 0 1.52.18 4.7 4.7 0 0 0 3.4-1.35 1 1 0 0 0-1.4-1.4z" }), " "]
89
+ })
90
+ ]
91
+ });
92
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.MagicLink: return /* @__PURE__ */ jsx("svg", {
93
+ width: "18",
94
+ height: "18",
95
+ viewBox: "0 0 24 24",
96
+ xmlns: "http://www.w3.org/2000/svg",
97
+ children: /* @__PURE__ */ jsx("path", {
98
+ fill: "currentColor",
99
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m1-13h-2v6h2zm0 8h-2v2h2z"
100
+ })
101
+ });
102
+ default: return /* @__PURE__ */ jsx("svg", {
103
+ width: "18",
104
+ height: "18",
105
+ viewBox: "0 0 24 24",
106
+ xmlns: "http://www.w3.org/2000/svg",
107
+ children: /* @__PURE__ */ jsx("path", {
108
+ fill: "currentColor",
109
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m-2 15l-5-5l1.41-1.41L10 14.17l7.59-7.59L19 8z"
110
+ })
111
+ });
112
+ }
113
+ };
114
+ /**
115
+ * Handle button click.
116
+ */
117
+ const handleClick = () => {
118
+ onSubmit(authenticator);
119
+ };
120
+ return /* @__PURE__ */ jsx(Button_default, {
121
+ fullWidth: true,
122
+ type: "button",
123
+ color: "secondary",
124
+ variant: "solid",
125
+ disabled: isLoading,
126
+ onClick: handleClick,
127
+ className: buttonClassName,
128
+ startIcon: getIcon(),
129
+ children: getDisplayName()
130
+ });
131
+ };
132
+ var MultiOptionButton_default = MultiOptionButton;
133
+
134
+ //#endregion
135
+ export { MultiOptionButton_default as default };
136
+ //# sourceMappingURL=MultiOptionButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiOptionButton.js","names":["MultiOptionButton: FC<BaseSignInOptionProps>","useTranslation","authenticatorName: any","Button"],"sources":["../../../../../../../src/components/presentation/auth/SignIn/v1/options/MultiOptionButton.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {\n ApplicationNativeAuthenticationConstants,\n EmbeddedSignInFlowAuthenticatorKnownIdPType,\n} from '@thunderid/browser';\nimport {FC, ReactElement} from 'react';\n// eslint-disable-next-line import/no-cycle\nimport {BaseSignInOptionProps} from './SignInOptionFactory';\nimport useTranslation from '../../../../../../hooks/useTranslation';\nimport Button from '../../../../../primitives/Button/Button';\n\n/**\n * Multi Option Button Component.\n * Renders authenticators as selectable buttons for multi-option prompts.\n * Used when authenticators don't require immediate user input but need to be selected first.\n */\nconst MultiOptionButton: FC<BaseSignInOptionProps> = ({\n authenticator,\n isLoading,\n onSubmit,\n buttonClassName = '',\n preferences,\n}: BaseSignInOptionProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n\n /**\n * Get display name for the authenticator.\n */\n const getDisplayName = (): string => {\n let authenticatorName: any = authenticator!.authenticator;\n\n if (authenticator!.idp !== EmbeddedSignInFlowAuthenticatorKnownIdPType.Local) {\n authenticatorName = authenticator!.idp;\n }\n\n switch (authenticatorName) {\n default:\n return t('elements.buttons.multi.option.text', {connection: authenticatorName});\n }\n };\n\n /**\n * Get appropriate icon for the authenticator type.\n */\n const getIcon = (): ReactElement | null => {\n const {authenticatorId} = authenticator!;\n\n switch (authenticatorId) {\n case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.SmsOtp:\n return (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"currentColor\"\n d=\"M20 15.5c-1.25 0-2.45-.2-3.57-.57a1.02 1.02 0 0 0-1.02.24l-2.2 2.2a15.074 15.074 0 0 1-6.59-6.59l2.2-2.2c.27-.27.35-.67.24-1.02A11.36 11.36 0 0 1 8.5 4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1M12 3v10l3-3h6V3z\"\n />\n </svg>\n );\n case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.EmailOtp:\n return (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"currentColor\"\n d=\"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 4l-8 5l-8-5V6l8 5l8-5z\"\n />\n </svg>\n );\n case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Totp:\n return (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill=\"currentColor\" d=\"M12 1L3 5v6c0 5.55 3.84 10.74 9 12c5.16-1.26 9-6.45 9-12V5z\" />\n </svg>\n );\n case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.PushNotification:\n return (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"currentColor\"\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m1-13h-2v6h2zm0 8h-2v2h2z\"\n />\n </svg>\n );\n case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Passkey:\n return (\n <svg fill=\"currentColor\" width=\"18\" height=\"18\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"SVGRepo_bgCarrier\" strokeWidth=\"0\"></g>\n <g id=\"SVGRepo_tracerCarrier\" strokeLinecap=\"round\" strokeLinejoin=\"round\"></g>\n <g id=\"SVGRepo_iconCarrier\">\n <path d=\"M7.7 4.7C9.36 3.07 12.68 2 16.17 2S23 3.06 24.6 4.7A1 1 0 0 0 26 3.3C23.6.86 19.34 0 16.16 0S8.72.87 6.3 3.3a1 1 0 0 0 1.4 1.4zM29.2 12.55C26.38 6.88 22 4 16.17 4s-10.22 2.88-13 8.55a1 1 0 0 0 .44 1.34 1 1 0 0 0 1.35-.45C7.4 8.45 11.08 6 16.15 6s8.77 2.44 11.27 7.45a1 1 0 0 0 .9.55.87.87 0 0 0 .44-.1 1 1 0 0 0 .45-1.35zM19.4 28.08c-4.13-1.77-5.8-4.5-6-6.5a2.87 2.87 0 0 1 1.13-2.75c.85-.57 2.1.24 3.87 1.52s4.13 3 6.17 1.45c1.8-1.35 2.34-3.76 1.45-6.44A10.85 10.85 0 0 0 16.16 8C7.2 8 4 15.75 4 23a1 1 0 0 0 2 0c0-3 .73-13 10.16-13 3.9 0 7 3.1 8 6 .3.87.8 3-.75 4.2-.8.6-2-.2-3.8-1.47s-4.07-2.94-6.14-1.56a4.87 4.87 0 0 0-2 4.6c.24 2.56 2.24 6 7.18 8.15A1 1 0 0 0 19 30a1 1 0 0 0 .4-1.92zM10 19.24a7.06 7.06 0 0 1 5.2-4.65c2.24-.43 4.32.6 6 3a1 1 0 1 0 1.62-1.17c-2.9-4.07-6.27-4.12-8-3.8A9.1 9.1 0 0 0 8 18.77c-1 3.94.43 8.27 4.2 12.87a1 1 0 0 0 .8.37.94.94 0 0 0 .63-.23 1 1 0 0 0 .14-1.4c-3.34-4.1-4.62-7.83-3.77-11.13zM25.3 24.3a3 3 0 0 1-3.06.63c-2.4-.57-4.78-2.7-5.3-4.25a1 1 0 1 0-1.9.64c.8 2.33 3.87 4.88 6.74 5.56a6.84 6.84 0 0 0 1.52.18 4.7 4.7 0 0 0 3.4-1.35 1 1 0 0 0-1.4-1.4z\"></path>{' '}\n </g>\n </svg>\n );\n case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.MagicLink:\n return (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"currentColor\"\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m1-13h-2v6h2zm0 8h-2v2h2z\"\n />\n </svg>\n );\n default:\n return (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill=\"currentColor\"\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2m-2 15l-5-5l1.41-1.41L10 14.17l7.59-7.59L19 8z\"\n />\n </svg>\n );\n }\n };\n\n /**\n * Handle button click.\n */\n const handleClick = (): any => {\n // For multi-option buttons, we call onSubmit without form data\n // This will trigger the authenticator selection and likely move to the next step\n onSubmit!(authenticator!);\n };\n\n return (\n <Button\n fullWidth\n type=\"button\"\n color=\"secondary\"\n variant=\"solid\"\n disabled={isLoading}\n onClick={handleClick}\n className={buttonClassName}\n startIcon={getIcon()}\n >\n {getDisplayName()}\n </Button>\n );\n};\n\nexport default MultiOptionButton;\n"],"mappings":";;;;;;;;;;;AAiCA,MAAMA,qBAAgD,EACpD,eACA,WACA,UACA,kBAAkB,IAClB,kBACyC;CACzC,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;;;;CAK7C,MAAM,uBAA+B;EACnC,IAAIC,oBAAyB,cAAe;AAE5C,MAAI,cAAe,QAAQ,4CAA4C,MACrE,qBAAoB,cAAe;AAGrC,UAAQ,mBAAR;GACE,QACE,QAAO,EAAE,sCAAsC,EAAC,YAAY,mBAAkB,CAAC;;;;;;CAOrF,MAAM,gBAAqC;EACzC,MAAM,EAAC,oBAAmB;AAE1B,UAAQ,iBAAR;GACE,KAAK,yCAAyC,wBAAwB,OACpE,QACE,oBAAC;IAAI,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;cACpD,oBAAC;KACC,MAAK;KACL,GAAE;MACF;KACE;GAEV,KAAK,yCAAyC,wBAAwB,SACpE,QACE,oBAAC;IAAI,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;cACpD,oBAAC;KACC,MAAK;KACL,GAAE;MACF;KACE;GAEV,KAAK,yCAAyC,wBAAwB,KACpE,QACE,oBAAC;IAAI,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;cACpD,oBAAC;KAAK,MAAK;KAAe,GAAE;MAAgE;KACxF;GAEV,KAAK,yCAAyC,wBAAwB,iBACpE,QACE,oBAAC;IAAI,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;cACpD,oBAAC;KACC,MAAK;KACL,GAAE;MACF;KACE;GAEV,KAAK,yCAAyC,wBAAwB,QACpE,QACE,qBAAC;IAAI,MAAK;IAAe,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;;KACxE,oBAAC;MAAE,IAAG;MAAoB,aAAY;OAAQ;KAC9C,oBAAC;MAAE,IAAG;MAAwB,eAAc;MAAQ,gBAAe;OAAY;KAC/E,qBAAC;MAAE,IAAG;iBACJ,oBAAC,UAAK,GAAE,ukCAA4kC,EAAC;OACnlC;;KACA;GAEV,KAAK,yCAAyC,wBAAwB,UACpE,QACE,oBAAC;IAAI,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;cACpD,oBAAC;KACC,MAAK;KACL,GAAE;MACF;KACE;GAEV,QACE,QACE,oBAAC;IAAI,OAAM;IAAK,QAAO;IAAK,SAAQ;IAAY,OAAM;cACpD,oBAAC;KACC,MAAK;KACL,GAAE;MACF;KACE;;;;;;CAQd,MAAM,oBAAyB;AAG7B,WAAU,cAAe;;AAG3B,QACE,oBAACC;EACC;EACA,MAAK;EACL,OAAM;EACN,SAAQ;EACR,UAAU;EACV,SAAS;EACT,WAAW;EACX,WAAW,SAAS;YAEnB,gBAAgB;GACV;;AAIb,gCAAe"}
@@ -0,0 +1,143 @@
1
+ import EmailOtp_default from "./EmailOtp.js";
2
+ import IdentifierFirst_default from "./IdentifierFirst.js";
3
+ import MultiOptionButton_default from "./MultiOptionButton.js";
4
+ import SmsOtp_default from "./SmsOtp.js";
5
+ import SocialButton_default from "./SocialButton.js";
6
+ import Totp_default from "./Totp.js";
7
+ import UsernamePassword_default from "./UsernamePassword.js";
8
+ import FacebookButton_default from "../../../../../adapters/FacebookButton.js";
9
+ import GitHubButton_default from "../../../../../adapters/GitHubButton.js";
10
+ import GoogleButton_default from "../../../../../adapters/GoogleButton.js";
11
+ import LinkedInButton_default from "../../../../../adapters/LinkedInButton.js";
12
+ import MicrosoftButton_default from "../../../../../adapters/MicrosoftButton.js";
13
+ import SignInWithEthereumButton_default from "../../../../../adapters/SignInWithEthereumButton.js";
14
+ import { ApplicationNativeAuthenticationConstants, EmbeddedSignInFlowAuthenticatorKnownIdPType } from "@thunderid/browser";
15
+ import { jsx } from "react/jsx-runtime";
16
+
17
+ //#region src/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.tsx
18
+ /**
19
+ * Creates the appropriate sign-in option component based on the authenticator's ID.
20
+ */
21
+ const createSignInOption = ({ authenticator, onSubmit, buttonClassName, preferences,...rest }) => {
22
+ const hasParams = authenticator.metadata?.params && authenticator.metadata.params.length > 0;
23
+ switch (authenticator.authenticatorId) {
24
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.UsernamePassword: return /* @__PURE__ */ jsx(UsernamePassword_default, {
25
+ authenticator,
26
+ preferences,
27
+ onSubmit,
28
+ ...rest
29
+ });
30
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.IdentifierFirst: return /* @__PURE__ */ jsx(IdentifierFirst_default, {
31
+ authenticator,
32
+ preferences,
33
+ onSubmit,
34
+ ...rest
35
+ });
36
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Google: return /* @__PURE__ */ jsx(GoogleButton_default, {
37
+ className: buttonClassName,
38
+ onClick: () => onSubmit(authenticator),
39
+ preferences,
40
+ ...rest
41
+ });
42
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.GitHub: return /* @__PURE__ */ jsx(GitHubButton_default, {
43
+ preferences,
44
+ className: buttonClassName,
45
+ onClick: () => onSubmit(authenticator),
46
+ ...rest
47
+ });
48
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Microsoft: return /* @__PURE__ */ jsx(MicrosoftButton_default, {
49
+ preferences,
50
+ className: buttonClassName,
51
+ onClick: () => onSubmit(authenticator),
52
+ ...rest
53
+ });
54
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Facebook: return /* @__PURE__ */ jsx(FacebookButton_default, {
55
+ preferences,
56
+ className: buttonClassName,
57
+ onClick: () => onSubmit(authenticator),
58
+ ...rest
59
+ });
60
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.LinkedIn: return /* @__PURE__ */ jsx(LinkedInButton_default, {
61
+ preferences,
62
+ className: buttonClassName,
63
+ onClick: () => onSubmit(authenticator),
64
+ ...rest
65
+ });
66
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.SignInWithEthereum: return /* @__PURE__ */ jsx(SignInWithEthereumButton_default, {
67
+ preferences,
68
+ className: buttonClassName,
69
+ onClick: () => onSubmit(authenticator),
70
+ ...rest
71
+ });
72
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.EmailOtp: return hasParams ? /* @__PURE__ */ jsx(EmailOtp_default, {
73
+ authenticator,
74
+ preferences,
75
+ onSubmit,
76
+ ...rest
77
+ }) : /* @__PURE__ */ jsx(MultiOptionButton_default, {
78
+ authenticator,
79
+ preferences,
80
+ onSubmit,
81
+ ...rest
82
+ });
83
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.Totp: return hasParams ? /* @__PURE__ */ jsx(Totp_default, {
84
+ authenticator,
85
+ preferences,
86
+ onSubmit,
87
+ ...rest
88
+ }) : /* @__PURE__ */ jsx(MultiOptionButton_default, {
89
+ authenticator,
90
+ preferences,
91
+ onSubmit,
92
+ ...rest
93
+ });
94
+ case ApplicationNativeAuthenticationConstants.SupportedAuthenticators.SmsOtp: return hasParams ? /* @__PURE__ */ jsx(SmsOtp_default, {
95
+ authenticator,
96
+ preferences,
97
+ onSubmit,
98
+ ...rest
99
+ }) : /* @__PURE__ */ jsx(MultiOptionButton_default, {
100
+ authenticator,
101
+ preferences,
102
+ onSubmit,
103
+ ...rest
104
+ });
105
+ default:
106
+ if (authenticator.idp !== EmbeddedSignInFlowAuthenticatorKnownIdPType.Local) return /* @__PURE__ */ jsx(SocialButton_default, {
107
+ authenticator,
108
+ preferences,
109
+ className: buttonClassName,
110
+ onClick: () => onSubmit(authenticator),
111
+ ...rest,
112
+ children: authenticator.idp
113
+ });
114
+ if (hasParams) return /* @__PURE__ */ jsx(UsernamePassword_default, {
115
+ authenticator,
116
+ preferences,
117
+ onSubmit,
118
+ ...rest
119
+ });
120
+ return /* @__PURE__ */ jsx(MultiOptionButton_default, {
121
+ authenticator,
122
+ preferences,
123
+ onSubmit,
124
+ ...rest
125
+ });
126
+ }
127
+ };
128
+ /**
129
+ * Convenience function that creates the appropriate sign-in option component from an authenticator.
130
+ */
131
+ const createSignInOptionFromAuthenticator = (authenticator, formValues, touchedFields, isLoading, onInputChange, onSubmit, options) => createSignInOption({
132
+ authenticator,
133
+ formValues,
134
+ isLoading,
135
+ onInputChange,
136
+ onSubmit,
137
+ touchedFields,
138
+ ...options
139
+ });
140
+
141
+ //#endregion
142
+ export { createSignInOption, createSignInOptionFromAuthenticator };
143
+ //# sourceMappingURL=SignInOptionFactory.js.map