@thunderid/react 0.3.0 → 0.3.4

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 (672) hide show
  1. package/dist/ThunderIDReactClient.d.ts +4 -8
  2. package/dist/ThunderIDReactClient.d.ts.map +1 -1
  3. package/dist/ThunderIDReactClient.js +6 -73
  4. package/dist/ThunderIDReactClient.js.map +1 -1
  5. package/dist/cjs/ThunderIDReactClient.cjs +5 -72
  6. package/dist/cjs/ThunderIDReactClient.cjs.map +1 -1
  7. package/dist/cjs/components/actions/SignInButton/SignInButton.cjs.map +1 -1
  8. package/dist/cjs/components/adapters/Consent.cjs.map +1 -1
  9. package/dist/cjs/components/adapters/ConsentCheckboxList.cjs +1 -1
  10. package/dist/cjs/components/adapters/ConsentCheckboxList.cjs.map +1 -1
  11. package/dist/cjs/components/auth/Callback/Callback.cjs +1 -1
  12. package/dist/cjs/components/auth/Callback/Callback.cjs.map +1 -1
  13. package/dist/cjs/components/auth/Callback/TokenCallback.cjs +3 -3
  14. package/dist/cjs/components/auth/Callback/TokenCallback.cjs.map +1 -1
  15. package/dist/cjs/components/factories/FieldFactory.cjs +2 -2
  16. package/dist/cjs/components/factories/FieldFactory.cjs.map +1 -1
  17. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs +1 -1
  18. package/dist/cjs/components/presentation/UserAvatar/BaseUserAvatar.cjs +57 -0
  19. package/dist/cjs/components/presentation/UserAvatar/BaseUserAvatar.cjs.map +1 -0
  20. package/dist/cjs/components/presentation/UserAvatar/UserAvatar.cjs +36 -0
  21. package/dist/cjs/components/presentation/UserAvatar/UserAvatar.cjs.map +1 -0
  22. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs +6 -5
  23. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs.map +1 -1
  24. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs +3 -3
  25. package/dist/cjs/components/presentation/auth/AcceptInvite/{v2/AcceptInvite.cjs → AcceptInvite.cjs} +2 -2
  26. package/dist/cjs/components/presentation/auth/AcceptInvite/AcceptInvite.cjs.map +1 -0
  27. package/dist/cjs/components/presentation/auth/AcceptInvite/{v2/BaseAcceptInvite.cjs → BaseAcceptInvite.cjs} +47 -18
  28. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.cjs.map +1 -0
  29. package/dist/cjs/components/presentation/auth/AcceptInvite/{v2/BaseAcceptInvite.styles.cjs → BaseAcceptInvite.styles.cjs} +2 -2
  30. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.cjs.map +1 -0
  31. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs +49 -43
  32. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs.map +1 -1
  33. package/dist/cjs/components/presentation/auth/InviteUser/{v2/BaseInviteUser.cjs → BaseInviteUser.cjs} +44 -15
  34. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.cjs.map +1 -0
  35. package/dist/cjs/components/presentation/auth/InviteUser/{v2/BaseInviteUser.styles.cjs → BaseInviteUser.styles.cjs} +2 -2
  36. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.styles.cjs.map +1 -0
  37. package/dist/cjs/components/presentation/auth/InviteUser/{v2/InviteUser.cjs → InviteUser.cjs} +3 -3
  38. package/dist/cjs/components/presentation/auth/InviteUser/InviteUser.cjs.map +1 -0
  39. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs +389 -8
  40. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs.map +1 -1
  41. package/dist/cjs/components/presentation/auth/Recovery/Recovery.cjs +51 -22
  42. package/dist/cjs/components/presentation/auth/Recovery/Recovery.cjs.map +1 -1
  43. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs +346 -8
  44. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs.map +1 -1
  45. package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs +547 -36
  46. package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs.map +1 -1
  47. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs +691 -8
  48. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs.map +1 -1
  49. package/dist/cjs/components/presentation/auth/SignUp/SignUp.cjs +66 -76
  50. package/dist/cjs/components/presentation/auth/SignUp/SignUp.cjs.map +1 -1
  51. package/dist/cjs/components/primitives/Alert/Alert.cjs +1 -1
  52. package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs +1 -1
  53. package/dist/cjs/components/primitives/FormControl/FormControl.cjs +1 -1
  54. package/dist/cjs/components/primitives/Toggle/Toggle.cjs +1 -1
  55. package/dist/cjs/contexts/ComponentRenderer/ComponentRendererContext.cjs.map +1 -1
  56. package/dist/cjs/contexts/FlowMeta/FlowMetaProvider.cjs +5 -7
  57. package/dist/cjs/contexts/FlowMeta/FlowMetaProvider.cjs.map +1 -1
  58. package/dist/cjs/contexts/Theme/ThemeContext.cjs.map +1 -1
  59. package/dist/cjs/contexts/Theme/ThemeProvider.cjs +73 -37
  60. package/dist/cjs/contexts/Theme/ThemeProvider.cjs.map +1 -1
  61. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs +0 -3
  62. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs.map +1 -1
  63. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs +14 -93
  64. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  65. package/dist/cjs/hooks/{v2/useOAuthCallback.cjs → useOAuthCallback.cjs} +2 -2
  66. package/dist/cjs/hooks/useOAuthCallback.cjs.map +1 -0
  67. package/dist/cjs/index.cjs +51 -99
  68. package/dist/cjs/utils/{v2/buildThemeConfigFromFlowMeta.cjs → buildThemeConfigFromFlowMeta.cjs} +1 -1
  69. package/dist/cjs/utils/buildThemeConfigFromFlowMeta.cjs.map +1 -0
  70. package/dist/cjs/utils/{v2/flowTransformer.cjs → flowTransformer.cjs} +1 -1
  71. package/dist/cjs/utils/flowTransformer.cjs.map +1 -0
  72. package/dist/cjs/utils/{v2/getAuthComponentHeadings.cjs → getAuthComponentHeadings.cjs} +1 -1
  73. package/dist/cjs/utils/getAuthComponentHeadings.cjs.map +1 -0
  74. package/dist/cjs/utils/{v2/passkey.cjs → passkey.cjs} +2 -2
  75. package/dist/cjs/utils/passkey.cjs.map +1 -0
  76. package/dist/cjs/utils/{v2/resolveTranslationsInArray.cjs → resolveTranslationsInArray.cjs} +1 -1
  77. package/dist/cjs/utils/resolveTranslationsInArray.cjs.map +1 -0
  78. package/dist/cjs/utils/{v2/resolveTranslationsInObject.cjs → resolveTranslationsInObject.cjs} +2 -2
  79. package/dist/cjs/utils/resolveTranslationsInObject.cjs.map +1 -0
  80. package/dist/components/actions/SignInButton/SignInButton.d.ts.map +1 -1
  81. package/dist/components/actions/SignInButton/SignInButton.js.map +1 -1
  82. package/dist/components/adapters/Consent.d.ts +1 -1
  83. package/dist/components/adapters/Consent.d.ts.map +1 -1
  84. package/dist/components/adapters/Consent.js.map +1 -1
  85. package/dist/components/adapters/ConsentCheckboxList.d.ts +1 -1
  86. package/dist/components/adapters/ConsentCheckboxList.d.ts.map +1 -1
  87. package/dist/components/adapters/ConsentCheckboxList.js +1 -1
  88. package/dist/components/adapters/ConsentCheckboxList.js.map +1 -1
  89. package/dist/components/auth/Callback/Callback.d.ts +1 -1
  90. package/dist/components/auth/Callback/Callback.js +1 -1
  91. package/dist/components/auth/Callback/Callback.js.map +1 -1
  92. package/dist/components/auth/Callback/TokenCallback.js +4 -4
  93. package/dist/components/auth/Callback/TokenCallback.js.map +1 -1
  94. package/dist/components/factories/FieldFactory.d.ts +2 -2
  95. package/dist/components/factories/FieldFactory.js +2 -2
  96. package/dist/components/factories/FieldFactory.js.map +1 -1
  97. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js +1 -1
  98. package/dist/components/presentation/UserAvatar/BaseUserAvatar.d.ts +50 -0
  99. package/dist/components/presentation/UserAvatar/BaseUserAvatar.d.ts.map +1 -0
  100. package/dist/components/presentation/UserAvatar/BaseUserAvatar.js +55 -0
  101. package/dist/components/presentation/UserAvatar/BaseUserAvatar.js.map +1 -0
  102. package/dist/components/presentation/UserAvatar/UserAvatar.d.ts +46 -0
  103. package/dist/components/presentation/UserAvatar/UserAvatar.d.ts.map +1 -0
  104. package/dist/components/presentation/UserAvatar/UserAvatar.js +34 -0
  105. package/dist/components/presentation/UserAvatar/UserAvatar.js.map +1 -0
  106. package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts.map +1 -1
  107. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js +6 -5
  108. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js.map +1 -1
  109. package/dist/components/presentation/UserProfile/BaseUserProfile.js +3 -3
  110. package/dist/components/presentation/auth/AcceptInvite/AcceptInvite.d.ts.map +1 -0
  111. package/dist/components/presentation/auth/AcceptInvite/{v2/AcceptInvite.js → AcceptInvite.js} +1 -1
  112. package/dist/components/presentation/auth/AcceptInvite/AcceptInvite.js.map +1 -0
  113. package/dist/components/presentation/auth/AcceptInvite/{v2/BaseAcceptInvite.d.ts → BaseAcceptInvite.d.ts} +3 -2
  114. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.d.ts.map +1 -0
  115. package/dist/components/presentation/auth/AcceptInvite/{v2/BaseAcceptInvite.js → BaseAcceptInvite.js} +45 -17
  116. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.js.map +1 -0
  117. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.d.ts.map +1 -0
  118. package/dist/components/presentation/auth/AcceptInvite/{v2/BaseAcceptInvite.styles.js → BaseAcceptInvite.styles.js} +1 -1
  119. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.js.map +1 -0
  120. package/dist/components/presentation/auth/AcceptInvite/index.d.ts +4 -4
  121. package/dist/components/presentation/auth/AcceptInvite/index.d.ts.map +1 -1
  122. package/dist/components/presentation/auth/AuthOptionFactory.d.ts +2 -2
  123. package/dist/components/presentation/auth/AuthOptionFactory.d.ts.map +1 -1
  124. package/dist/components/presentation/auth/AuthOptionFactory.js +50 -44
  125. package/dist/components/presentation/auth/AuthOptionFactory.js.map +1 -1
  126. package/dist/components/presentation/auth/InviteUser/{v2/BaseInviteUser.d.ts → BaseInviteUser.d.ts} +3 -2
  127. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.d.ts.map +1 -0
  128. package/dist/components/presentation/auth/InviteUser/{v2/BaseInviteUser.js → BaseInviteUser.js} +44 -15
  129. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.js.map +1 -0
  130. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.d.ts.map +1 -0
  131. package/dist/components/presentation/auth/InviteUser/{v2/BaseInviteUser.styles.js → BaseInviteUser.styles.js} +1 -1
  132. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.js.map +1 -0
  133. package/dist/components/presentation/auth/InviteUser/InviteUser.d.ts.map +1 -0
  134. package/dist/components/presentation/auth/InviteUser/{v2/InviteUser.js → InviteUser.js} +2 -2
  135. package/dist/components/presentation/auth/InviteUser/InviteUser.js.map +1 -0
  136. package/dist/components/presentation/auth/InviteUser/index.d.ts +4 -4
  137. package/dist/components/presentation/auth/InviteUser/index.d.ts.map +1 -1
  138. package/dist/components/presentation/auth/Recovery/BaseRecovery.d.ts +63 -4
  139. package/dist/components/presentation/auth/Recovery/BaseRecovery.d.ts.map +1 -1
  140. package/dist/components/presentation/auth/Recovery/BaseRecovery.js +389 -10
  141. package/dist/components/presentation/auth/Recovery/BaseRecovery.js.map +1 -1
  142. package/dist/components/presentation/auth/Recovery/Recovery.d.ts +21 -22
  143. package/dist/components/presentation/auth/Recovery/Recovery.d.ts.map +1 -1
  144. package/dist/components/presentation/auth/Recovery/Recovery.js +51 -23
  145. package/dist/components/presentation/auth/Recovery/Recovery.js.map +1 -1
  146. package/dist/components/presentation/auth/SignIn/BaseSignIn.d.ts +213 -6
  147. package/dist/components/presentation/auth/SignIn/BaseSignIn.d.ts.map +1 -1
  148. package/dist/components/presentation/auth/SignIn/BaseSignIn.js +346 -10
  149. package/dist/components/presentation/auth/SignIn/BaseSignIn.js.map +1 -1
  150. package/dist/components/presentation/auth/SignIn/SignIn.d.ts +122 -13
  151. package/dist/components/presentation/auth/SignIn/SignIn.d.ts.map +1 -1
  152. package/dist/components/presentation/auth/SignIn/SignIn.js +548 -38
  153. package/dist/components/presentation/auth/SignIn/SignIn.js.map +1 -1
  154. package/dist/components/presentation/auth/SignUp/BaseSignUp.d.ts +164 -6
  155. package/dist/components/presentation/auth/SignUp/BaseSignUp.d.ts.map +1 -1
  156. package/dist/components/presentation/auth/SignUp/BaseSignUp.js +691 -10
  157. package/dist/components/presentation/auth/SignUp/BaseSignUp.js.map +1 -1
  158. package/dist/components/presentation/auth/SignUp/SignUp.d.ts +15 -74
  159. package/dist/components/presentation/auth/SignUp/SignUp.d.ts.map +1 -1
  160. package/dist/components/presentation/auth/SignUp/SignUp.js +67 -77
  161. package/dist/components/presentation/auth/SignUp/SignUp.js.map +1 -1
  162. package/dist/components/primitives/Alert/Alert.js +1 -1
  163. package/dist/components/primitives/Checkbox/Checkbox.js +1 -1
  164. package/dist/components/primitives/FormControl/FormControl.js +1 -1
  165. package/dist/components/primitives/Toggle/Toggle.js +1 -1
  166. package/dist/contexts/ComponentRenderer/ComponentRendererContext.d.ts +1 -1
  167. package/dist/contexts/ComponentRenderer/ComponentRendererContext.d.ts.map +1 -1
  168. package/dist/contexts/ComponentRenderer/ComponentRendererContext.js.map +1 -1
  169. package/dist/contexts/FlowMeta/FlowMetaProvider.d.ts.map +1 -1
  170. package/dist/contexts/FlowMeta/FlowMetaProvider.js +6 -8
  171. package/dist/contexts/FlowMeta/FlowMetaProvider.js.map +1 -1
  172. package/dist/contexts/Theme/ThemeContext.d.ts +0 -12
  173. package/dist/contexts/Theme/ThemeContext.d.ts.map +1 -1
  174. package/dist/contexts/Theme/ThemeContext.js.map +1 -1
  175. package/dist/contexts/Theme/ThemeProvider.d.ts +17 -41
  176. package/dist/contexts/Theme/ThemeProvider.d.ts.map +1 -1
  177. package/dist/contexts/Theme/ThemeProvider.js +73 -38
  178. package/dist/contexts/Theme/ThemeProvider.js.map +1 -1
  179. package/dist/contexts/ThunderID/ThunderIDContext.d.ts +2 -4
  180. package/dist/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -1
  181. package/dist/contexts/ThunderID/ThunderIDContext.js +0 -3
  182. package/dist/contexts/ThunderID/ThunderIDContext.js.map +1 -1
  183. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  184. package/dist/contexts/ThunderID/ThunderIDProvider.js +15 -94
  185. package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  186. package/dist/hooks/useOAuthCallback.d.ts.map +1 -0
  187. package/dist/hooks/{v2/useOAuthCallback.js → useOAuthCallback.js} +1 -1
  188. package/dist/hooks/useOAuthCallback.js.map +1 -0
  189. package/dist/index.d.ts +7 -49
  190. package/dist/index.d.ts.map +1 -1
  191. package/dist/index.js +30 -59
  192. package/dist/utils/buildThemeConfigFromFlowMeta.d.ts.map +1 -0
  193. package/dist/utils/{v2/buildThemeConfigFromFlowMeta.js → buildThemeConfigFromFlowMeta.js} +1 -1
  194. package/dist/utils/buildThemeConfigFromFlowMeta.js.map +1 -0
  195. package/dist/utils/{v2/flowTransformer.d.ts → flowTransformer.d.ts} +3 -3
  196. package/dist/utils/flowTransformer.d.ts.map +1 -0
  197. package/dist/utils/{v2/flowTransformer.js → flowTransformer.js} +1 -1
  198. package/dist/utils/flowTransformer.js.map +1 -0
  199. package/dist/utils/{v2/getAuthComponentHeadings.d.ts → getAuthComponentHeadings.d.ts} +1 -1
  200. package/dist/utils/getAuthComponentHeadings.d.ts.map +1 -0
  201. package/dist/utils/{v2/getAuthComponentHeadings.js → getAuthComponentHeadings.js} +1 -1
  202. package/dist/utils/getAuthComponentHeadings.js.map +1 -0
  203. package/dist/utils/passkey.d.ts.map +1 -0
  204. package/dist/utils/{v2/passkey.js → passkey.js} +1 -1
  205. package/dist/utils/passkey.js.map +1 -0
  206. package/dist/utils/{v2/resolveTranslationsInArray.d.ts → resolveTranslationsInArray.d.ts} +1 -1
  207. package/dist/utils/resolveTranslationsInArray.d.ts.map +1 -0
  208. package/dist/utils/{v2/resolveTranslationsInArray.js → resolveTranslationsInArray.js} +1 -1
  209. package/dist/utils/resolveTranslationsInArray.js.map +1 -0
  210. package/dist/utils/{v2/resolveTranslationsInObject.d.ts → resolveTranslationsInObject.d.ts} +1 -1
  211. package/dist/utils/resolveTranslationsInObject.d.ts.map +1 -0
  212. package/dist/utils/{v2/resolveTranslationsInObject.js → resolveTranslationsInObject.js} +1 -1
  213. package/dist/utils/resolveTranslationsInObject.js.map +1 -0
  214. package/package.json +10 -10
  215. package/dist/api/createOrganization.d.ts +0 -86
  216. package/dist/api/createOrganization.d.ts.map +0 -1
  217. package/dist/api/createOrganization.js +0 -80
  218. package/dist/api/createOrganization.js.map +0 -1
  219. package/dist/api/getAllOrganizations.d.ts +0 -78
  220. package/dist/api/getAllOrganizations.d.ts.map +0 -1
  221. package/dist/api/getAllOrganizations.js +0 -71
  222. package/dist/api/getAllOrganizations.js.map +0 -1
  223. package/dist/api/getMeOrganizations.d.ts +0 -82
  224. package/dist/api/getMeOrganizations.d.ts.map +0 -1
  225. package/dist/api/getMeOrganizations.js +0 -75
  226. package/dist/api/getMeOrganizations.js.map +0 -1
  227. package/dist/api/getOrganization.d.ts +0 -74
  228. package/dist/api/getOrganization.d.ts.map +0 -1
  229. package/dist/api/getOrganization.js +0 -67
  230. package/dist/api/getOrganization.js.map +0 -1
  231. package/dist/api/getSchemas.d.ts +0 -72
  232. package/dist/api/getSchemas.d.ts.map +0 -1
  233. package/dist/api/getSchemas.js +0 -65
  234. package/dist/api/getSchemas.js.map +0 -1
  235. package/dist/api/updateOrganization.d.ts +0 -81
  236. package/dist/api/updateOrganization.d.ts.map +0 -1
  237. package/dist/api/updateOrganization.js +0 -74
  238. package/dist/api/updateOrganization.js.map +0 -1
  239. package/dist/cjs/api/createOrganization.cjs +0 -82
  240. package/dist/cjs/api/createOrganization.cjs.map +0 -1
  241. package/dist/cjs/api/getAllOrganizations.cjs +0 -73
  242. package/dist/cjs/api/getAllOrganizations.cjs.map +0 -1
  243. package/dist/cjs/api/getMeOrganizations.cjs +0 -77
  244. package/dist/cjs/api/getMeOrganizations.cjs.map +0 -1
  245. package/dist/cjs/api/getOrganization.cjs +0 -69
  246. package/dist/cjs/api/getOrganization.cjs.map +0 -1
  247. package/dist/cjs/api/getSchemas.cjs +0 -67
  248. package/dist/cjs/api/getSchemas.cjs.map +0 -1
  249. package/dist/cjs/api/updateOrganization.cjs +0 -76
  250. package/dist/cjs/api/updateOrganization.cjs.map +0 -1
  251. package/dist/cjs/components/adapters/CheckboxInput.cjs +0 -30
  252. package/dist/cjs/components/adapters/CheckboxInput.cjs.map +0 -1
  253. package/dist/cjs/components/adapters/DateInput.cjs +0 -30
  254. package/dist/cjs/components/adapters/DateInput.cjs.map +0 -1
  255. package/dist/cjs/components/adapters/DividerComponent.cjs +0 -24
  256. package/dist/cjs/components/adapters/DividerComponent.cjs.map +0 -1
  257. package/dist/cjs/components/adapters/EmailInput.cjs +0 -30
  258. package/dist/cjs/components/adapters/EmailInput.cjs.map +0 -1
  259. package/dist/cjs/components/adapters/FormContainer.cjs +0 -36
  260. package/dist/cjs/components/adapters/FormContainer.cjs.map +0 -1
  261. package/dist/cjs/components/adapters/NumberInput.cjs +0 -30
  262. package/dist/cjs/components/adapters/NumberInput.cjs.map +0 -1
  263. package/dist/cjs/components/adapters/PasswordInput.cjs +0 -52
  264. package/dist/cjs/components/adapters/PasswordInput.cjs.map +0 -1
  265. package/dist/cjs/components/adapters/SelectInput.cjs +0 -36
  266. package/dist/cjs/components/adapters/SelectInput.cjs.map +0 -1
  267. package/dist/cjs/components/adapters/SubmitButton.cjs +0 -61
  268. package/dist/cjs/components/adapters/SubmitButton.cjs.map +0 -1
  269. package/dist/cjs/components/adapters/TelephoneInput.cjs +0 -32
  270. package/dist/cjs/components/adapters/TelephoneInput.cjs.map +0 -1
  271. package/dist/cjs/components/adapters/TextInput.cjs +0 -30
  272. package/dist/cjs/components/adapters/TextInput.cjs.map +0 -1
  273. package/dist/cjs/components/adapters/Typography.cjs +0 -60
  274. package/dist/cjs/components/adapters/Typography.cjs.map +0 -1
  275. package/dist/cjs/components/control/OrganizationContext/OrganizationContext.cjs +0 -34
  276. package/dist/cjs/components/control/OrganizationContext/OrganizationContext.cjs.map +0 -1
  277. package/dist/cjs/components/control/OrganizationContext/OrganizationContextController.cjs +0 -58
  278. package/dist/cjs/components/control/OrganizationContext/OrganizationContextController.cjs.map +0 -1
  279. package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.cjs +0 -183
  280. package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.cjs.map +0 -1
  281. package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.styles.cjs +0 -150
  282. package/dist/cjs/components/presentation/CreateOrganization/BaseCreateOrganization.styles.cjs.map +0 -1
  283. package/dist/cjs/components/presentation/CreateOrganization/CreateOrganization.cjs +0 -90
  284. package/dist/cjs/components/presentation/CreateOrganization/CreateOrganization.cjs.map +0 -1
  285. package/dist/cjs/components/presentation/Organization/BaseOrganization.cjs +0 -41
  286. package/dist/cjs/components/presentation/Organization/BaseOrganization.cjs.map +0 -1
  287. package/dist/cjs/components/presentation/Organization/Organization.cjs +0 -49
  288. package/dist/cjs/components/presentation/Organization/Organization.cjs.map +0 -1
  289. package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.cjs +0 -257
  290. package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.cjs.map +0 -1
  291. package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.styles.cjs +0 -236
  292. package/dist/cjs/components/presentation/OrganizationList/BaseOrganizationList.styles.cjs.map +0 -1
  293. package/dist/cjs/components/presentation/OrganizationList/OrganizationList.cjs +0 -86
  294. package/dist/cjs/components/presentation/OrganizationList/OrganizationList.cjs.map +0 -1
  295. package/dist/cjs/components/presentation/OrganizationList/OrganizationList.styles.cjs +0 -75
  296. package/dist/cjs/components/presentation/OrganizationList/OrganizationList.styles.cjs.map +0 -1
  297. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.cjs +0 -328
  298. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.cjs.map +0 -1
  299. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.cjs +0 -166
  300. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.cjs.map +0 -1
  301. package/dist/cjs/components/presentation/OrganizationProfile/OrganizationProfile.cjs +0 -126
  302. package/dist/cjs/components/presentation/OrganizationProfile/OrganizationProfile.cjs.map +0 -1
  303. package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.cjs +0 -288
  304. package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.cjs.map +0 -1
  305. package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.cjs +0 -237
  306. package/dist/cjs/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.cjs.map +0 -1
  307. package/dist/cjs/components/presentation/OrganizationSwitcher/OrganizationSwitcher.cjs +0 -127
  308. package/dist/cjs/components/presentation/OrganizationSwitcher/OrganizationSwitcher.cjs.map +0 -1
  309. package/dist/cjs/components/presentation/auth/AcceptInvite/v2/AcceptInvite.cjs.map +0 -1
  310. package/dist/cjs/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.cjs.map +0 -1
  311. package/dist/cjs/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.cjs.map +0 -1
  312. package/dist/cjs/components/presentation/auth/InviteUser/v2/BaseInviteUser.cjs.map +0 -1
  313. package/dist/cjs/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.cjs.map +0 -1
  314. package/dist/cjs/components/presentation/auth/InviteUser/v2/InviteUser.cjs.map +0 -1
  315. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.cjs +0 -183
  316. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.cjs.map +0 -1
  317. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.cjs +0 -128
  318. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.cjs.map +0 -1
  319. package/dist/cjs/components/presentation/auth/Recovery/v1/BaseRecovery.cjs +0 -293
  320. package/dist/cjs/components/presentation/auth/Recovery/v1/BaseRecovery.cjs.map +0 -1
  321. package/dist/cjs/components/presentation/auth/Recovery/v1/Recovery.cjs +0 -43
  322. package/dist/cjs/components/presentation/auth/Recovery/v1/Recovery.cjs.map +0 -1
  323. package/dist/cjs/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.cjs +0 -163
  324. package/dist/cjs/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.cjs.map +0 -1
  325. package/dist/cjs/components/presentation/auth/Recovery/v2/BaseRecovery.cjs +0 -378
  326. package/dist/cjs/components/presentation/auth/Recovery/v2/BaseRecovery.cjs.map +0 -1
  327. package/dist/cjs/components/presentation/auth/Recovery/v2/Recovery.cjs +0 -78
  328. package/dist/cjs/components/presentation/auth/Recovery/v2/Recovery.cjs.map +0 -1
  329. package/dist/cjs/components/presentation/auth/SignIn/v1/BaseSignIn.cjs +0 -734
  330. package/dist/cjs/components/presentation/auth/SignIn/v1/BaseSignIn.cjs.map +0 -1
  331. package/dist/cjs/components/presentation/auth/SignIn/v1/options/EmailOtp.cjs +0 -68
  332. package/dist/cjs/components/presentation/auth/SignIn/v1/options/EmailOtp.cjs.map +0 -1
  333. package/dist/cjs/components/presentation/auth/SignIn/v1/options/IdentifierFirst.cjs +0 -59
  334. package/dist/cjs/components/presentation/auth/SignIn/v1/options/IdentifierFirst.cjs.map +0 -1
  335. package/dist/cjs/components/presentation/auth/SignIn/v1/options/MultiOptionButton.cjs +0 -139
  336. package/dist/cjs/components/presentation/auth/SignIn/v1/options/MultiOptionButton.cjs.map +0 -1
  337. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.cjs +0 -147
  338. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.cjs.map +0 -1
  339. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SmsOtp.cjs +0 -68
  340. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SmsOtp.cjs.map +0 -1
  341. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SocialButton.cjs +0 -38
  342. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SocialButton.cjs.map +0 -1
  343. package/dist/cjs/components/presentation/auth/SignIn/v1/options/Totp.cjs +0 -68
  344. package/dist/cjs/components/presentation/auth/SignIn/v1/options/Totp.cjs.map +0 -1
  345. package/dist/cjs/components/presentation/auth/SignIn/v1/options/UsernamePassword.cjs +0 -60
  346. package/dist/cjs/components/presentation/auth/SignIn/v1/options/UsernamePassword.cjs.map +0 -1
  347. package/dist/cjs/components/presentation/auth/SignIn/v2/BaseSignIn.cjs +0 -330
  348. package/dist/cjs/components/presentation/auth/SignIn/v2/BaseSignIn.cjs.map +0 -1
  349. package/dist/cjs/components/presentation/auth/SignIn/v2/SignIn.cjs +0 -560
  350. package/dist/cjs/components/presentation/auth/SignIn/v2/SignIn.cjs.map +0 -1
  351. package/dist/cjs/components/presentation/auth/SignUp/v1/BaseSignUp.cjs +0 -451
  352. package/dist/cjs/components/presentation/auth/SignUp/v1/BaseSignUp.cjs.map +0 -1
  353. package/dist/cjs/components/presentation/auth/SignUp/v1/SignUp.cjs +0 -54
  354. package/dist/cjs/components/presentation/auth/SignUp/v1/SignUp.cjs.map +0 -1
  355. package/dist/cjs/components/presentation/auth/SignUp/v1/SignUpOptionFactory.cjs +0 -164
  356. package/dist/cjs/components/presentation/auth/SignUp/v1/SignUpOptionFactory.cjs.map +0 -1
  357. package/dist/cjs/components/presentation/auth/SignUp/v2/BaseSignUp.cjs +0 -679
  358. package/dist/cjs/components/presentation/auth/SignUp/v2/BaseSignUp.cjs.map +0 -1
  359. package/dist/cjs/components/presentation/auth/SignUp/v2/SignUp.cjs +0 -80
  360. package/dist/cjs/components/presentation/auth/SignUp/v2/SignUp.cjs.map +0 -1
  361. package/dist/cjs/components/primitives/Icons/Building.cjs +0 -75
  362. package/dist/cjs/components/primitives/Icons/Building.cjs.map +0 -1
  363. package/dist/cjs/contexts/Branding/BrandingContext.cjs +0 -12
  364. package/dist/cjs/contexts/Branding/BrandingContext.cjs.map +0 -1
  365. package/dist/cjs/contexts/Branding/BrandingProvider.cjs +0 -96
  366. package/dist/cjs/contexts/Branding/BrandingProvider.cjs.map +0 -1
  367. package/dist/cjs/contexts/Branding/useBrandingContext.cjs +0 -40
  368. package/dist/cjs/contexts/Branding/useBrandingContext.cjs.map +0 -1
  369. package/dist/cjs/contexts/Organization/OrganizationContext.cjs +0 -27
  370. package/dist/cjs/contexts/Organization/OrganizationContext.cjs.map +0 -1
  371. package/dist/cjs/contexts/Organization/OrganizationProvider.cjs +0 -97
  372. package/dist/cjs/contexts/Organization/OrganizationProvider.cjs.map +0 -1
  373. package/dist/cjs/contexts/Organization/useOrganization.cjs +0 -100
  374. package/dist/cjs/contexts/Organization/useOrganization.cjs.map +0 -1
  375. package/dist/cjs/contexts/Theme/v1/ThemeProvider.cjs +0 -190
  376. package/dist/cjs/contexts/Theme/v1/ThemeProvider.cjs.map +0 -1
  377. package/dist/cjs/contexts/Theme/v2/ThemeProvider.cjs +0 -108
  378. package/dist/cjs/contexts/Theme/v2/ThemeProvider.cjs.map +0 -1
  379. package/dist/cjs/hooks/useBranding.cjs +0 -71
  380. package/dist/cjs/hooks/useBranding.cjs.map +0 -1
  381. package/dist/cjs/hooks/v2/useOAuthCallback.cjs.map +0 -1
  382. package/dist/cjs/utils/v2/buildThemeConfigFromFlowMeta.cjs.map +0 -1
  383. package/dist/cjs/utils/v2/flowTransformer.cjs.map +0 -1
  384. package/dist/cjs/utils/v2/getAuthComponentHeadings.cjs.map +0 -1
  385. package/dist/cjs/utils/v2/passkey.cjs.map +0 -1
  386. package/dist/cjs/utils/v2/resolveTranslationsInArray.cjs.map +0 -1
  387. package/dist/cjs/utils/v2/resolveTranslationsInObject.cjs.map +0 -1
  388. package/dist/components/adapters/CheckboxInput.d.ts +0 -25
  389. package/dist/components/adapters/CheckboxInput.d.ts.map +0 -1
  390. package/dist/components/adapters/CheckboxInput.js +0 -28
  391. package/dist/components/adapters/CheckboxInput.js.map +0 -1
  392. package/dist/components/adapters/DateInput.d.ts +0 -25
  393. package/dist/components/adapters/DateInput.d.ts.map +0 -1
  394. package/dist/components/adapters/DateInput.js +0 -28
  395. package/dist/components/adapters/DateInput.js.map +0 -1
  396. package/dist/components/adapters/DividerComponent.d.ts +0 -25
  397. package/dist/components/adapters/DividerComponent.d.ts.map +0 -1
  398. package/dist/components/adapters/DividerComponent.js +0 -22
  399. package/dist/components/adapters/DividerComponent.js.map +0 -1
  400. package/dist/components/adapters/EmailInput.d.ts +0 -25
  401. package/dist/components/adapters/EmailInput.d.ts.map +0 -1
  402. package/dist/components/adapters/EmailInput.js +0 -28
  403. package/dist/components/adapters/EmailInput.js.map +0 -1
  404. package/dist/components/adapters/FormContainer.d.ts +0 -25
  405. package/dist/components/adapters/FormContainer.d.ts.map +0 -1
  406. package/dist/components/adapters/FormContainer.js +0 -34
  407. package/dist/components/adapters/FormContainer.js.map +0 -1
  408. package/dist/components/adapters/NumberInput.d.ts +0 -25
  409. package/dist/components/adapters/NumberInput.d.ts.map +0 -1
  410. package/dist/components/adapters/NumberInput.js +0 -28
  411. package/dist/components/adapters/NumberInput.js.map +0 -1
  412. package/dist/components/adapters/PasswordInput.d.ts +0 -25
  413. package/dist/components/adapters/PasswordInput.d.ts.map +0 -1
  414. package/dist/components/adapters/PasswordInput.js +0 -50
  415. package/dist/components/adapters/PasswordInput.js.map +0 -1
  416. package/dist/components/adapters/SelectInput.d.ts +0 -25
  417. package/dist/components/adapters/SelectInput.d.ts.map +0 -1
  418. package/dist/components/adapters/SelectInput.js +0 -34
  419. package/dist/components/adapters/SelectInput.js.map +0 -1
  420. package/dist/components/adapters/SocialButton.d.ts +0 -25
  421. package/dist/components/adapters/SocialButton.d.ts.map +0 -1
  422. package/dist/components/adapters/SubmitButton.d.ts +0 -25
  423. package/dist/components/adapters/SubmitButton.d.ts.map +0 -1
  424. package/dist/components/adapters/SubmitButton.js +0 -59
  425. package/dist/components/adapters/SubmitButton.js.map +0 -1
  426. package/dist/components/adapters/TelephoneInput.d.ts +0 -25
  427. package/dist/components/adapters/TelephoneInput.d.ts.map +0 -1
  428. package/dist/components/adapters/TelephoneInput.js +0 -30
  429. package/dist/components/adapters/TelephoneInput.js.map +0 -1
  430. package/dist/components/adapters/TextInput.d.ts +0 -25
  431. package/dist/components/adapters/TextInput.d.ts.map +0 -1
  432. package/dist/components/adapters/TextInput.js +0 -28
  433. package/dist/components/adapters/TextInput.js.map +0 -1
  434. package/dist/components/adapters/Typography.d.ts +0 -25
  435. package/dist/components/adapters/Typography.d.ts.map +0 -1
  436. package/dist/components/adapters/Typography.js +0 -58
  437. package/dist/components/adapters/Typography.js.map +0 -1
  438. package/dist/components/control/OrganizationContext/OrganizationContext.d.ts +0 -40
  439. package/dist/components/control/OrganizationContext/OrganizationContext.d.ts.map +0 -1
  440. package/dist/components/control/OrganizationContext/OrganizationContext.js +0 -32
  441. package/dist/components/control/OrganizationContext/OrganizationContext.js.map +0 -1
  442. package/dist/components/control/OrganizationContext/OrganizationContextController.d.ts +0 -35
  443. package/dist/components/control/OrganizationContext/OrganizationContextController.d.ts.map +0 -1
  444. package/dist/components/control/OrganizationContext/OrganizationContextController.js +0 -55
  445. package/dist/components/control/OrganizationContext/OrganizationContextController.js.map +0 -1
  446. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.d.ts +0 -60
  447. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.d.ts.map +0 -1
  448. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.js +0 -178
  449. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.js.map +0 -1
  450. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.d.ts +0 -27
  451. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.d.ts.map +0 -1
  452. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.js +0 -147
  453. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.styles.js.map +0 -1
  454. package/dist/components/presentation/CreateOrganization/CreateOrganization.d.ts +0 -68
  455. package/dist/components/presentation/CreateOrganization/CreateOrganization.d.ts.map +0 -1
  456. package/dist/components/presentation/CreateOrganization/CreateOrganization.js +0 -87
  457. package/dist/components/presentation/CreateOrganization/CreateOrganization.js.map +0 -1
  458. package/dist/components/presentation/Organization/BaseOrganization.d.ts +0 -67
  459. package/dist/components/presentation/Organization/BaseOrganization.d.ts.map +0 -1
  460. package/dist/components/presentation/Organization/BaseOrganization.js +0 -39
  461. package/dist/components/presentation/Organization/BaseOrganization.js.map +0 -1
  462. package/dist/components/presentation/Organization/Organization.d.ts +0 -67
  463. package/dist/components/presentation/Organization/Organization.d.ts.map +0 -1
  464. package/dist/components/presentation/Organization/Organization.js +0 -47
  465. package/dist/components/presentation/Organization/Organization.js.map +0 -1
  466. package/dist/components/presentation/OrganizationList/BaseOrganizationList.d.ts +0 -135
  467. package/dist/components/presentation/OrganizationList/BaseOrganizationList.d.ts.map +0 -1
  468. package/dist/components/presentation/OrganizationList/BaseOrganizationList.js +0 -252
  469. package/dist/components/presentation/OrganizationList/BaseOrganizationList.js.map +0 -1
  470. package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.d.ts +0 -27
  471. package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.d.ts.map +0 -1
  472. package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.js +0 -233
  473. package/dist/components/presentation/OrganizationList/BaseOrganizationList.styles.js.map +0 -1
  474. package/dist/components/presentation/OrganizationList/OrganizationList.d.ts +0 -93
  475. package/dist/components/presentation/OrganizationList/OrganizationList.d.ts.map +0 -1
  476. package/dist/components/presentation/OrganizationList/OrganizationList.js +0 -82
  477. package/dist/components/presentation/OrganizationList/OrganizationList.js.map +0 -1
  478. package/dist/components/presentation/OrganizationList/OrganizationList.styles.d.ts +0 -27
  479. package/dist/components/presentation/OrganizationList/OrganizationList.styles.d.ts.map +0 -1
  480. package/dist/components/presentation/OrganizationList/OrganizationList.styles.js +0 -72
  481. package/dist/components/presentation/OrganizationList/OrganizationList.styles.js.map +0 -1
  482. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.d.ts +0 -160
  483. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.d.ts.map +0 -1
  484. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.js +0 -323
  485. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.js.map +0 -1
  486. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.d.ts +0 -27
  487. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.d.ts.map +0 -1
  488. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.js +0 -163
  489. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.styles.js.map +0 -1
  490. package/dist/components/presentation/OrganizationProfile/OrganizationProfile.d.ts +0 -120
  491. package/dist/components/presentation/OrganizationProfile/OrganizationProfile.d.ts.map +0 -1
  492. package/dist/components/presentation/OrganizationProfile/OrganizationProfile.js +0 -122
  493. package/dist/components/presentation/OrganizationProfile/OrganizationProfile.js.map +0 -1
  494. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.d.ts +0 -149
  495. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.d.ts.map +0 -1
  496. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.js +0 -282
  497. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.js.map +0 -1
  498. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.d.ts +0 -27
  499. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.d.ts.map +0 -1
  500. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.js +0 -234
  501. package/dist/components/presentation/OrganizationSwitcher/BaseOrganizationSwitcher.styles.js.map +0 -1
  502. package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts +0 -71
  503. package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts.map +0 -1
  504. package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.js +0 -124
  505. package/dist/components/presentation/OrganizationSwitcher/OrganizationSwitcher.js.map +0 -1
  506. package/dist/components/presentation/auth/AcceptInvite/v2/AcceptInvite.d.ts.map +0 -1
  507. package/dist/components/presentation/auth/AcceptInvite/v2/AcceptInvite.js.map +0 -1
  508. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.d.ts.map +0 -1
  509. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.js.map +0 -1
  510. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.d.ts.map +0 -1
  511. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.js.map +0 -1
  512. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.d.ts.map +0 -1
  513. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.js.map +0 -1
  514. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.d.ts.map +0 -1
  515. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.js.map +0 -1
  516. package/dist/components/presentation/auth/InviteUser/v2/InviteUser.d.ts.map +0 -1
  517. package/dist/components/presentation/auth/InviteUser/v2/InviteUser.js.map +0 -1
  518. package/dist/components/presentation/auth/OrganizationUnitPicker/index.d.ts +0 -20
  519. package/dist/components/presentation/auth/OrganizationUnitPicker/index.d.ts.map +0 -1
  520. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.d.ts +0 -30
  521. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.d.ts.map +0 -1
  522. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.js +0 -179
  523. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.js.map +0 -1
  524. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.d.ts +0 -21
  525. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.d.ts.map +0 -1
  526. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.js +0 -125
  527. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.js.map +0 -1
  528. package/dist/components/presentation/auth/Recovery/v1/BaseRecovery.d.ts +0 -74
  529. package/dist/components/presentation/auth/Recovery/v1/BaseRecovery.d.ts.map +0 -1
  530. package/dist/components/presentation/auth/Recovery/v1/BaseRecovery.js +0 -288
  531. package/dist/components/presentation/auth/Recovery/v1/BaseRecovery.js.map +0 -1
  532. package/dist/components/presentation/auth/Recovery/v1/Recovery.d.ts +0 -26
  533. package/dist/components/presentation/auth/Recovery/v1/Recovery.d.ts.map +0 -1
  534. package/dist/components/presentation/auth/Recovery/v1/Recovery.js +0 -40
  535. package/dist/components/presentation/auth/Recovery/v1/Recovery.js.map +0 -1
  536. package/dist/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.d.ts +0 -46
  537. package/dist/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.d.ts.map +0 -1
  538. package/dist/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.js +0 -160
  539. package/dist/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.js.map +0 -1
  540. package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.d.ts +0 -83
  541. package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.d.ts.map +0 -1
  542. package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.js +0 -373
  543. package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.js.map +0 -1
  544. package/dist/components/presentation/auth/Recovery/v2/Recovery.d.ts +0 -56
  545. package/dist/components/presentation/auth/Recovery/v2/Recovery.d.ts.map +0 -1
  546. package/dist/components/presentation/auth/Recovery/v2/Recovery.js +0 -74
  547. package/dist/components/presentation/auth/Recovery/v2/Recovery.js.map +0 -1
  548. package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.d.ts +0 -131
  549. package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.d.ts.map +0 -1
  550. package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.js +0 -729
  551. package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.js.map +0 -1
  552. package/dist/components/presentation/auth/SignIn/v1/options/EmailOtp.d.ts +0 -26
  553. package/dist/components/presentation/auth/SignIn/v1/options/EmailOtp.d.ts.map +0 -1
  554. package/dist/components/presentation/auth/SignIn/v1/options/EmailOtp.js +0 -64
  555. package/dist/components/presentation/auth/SignIn/v1/options/EmailOtp.js.map +0 -1
  556. package/dist/components/presentation/auth/SignIn/v1/options/IdentifierFirst.d.ts +0 -26
  557. package/dist/components/presentation/auth/SignIn/v1/options/IdentifierFirst.d.ts.map +0 -1
  558. package/dist/components/presentation/auth/SignIn/v1/options/IdentifierFirst.js +0 -55
  559. package/dist/components/presentation/auth/SignIn/v1/options/IdentifierFirst.js.map +0 -1
  560. package/dist/components/presentation/auth/SignIn/v1/options/MultiOptionButton.d.ts +0 -27
  561. package/dist/components/presentation/auth/SignIn/v1/options/MultiOptionButton.d.ts.map +0 -1
  562. package/dist/components/presentation/auth/SignIn/v1/options/MultiOptionButton.js +0 -136
  563. package/dist/components/presentation/auth/SignIn/v1/options/MultiOptionButton.js.map +0 -1
  564. package/dist/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.d.ts +0 -77
  565. package/dist/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.d.ts.map +0 -1
  566. package/dist/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.js +0 -143
  567. package/dist/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.js.map +0 -1
  568. package/dist/components/presentation/auth/SignIn/v1/options/SmsOtp.d.ts +0 -26
  569. package/dist/components/presentation/auth/SignIn/v1/options/SmsOtp.d.ts.map +0 -1
  570. package/dist/components/presentation/auth/SignIn/v1/options/SmsOtp.js +0 -64
  571. package/dist/components/presentation/auth/SignIn/v1/options/SmsOtp.js.map +0 -1
  572. package/dist/components/presentation/auth/SignIn/v1/options/SocialButton.d.ts +0 -26
  573. package/dist/components/presentation/auth/SignIn/v1/options/SocialButton.d.ts.map +0 -1
  574. package/dist/components/presentation/auth/SignIn/v1/options/SocialButton.js +0 -36
  575. package/dist/components/presentation/auth/SignIn/v1/options/SocialButton.js.map +0 -1
  576. package/dist/components/presentation/auth/SignIn/v1/options/Totp.d.ts +0 -26
  577. package/dist/components/presentation/auth/SignIn/v1/options/Totp.d.ts.map +0 -1
  578. package/dist/components/presentation/auth/SignIn/v1/options/Totp.js +0 -64
  579. package/dist/components/presentation/auth/SignIn/v1/options/Totp.js.map +0 -1
  580. package/dist/components/presentation/auth/SignIn/v1/options/UsernamePassword.d.ts +0 -26
  581. package/dist/components/presentation/auth/SignIn/v1/options/UsernamePassword.d.ts.map +0 -1
  582. package/dist/components/presentation/auth/SignIn/v1/options/UsernamePassword.js +0 -56
  583. package/dist/components/presentation/auth/SignIn/v1/options/UsernamePassword.js.map +0 -1
  584. package/dist/components/presentation/auth/SignIn/v1/types.d.ts +0 -125
  585. package/dist/components/presentation/auth/SignIn/v1/types.d.ts.map +0 -1
  586. package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.d.ts +0 -222
  587. package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.d.ts.map +0 -1
  588. package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.js +0 -325
  589. package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.js.map +0 -1
  590. package/dist/components/presentation/auth/SignIn/v2/SignIn.d.ts +0 -165
  591. package/dist/components/presentation/auth/SignIn/v2/SignIn.d.ts.map +0 -1
  592. package/dist/components/presentation/auth/SignIn/v2/SignIn.js +0 -556
  593. package/dist/components/presentation/auth/SignIn/v2/SignIn.js.map +0 -1
  594. package/dist/components/presentation/auth/SignUp/v1/BaseSignUp.d.ts +0 -174
  595. package/dist/components/presentation/auth/SignUp/v1/BaseSignUp.d.ts.map +0 -1
  596. package/dist/components/presentation/auth/SignUp/v1/BaseSignUp.js +0 -446
  597. package/dist/components/presentation/auth/SignUp/v1/BaseSignUp.js.map +0 -1
  598. package/dist/components/presentation/auth/SignUp/v1/SignUp.d.ts +0 -39
  599. package/dist/components/presentation/auth/SignUp/v1/SignUp.d.ts.map +0 -1
  600. package/dist/components/presentation/auth/SignUp/v1/SignUp.js +0 -51
  601. package/dist/components/presentation/auth/SignUp/v1/SignUp.js.map +0 -1
  602. package/dist/components/presentation/auth/SignUp/v1/SignUpOptionFactory.d.ts +0 -46
  603. package/dist/components/presentation/auth/SignUp/v1/SignUpOptionFactory.d.ts.map +0 -1
  604. package/dist/components/presentation/auth/SignUp/v1/SignUpOptionFactory.js +0 -160
  605. package/dist/components/presentation/auth/SignUp/v1/SignUpOptionFactory.js.map +0 -1
  606. package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.d.ts +0 -186
  607. package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.d.ts.map +0 -1
  608. package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.js +0 -674
  609. package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.js.map +0 -1
  610. package/dist/components/presentation/auth/SignUp/v2/SignUp.d.ts +0 -39
  611. package/dist/components/presentation/auth/SignUp/v2/SignUp.d.ts.map +0 -1
  612. package/dist/components/presentation/auth/SignUp/v2/SignUp.js +0 -77
  613. package/dist/components/presentation/auth/SignUp/v2/SignUp.js.map +0 -1
  614. package/dist/components/primitives/Icons/Building.js +0 -73
  615. package/dist/components/primitives/Icons/Building.js.map +0 -1
  616. package/dist/contexts/Branding/BrandingContext.d.ts +0 -53
  617. package/dist/contexts/Branding/BrandingContext.d.ts.map +0 -1
  618. package/dist/contexts/Branding/BrandingContext.js +0 -10
  619. package/dist/contexts/Branding/BrandingContext.js.map +0 -1
  620. package/dist/contexts/Branding/BrandingProvider.d.ts +0 -89
  621. package/dist/contexts/Branding/BrandingProvider.d.ts.map +0 -1
  622. package/dist/contexts/Branding/BrandingProvider.js +0 -92
  623. package/dist/contexts/Branding/BrandingProvider.js.map +0 -1
  624. package/dist/contexts/Branding/useBrandingContext.d.ts +0 -45
  625. package/dist/contexts/Branding/useBrandingContext.d.ts.map +0 -1
  626. package/dist/contexts/Branding/useBrandingContext.js +0 -38
  627. package/dist/contexts/Branding/useBrandingContext.js.map +0 -1
  628. package/dist/contexts/Organization/OrganizationContext.d.ts +0 -41
  629. package/dist/contexts/Organization/OrganizationContext.d.ts.map +0 -1
  630. package/dist/contexts/Organization/OrganizationContext.js +0 -25
  631. package/dist/contexts/Organization/OrganizationContext.js.map +0 -1
  632. package/dist/contexts/Organization/OrganizationProvider.d.ts +0 -94
  633. package/dist/contexts/Organization/OrganizationProvider.d.ts.map +0 -1
  634. package/dist/contexts/Organization/OrganizationProvider.js +0 -93
  635. package/dist/contexts/Organization/OrganizationProvider.js.map +0 -1
  636. package/dist/contexts/Organization/useOrganization.d.ts +0 -105
  637. package/dist/contexts/Organization/useOrganization.d.ts.map +0 -1
  638. package/dist/contexts/Organization/useOrganization.js +0 -98
  639. package/dist/contexts/Organization/useOrganization.js.map +0 -1
  640. package/dist/contexts/Theme/v1/ThemeProvider.d.ts +0 -89
  641. package/dist/contexts/Theme/v1/ThemeProvider.d.ts.map +0 -1
  642. package/dist/contexts/Theme/v1/ThemeProvider.js +0 -186
  643. package/dist/contexts/Theme/v1/ThemeProvider.js.map +0 -1
  644. package/dist/contexts/Theme/v2/ThemeProvider.d.ts +0 -58
  645. package/dist/contexts/Theme/v2/ThemeProvider.d.ts.map +0 -1
  646. package/dist/contexts/Theme/v2/ThemeProvider.js +0 -104
  647. package/dist/contexts/Theme/v2/ThemeProvider.js.map +0 -1
  648. package/dist/hooks/useBranding.d.ts +0 -128
  649. package/dist/hooks/useBranding.d.ts.map +0 -1
  650. package/dist/hooks/useBranding.js +0 -69
  651. package/dist/hooks/useBranding.js.map +0 -1
  652. package/dist/hooks/v2/useOAuthCallback.d.ts.map +0 -1
  653. package/dist/hooks/v2/useOAuthCallback.js.map +0 -1
  654. package/dist/utils/v2/buildThemeConfigFromFlowMeta.d.ts.map +0 -1
  655. package/dist/utils/v2/buildThemeConfigFromFlowMeta.js.map +0 -1
  656. package/dist/utils/v2/flowTransformer.d.ts.map +0 -1
  657. package/dist/utils/v2/flowTransformer.js.map +0 -1
  658. package/dist/utils/v2/getAuthComponentHeadings.d.ts.map +0 -1
  659. package/dist/utils/v2/getAuthComponentHeadings.js.map +0 -1
  660. package/dist/utils/v2/passkey.d.ts.map +0 -1
  661. package/dist/utils/v2/passkey.js.map +0 -1
  662. package/dist/utils/v2/resolveTranslationsInArray.d.ts.map +0 -1
  663. package/dist/utils/v2/resolveTranslationsInArray.js.map +0 -1
  664. package/dist/utils/v2/resolveTranslationsInObject.d.ts.map +0 -1
  665. package/dist/utils/v2/resolveTranslationsInObject.js.map +0 -1
  666. /package/dist/components/presentation/auth/AcceptInvite/{v2/AcceptInvite.d.ts → AcceptInvite.d.ts} +0 -0
  667. /package/dist/components/presentation/auth/AcceptInvite/{v2/BaseAcceptInvite.styles.d.ts → BaseAcceptInvite.styles.d.ts} +0 -0
  668. /package/dist/components/presentation/auth/InviteUser/{v2/BaseInviteUser.styles.d.ts → BaseInviteUser.styles.d.ts} +0 -0
  669. /package/dist/components/presentation/auth/InviteUser/{v2/InviteUser.d.ts → InviteUser.d.ts} +0 -0
  670. /package/dist/hooks/{v2/useOAuthCallback.d.ts → useOAuthCallback.d.ts} +0 -0
  671. /package/dist/utils/{v2/buildThemeConfigFromFlowMeta.d.ts → buildThemeConfigFromFlowMeta.d.ts} +0 -0
  672. /package/dist/utils/{v2/passkey.d.ts → passkey.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignIn.cjs","names":["SignIn: FC<SignInProps>","useThunderID","useTranslation","challengeTokenRef: any","initializationAttemptedRef: any","oauthCodeProcessedRef: any","passkeyProcessedRef: any","tempData: any","storageManager: any","urlParams: any","url: any","ThunderIDRuntimeError","EmbeddedSignInFlowTypeV2","redirectURL: any","effectiveApplicationId: any","error: any","response: EmbeddedSignInFlowResponseV2","EmbeddedFlowType","normalizeFlowResponse","err: any","extractErrorMessage","currentUrlParams: any","timeoutMs: number","remaining: number","errorMessage: string","timerId: any","effectiveExecutionId: any","processedInputs: Record<string, any>","consentPromptRawData: any","purposes: any[]","found: any","submitAction: any","decisions: any","effectiveExecutionIdForPasskey: any","EmbeddedSignInFlowStatusV2","finalRedirectUrl: any","inputs: Record<string, string>","passkeyResponse: any","handlePasskeyAuthentication","passkeyResponseObj: any","handlePasskeyRegistration","BaseSignIn"],"sources":["../../../../../../../src/components/presentation/auth/SignIn/v2/SignIn.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025-2026, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {\n ThunderIDRuntimeError,\n EmbeddedFlowComponentV2 as EmbeddedFlowComponent,\n EmbeddedFlowType,\n EmbeddedSignInFlowResponseV2,\n EmbeddedSignInFlowRequestV2,\n EmbeddedSignInFlowStatusV2,\n EmbeddedSignInFlowTypeV2,\n FlowMetadataResponse,\n Preferences,\n logger,\n} from '@thunderid/browser';\nimport {FC, ReactElement, useState, useEffect, useRef, ReactNode} from 'react';\n// eslint-disable-next-line import/no-named-as-default\nimport BaseSignIn, {BaseSignInProps} from './BaseSignIn';\nimport useThunderID from '../../../../../contexts/ThunderID/useThunderID';\nimport useTranslation from '../../../../../hooks/useTranslation';\nimport {useOAuthCallback} from '../../../../../hooks/v2/useOAuthCallback';\nimport {initiateOAuthRedirect} from '../../../../../utils/oauth';\nimport {extractErrorMessage, normalizeFlowResponse} from '../../../../../utils/v2/flowTransformer';\nimport {handlePasskeyAuthentication, handlePasskeyRegistration} from '../../../../../utils/v2/passkey';\n\n/**\n * Render props function parameters\n */\nexport interface SignInRenderProps {\n /**\n * Additional data from the flow response containing contextual information\n * like consent prompt details and session timeouts.\n */\n additionalData?: Record<string, any>;\n\n /**\n * Current flow components\n */\n components: EmbeddedFlowComponent[];\n\n /**\n * Current error if any\n */\n error: Error | null;\n\n /**\n * Function to manually initialize the flow\n */\n initialize: () => Promise<void>;\n\n /**\n * Whether the flow has been initialized\n */\n isInitialized: boolean;\n\n /**\n * Loading state indicator\n */\n isLoading: boolean;\n\n /**\n * Flag indicating whether the flow step timeout has expired.\n * Consuming components can use this to disable submit buttons.\n */\n isTimeoutDisabled?: boolean;\n\n /**\n * Flow metadata returned by the platform (v2 only). `null` while loading or unavailable.\n */\n meta: FlowMetadataResponse | null;\n\n /**\n * Function to submit authentication data (primary)\n */\n onSubmit: (payload: EmbeddedSignInFlowRequestV2) => Promise<void>;\n}\n\n/**\n * Props for the SignIn component.\n * Matches the interface from the main SignIn component for consistency.\n */\nexport interface SignInProps {\n /**\n * Render props function for custom UI\n */\n children?: (props: SignInRenderProps) => ReactNode;\n\n /**\n * Custom CSS class name for the form container.\n */\n className?: 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 is successful.\n * @param authData - The authentication data returned upon successful completion.\n */\n onSuccess?: (authData: Record<string, any>) => void;\n\n /**\n * Component-level preferences to override global i18n and theme settings.\n * Preferences are deep-merged with global ones, with component preferences\n * taking precedence. Affects this component and all its descendants.\n */\n preferences?: Preferences;\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?: BaseSignInProps['variant'];\n}\n\n/**\n * State for tracking passkey registration\n */\ninterface PasskeyState {\n actionId: string | null;\n challenge: string | null;\n creationOptions: string | null;\n error: Error | null;\n executionId: string | null;\n isActive: boolean;\n}\n\n/**\n * A component-driven SignIn component that provides authentication flow with pre-built styling.\n * This component handles the flow API calls for authentication and delegates UI logic to BaseSignIn.\n * It automatically transforms simple input-based responses into component-driven UI format.\n *\n * @example\n * // Default UI\n * ```tsx\n * import { SignIn } from '@thunderid/react/component-driven';\n *\n * const App = () => {\n * return (\n * <SignIn\n * onSuccess={(authData) => {\n * console.log('Authentication successful:', authData);\n * }}\n * onError={(error) => {\n * console.error('Authentication failed:', error);\n * }}\n * size=\"medium\"\n * variant=\"outlined\"\n * />\n * );\n * };\n * ```\n *\n * @example\n * // Custom UI with render props\n * ```tsx\n * import { SignIn } from '@thunderid/react/component-driven';\n *\n * const App = () => {\n * return (\n * <SignIn\n * onSuccess={(authData) => console.log('Success:', authData)}\n * onError={(error) => console.error('Error:', error)}\n * >\n * {({signIn, isLoading, components, error, isInitialized}) => (\n * <div className=\"custom-signin\">\n * <h1>Custom Sign In</h1>\n * {!isInitialized ? (\n * <p>Initializing...</p>\n * ) : error ? (\n * <div className=\"error\">{error.message}</div>\n * ) : (\n * <form onSubmit={(e) => {\n * e.preventDefault();\n * signIn({inputs: {username: 'user', password: 'pass'}});\n * }}>\n * <button type=\"submit\" disabled={isLoading}>\n * {isLoading ? 'Signing in...' : 'Sign In'}\n * </button>\n * </form>\n * )}\n * </div>\n * )}\n * </SignIn>\n * );\n * };\n * ```\n */\nconst SignIn: FC<SignInProps> = ({\n className,\n preferences,\n size = 'medium',\n onSuccess,\n onError,\n variant,\n children,\n}: SignInProps): ReactElement => {\n const {applicationId, afterSignInUrl, signIn, isInitialized, isLoading, meta, getStorageManager, scopes} =\n useThunderID();\n const {t} = useTranslation(preferences?.i18n);\n\n // State management for the flow\n const [components, setComponents] = useState<EmbeddedFlowComponent[]>([]);\n const [additionalData, setAdditionalData] = useState<Record<string, any>>({});\n const [currentExecutionId, setCurrentExecutionId] = useState<string | null>(null);\n const challengeTokenRef: any = useRef<string | null>(null);\n const [isStorageReady, setIsStorageReady] = useState(false);\n const [isFlowInitialized, setIsFlowInitialized] = useState(false);\n const [flowError, setFlowError] = useState<Error | null>(null);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [isTimeoutDisabled, setIsTimeoutDisabled] = useState<boolean>(false);\n const [passkeyState, setPasskeyState] = useState<PasskeyState>({\n actionId: null,\n challenge: null,\n creationOptions: null,\n error: null,\n executionId: null,\n isActive: false,\n });\n const initializationAttemptedRef: any = useRef(false);\n const oauthCodeProcessedRef: any = useRef(false);\n const passkeyProcessedRef: any = useRef(false);\n /**\n * Sets executionId between sessionStorage and state.\n * This ensures both are always in sync.\n */\n const setExecutionId = (executionId: string | null): void => {\n setCurrentExecutionId(executionId);\n if (executionId) {\n sessionStorage.setItem('thunderid_execution_id', executionId);\n } else {\n sessionStorage.removeItem('thunderid_execution_id');\n }\n };\n\n /**\n * Restore any challenge token persisted before an OAuth redirect.\n * Waits for SDK initialization before reading from storage.\n */\n useEffect(() => {\n if (!isInitialized) return;\n\n (async (): Promise<void> => {\n try {\n const storageManager: any = await getStorageManager();\n const tempData: any = await storageManager?.getTemporaryData();\n if (tempData?.challengeToken) {\n challengeTokenRef.current = tempData.challengeToken as string;\n }\n } finally {\n setIsStorageReady(true);\n }\n })();\n }, [isInitialized]);\n\n /**\n * Updates challengeTokenRef immediately (stale-closure safe) and persists via\n * the provider's StorageManager so the token survives OAuth redirects.\n */\n const setChallengeToken = async (challengeToken: string | null): Promise<void> => {\n challengeTokenRef.current = challengeToken;\n try {\n const storageManager: any = await getStorageManager();\n if (storageManager) {\n if (challengeToken) {\n await storageManager.setTemporaryDataParameter('challengeToken', challengeToken);\n } else {\n await storageManager.removeTemporaryDataParameter('challengeToken');\n }\n }\n } catch {\n logger.warn('Failed to persist challenge token in storage.');\n }\n };\n\n /**\n * Clear all flow-related storage and state.\n */\n const clearFlowState = async (): Promise<void> => {\n setExecutionId(null);\n await setChallengeToken(null);\n setIsFlowInitialized(false);\n try {\n const storageManager: any = await getStorageManager();\n await storageManager?.removeHybridDataParameter?.('authId');\n } catch {\n logger.warn('Failed to clear authId from hybrid storage.');\n }\n setIsTimeoutDisabled(false);\n // Reset refs to allow new flows to start properly\n oauthCodeProcessedRef.current = false;\n };\n\n /**\n * Parse URL parameters used in flows.\n */\n const getUrlParams = (): any => {\n const urlParams: any = new URL(window?.location?.href ?? '').searchParams;\n\n return {\n applicationId: urlParams.get('applicationId'),\n authId: urlParams.get('authId'),\n code: urlParams.get('code'),\n error: urlParams.get('error'),\n errorDescription: urlParams.get('error_description'),\n executionId: urlParams.get('executionId'),\n nonce: urlParams.get('nonce'),\n state: urlParams.get('state'),\n };\n };\n\n /**\n * Handle authId from URL and store it in sessionStorage.\n */\n const handleAuthId = async (authId: string | null): Promise<void> => {\n if (authId) {\n try {\n const storageManager: any = await getStorageManager();\n await storageManager?.setHybridDataParameter?.('authId', authId);\n } catch {\n logger.warn('Failed to store authId in hybrid storage.');\n }\n }\n };\n\n /**\n * Clean up OAuth-related URL parameters from the browser URL.\n */\n const cleanupOAuthUrlParams = (includeNonce = false): void => {\n if (!window?.location?.href) return;\n const url: any = new URL(window.location.href);\n url.searchParams.delete('error');\n url.searchParams.delete('error_description');\n url.searchParams.delete('code');\n url.searchParams.delete('state');\n if (includeNonce) {\n url.searchParams.delete('nonce');\n }\n window?.history?.replaceState({}, '', url.toString());\n };\n\n /**\n * Clean up flow-related URL parameters (executionId, authId) from the browser URL.\n * Used after executionId is set in state to prevent using invalidated executionId from URL.\n */\n const cleanupFlowUrlParams = (): void => {\n if (!window?.location?.href) return;\n const url: any = new URL(window.location.href);\n url.searchParams.delete('executionId');\n url.searchParams.delete('authId');\n url.searchParams.delete('applicationId');\n window?.history?.replaceState({}, '', url.toString());\n };\n\n /**\n * Set error state and call onError callback.\n * Ensures isFlowInitialized is true so errors can be displayed in the UI.\n */\n const setError = (error: Error): void => {\n setFlowError(error);\n setIsFlowInitialized(true);\n onError?.(error);\n };\n\n /**\n * Handle OAuth error from URL parameters.\n * Clears flow state, creates error, and cleans up URL.\n */\n const handleOAuthError = (error: string, errorDescription: string | null): void => {\n clearFlowState();\n const errorMessage: any = errorDescription || `OAuth error: ${error}`;\n const err: any = new ThunderIDRuntimeError(errorMessage, 'SIGN_IN_ERROR', 'react');\n setError(err);\n cleanupOAuthUrlParams(true);\n };\n\n /**\n * Handle REDIRECTION response by storing flow state and redirecting to OAuth provider.\n */\n const handleRedirection = async (response: EmbeddedSignInFlowResponseV2): Promise<boolean> => {\n if (response.type === EmbeddedSignInFlowTypeV2.Redirection) {\n const redirectURL: any = (response.data as any)?.redirectURL || (response as any)?.redirectURL;\n\n if (redirectURL && window?.location) {\n if (response.executionId) {\n setExecutionId(response.executionId);\n }\n await setChallengeToken(response.challengeToken ?? null);\n\n const urlParams: any = getUrlParams();\n handleAuthId(urlParams.authId);\n\n initiateOAuthRedirect(redirectURL);\n return true;\n }\n }\n return false;\n };\n\n /**\n * Initialize the authentication flow.\n * Priority: executionId > applicationId (from context) > applicationId (from URL)\n */\n const initializeFlow = async (): Promise<void> => {\n const urlParams: any = getUrlParams();\n\n // Reset OAuth code processed ref when starting a new flow\n oauthCodeProcessedRef.current = false;\n\n handleAuthId(urlParams.authId);\n\n const effectiveApplicationId: any = applicationId || urlParams.applicationId;\n\n if (!urlParams.executionId && !effectiveApplicationId) {\n const error: any = new ThunderIDRuntimeError(\n 'Either executionId or applicationId is required for authentication',\n 'SIGN_IN_ERROR',\n 'react',\n );\n setError(error);\n throw error;\n }\n\n try {\n setFlowError(null);\n\n let response: EmbeddedSignInFlowResponseV2;\n\n if (urlParams.executionId) {\n response = (await signIn({\n executionId: urlParams.executionId,\n ...(challengeTokenRef.current ? {challengeToken: challengeTokenRef.current} : {}),\n })) as EmbeddedSignInFlowResponseV2;\n } else {\n response = (await signIn({\n applicationId: effectiveApplicationId,\n flowType: EmbeddedFlowType.Authentication,\n ...(scopes && {scopes}),\n })) as EmbeddedSignInFlowResponseV2;\n }\n\n if (await handleRedirection(response)) {\n return;\n }\n\n const {\n executionId: normalizedExecutionId,\n components: normalizedComponents,\n additionalData: normalizedAdditionalData,\n } = normalizeFlowResponse(\n response,\n t,\n {\n resolveTranslations: false,\n },\n meta,\n );\n\n await setChallengeToken(response.challengeToken ?? null);\n\n if (normalizedExecutionId && normalizedComponents) {\n setExecutionId(normalizedExecutionId);\n setComponents(normalizedComponents);\n setAdditionalData(normalizedAdditionalData ?? {});\n setIsFlowInitialized(true);\n setIsTimeoutDisabled(false);\n // Clean up executionId from URL after setting it in state\n cleanupFlowUrlParams();\n }\n } catch (error) {\n const err: any = error;\n await clearFlowState();\n\n setError(err instanceof ThunderIDRuntimeError ? err : new Error(extractErrorMessage(err, t)));\n initializationAttemptedRef.current = false;\n }\n };\n\n /**\n * Initialize the flow and handle cleanup of stale flow state.\n */\n useEffect(() => {\n const urlParams: any = getUrlParams();\n\n // Check for OAuth error in URL\n if (urlParams.error) {\n handleOAuthError(urlParams.error, urlParams.errorDescription);\n return;\n }\n\n handleAuthId(urlParams.authId);\n\n // Skip OAuth code processing - let the dedicated OAuth useEffect handle it\n // No action needed here as the dedicated useEffect will handle it\n }, []);\n\n useEffect(() => {\n // Only initialize if we're not processing an OAuth callback or submission\n const currentUrlParams: any = getUrlParams();\n if (\n isInitialized &&\n !isLoading &&\n isStorageReady &&\n !isFlowInitialized &&\n !initializationAttemptedRef.current &&\n !currentExecutionId &&\n !currentUrlParams.code &&\n !currentUrlParams.state &&\n !isSubmitting &&\n !oauthCodeProcessedRef.current\n ) {\n initializationAttemptedRef.current = true;\n initializeFlow();\n }\n }, [isInitialized, isLoading, isStorageReady, isFlowInitialized, currentExecutionId]);\n\n /**\n * Handle step timeout if configured in additionalData.\n */\n useEffect(() => {\n const timeoutMs: number = Number(additionalData?.['stepTimeout']) || 0;\n if (timeoutMs <= 0 || !isFlowInitialized) {\n setIsTimeoutDisabled(false);\n return undefined;\n }\n\n const remaining: number = Math.max(0, Math.floor((timeoutMs - Date.now()) / 1000));\n\n const handleTimeout = (): void => {\n const errorMessage: string = t('errors.signin.timeout') || 'Time allowed to complete the step has expired.';\n setError(new Error(errorMessage));\n setIsTimeoutDisabled(true);\n };\n\n if (remaining <= 0) {\n handleTimeout();\n return undefined;\n }\n\n const timerId: any = setTimeout(() => {\n handleTimeout();\n }, remaining * 1000);\n\n return () => clearTimeout(timerId);\n }, [additionalData?.['stepTimeout'], isFlowInitialized, t]);\n\n /**\n * Handle form submission from BaseSignIn or render props.\n */\n const handleSubmit = async (payload: EmbeddedSignInFlowRequestV2): Promise<void> => {\n // Use executionId from payload if available, otherwise fall back to currentExecutionId\n const effectiveExecutionId: any = payload.executionId || currentExecutionId;\n\n if (!effectiveExecutionId) {\n throw new Error('No active flow ID');\n }\n\n const processedInputs: Record<string, any> = {...payload.inputs};\n\n // Auto-compile consent decisions if we are currently on a consent prompt step\n if (additionalData?.['consentPrompt']) {\n try {\n const consentPromptRawData: any = additionalData['consentPrompt'];\n const purposes: any[] =\n typeof consentPromptRawData === 'string'\n ? JSON.parse(consentPromptRawData)\n : consentPromptRawData.purposes || consentPromptRawData;\n\n // Find the action component to determine if it was a deny action\n let isDeny = false;\n if (payload.action) {\n // Flatten components to find the action\n const findAction = (comps: any[]): any => {\n if (!comps || comps.length === 0) return null;\n\n const found: any = comps.find((c: any) => c.id === payload.action);\n if (found) return found;\n\n return comps.reduce((acc: any, c: any) => {\n if (acc) return acc;\n if (c.components) return findAction(c.components);\n return null;\n }, null);\n };\n\n const submitAction: any = findAction(components);\n\n if (submitAction && submitAction.variant?.toLowerCase() !== 'primary') {\n isDeny = true;\n }\n }\n\n const decisions: any = {\n purposes: purposes.map((p: any) => ({\n approved: !isDeny,\n elements: [\n ...(p.essential || []).map((e: any) => ({\n approved: !isDeny,\n name: e.name,\n })),\n ...(p.optional || []).map((e: any) => {\n const key = `__consent_opt__${p.purposeId}__${e.name}`;\n return {\n approved: isDeny ? false : processedInputs[key] !== 'false',\n name: e.name,\n };\n }),\n ],\n purposeName: p.purposeName,\n })),\n };\n processedInputs['consent_decisions'] = JSON.stringify(decisions);\n\n // Cleanup temporary consent tracking fields from inputs\n Object.keys(processedInputs).forEach((key: string) => {\n if (key.startsWith('__consent_opt__')) {\n delete processedInputs[key];\n }\n });\n } catch (e) {\n // Failed to construct consent_decisions payload automatically\n }\n }\n\n try {\n setIsSubmitting(true);\n setFlowError(null);\n\n const response: EmbeddedSignInFlowResponseV2 = (await signIn({\n executionId: effectiveExecutionId,\n ...payload,\n inputs: processedInputs,\n ...(challengeTokenRef.current ? {challengeToken: challengeTokenRef.current} : {}),\n })) as EmbeddedSignInFlowResponseV2;\n\n if (await handleRedirection(response)) {\n return;\n }\n if (\n response.data?.additionalData?.['passkeyChallenge'] ||\n response.data?.additionalData?.['passkeyCreationOptions']\n ) {\n const {passkeyChallenge, passkeyCreationOptions}: any = response.data.additionalData;\n const effectiveExecutionIdForPasskey: any = response.executionId || effectiveExecutionId;\n\n // Reset passkey processed ref to allow processing\n passkeyProcessedRef.current = false;\n\n await setChallengeToken(response.challengeToken ?? null);\n\n // Set passkey state to trigger the passkey\n setPasskeyState({\n actionId: 'submit',\n challenge: passkeyChallenge,\n creationOptions: passkeyCreationOptions,\n error: null,\n executionId: effectiveExecutionIdForPasskey,\n isActive: true,\n });\n setIsSubmitting(false);\n\n return;\n }\n\n const {\n executionId: normalizedExecutionId,\n components: normalizedComponents,\n additionalData: normalizedAdditionalData,\n } = normalizeFlowResponse(\n response,\n t,\n {\n resolveTranslations: false,\n },\n meta,\n );\n\n // Handle Error flow status - flow has failed and is invalidated\n if (response.flowStatus === EmbeddedSignInFlowStatusV2.Error) {\n await clearFlowState();\n const err: any = new Error(extractErrorMessage(response, t));\n setError(err);\n cleanupFlowUrlParams();\n // Throw the error so it's caught by the catch block and propagated to BaseSignIn\n throw err;\n }\n\n if (response.flowStatus === EmbeddedSignInFlowStatusV2.Complete) {\n // Get redirectUrl from response (from /oauth2/auth/callback) or fall back to afterSignInUrl\n const redirectUrl: any = (response as any)?.redirectUrl || (response as any)?.redirect_uri;\n const finalRedirectUrl: any = redirectUrl || afterSignInUrl;\n\n // Clear submitting state before redirect\n setIsSubmitting(false);\n\n // Clear all OAuth-related storage on successful completion\n setExecutionId(null);\n await setChallengeToken(null);\n setIsFlowInitialized(false);\n sessionStorage.removeItem('thunderid_execution_id');\n try {\n const storageManager: any = await getStorageManager();\n await storageManager?.removeHybridDataParameter?.('authId');\n } catch {\n logger.warn('Failed to clear authId from hybrid storage after completion.');\n }\n\n // Clean up OAuth URL params before redirect\n cleanupOAuthUrlParams(true);\n\n if (onSuccess) {\n onSuccess({\n redirectUrl: finalRedirectUrl,\n ...(response.data || {}),\n });\n }\n\n if (finalRedirectUrl && window?.location) {\n window.location.href = finalRedirectUrl;\n }\n\n return;\n }\n\n // Always update challenge token on any INCOMPLETE response — token rotates every step.\n await setChallengeToken(response.challengeToken ?? null);\n\n // Update executionId if response contains a new one\n if (normalizedExecutionId && normalizedComponents) {\n setExecutionId(normalizedExecutionId);\n setComponents(normalizedComponents);\n setAdditionalData(normalizedAdditionalData ?? {});\n setIsTimeoutDisabled(false);\n // Ensure flow is marked as initialized when we have components\n setIsFlowInitialized(true);\n // Clean up executionId from URL after setting it in state\n cleanupFlowUrlParams();\n\n // Display error from INCOMPLETE response\n if ((response as any)?.error) {\n setFlowError(new Error(extractErrorMessage(response, t)));\n }\n }\n } catch (error) {\n const err: any = error;\n await clearFlowState();\n\n setError(err instanceof ThunderIDRuntimeError ? err : new Error(extractErrorMessage(err, t)));\n return;\n } finally {\n setIsSubmitting(false);\n }\n };\n\n /**\n * Handle authentication errors.\n */\n const handleError = (error: Error): void => {\n setError(error);\n };\n\n useOAuthCallback({\n currentExecutionId,\n isInitialized: isInitialized && !isLoading && isStorageReady,\n isSubmitting,\n onError: (err: any) => {\n clearFlowState();\n setError(err instanceof Error ? err : new Error(String(err)));\n },\n onSubmit: async (payload: any) => handleSubmit({executionId: payload.executionId, inputs: payload.inputs}),\n processedRef: oauthCodeProcessedRef,\n setExecutionId,\n });\n\n /**\n * Handle passkey authentication/registration when passkey state becomes active.\n * This effect auto-triggers the browser passkey popup and submits the result.\n */\n useEffect(() => {\n if (\n !passkeyState.isActive ||\n (!passkeyState.challenge && !passkeyState.creationOptions) ||\n !passkeyState.executionId\n ) {\n return;\n }\n\n // Prevent re-processing\n if (passkeyProcessedRef.current) {\n return;\n }\n passkeyProcessedRef.current = true;\n\n const performPasskeyProcess = async (): Promise<void> => {\n let inputs: Record<string, string>;\n\n if (passkeyState.challenge) {\n const passkeyResponse: any = await handlePasskeyAuthentication(passkeyState.challenge);\n const passkeyResponseObj: any = JSON.parse(passkeyResponse);\n\n inputs = {\n authenticatorData: passkeyResponseObj.response.authenticatorData,\n clientDataJSON: passkeyResponseObj.response.clientDataJSON,\n credentialId: passkeyResponseObj.id,\n signature: passkeyResponseObj.response.signature,\n userHandle: passkeyResponseObj.response.userHandle,\n };\n } else if (passkeyState.creationOptions) {\n const passkeyResponse: any = await handlePasskeyRegistration(passkeyState.creationOptions);\n const passkeyResponseObj: any = JSON.parse(passkeyResponse);\n\n inputs = {\n attestationObject: passkeyResponseObj.response.attestationObject,\n clientDataJSON: passkeyResponseObj.response.clientDataJSON,\n credentialId: passkeyResponseObj.id,\n };\n } else {\n throw new Error('No passkey challenge or creation options available');\n }\n\n await handleSubmit({\n executionId: passkeyState.executionId ?? undefined,\n inputs,\n });\n };\n\n performPasskeyProcess()\n .then(() => {\n setPasskeyState({\n actionId: null,\n challenge: null,\n creationOptions: null,\n error: null,\n executionId: null,\n isActive: false,\n });\n })\n .catch((error: any) => {\n setPasskeyState((prev: any) => ({...prev, error: error as Error, isActive: false}));\n setFlowError(error as Error);\n onError?.(error as Error);\n });\n }, [passkeyState.isActive, passkeyState.challenge, passkeyState.creationOptions, passkeyState.executionId]);\n\n if (children) {\n const renderProps: SignInRenderProps = {\n additionalData,\n components,\n error: flowError,\n initialize: initializeFlow,\n isInitialized: isFlowInitialized,\n isLoading: isLoading || isSubmitting || !isInitialized,\n isTimeoutDisabled,\n meta,\n onSubmit: handleSubmit,\n };\n\n return <>{children(renderProps)}</>;\n }\n // Otherwise, render the default BaseSignIn component\n return (\n <BaseSignIn\n additionalData={additionalData}\n components={components}\n isLoading={isLoading || !isInitialized || !isFlowInitialized}\n isTimeoutDisabled={isTimeoutDisabled}\n onSubmit={handleSubmit}\n onError={handleError}\n error={flowError}\n className={className}\n size={size}\n variant={variant}\n preferences={preferences}\n />\n );\n};\n\nexport default SignIn;\n"],"mappings":"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"}
@@ -1,451 +0,0 @@
1
- const require_rolldown_runtime = require('../../../../../_virtual/rolldown_runtime.cjs');
2
- const require_FlowProvider = require('../../../../../contexts/Flow/FlowProvider.cjs');
3
- const require_useThunderID = require('../../../../../contexts/ThunderID/useThunderID.cjs');
4
- const require_useFlow = require('../../../../../contexts/Flow/useFlow.cjs');
5
- const require_useTheme = require('../../../../../contexts/Theme/useTheme.cjs');
6
- const require_useTranslation = require('../../../../../hooks/useTranslation.cjs');
7
- const require_useForm = require('../../../../../hooks/useForm.cjs');
8
- const require_Spinner = require('../../../../primitives/Spinner/Spinner.cjs');
9
- const require_Typography = require('../../../../primitives/Typography/Typography.cjs');
10
- const require_Alert = require('../../../../primitives/Alert/Alert.cjs');
11
- const require_Card = require('../../../../primitives/Card/Card.cjs');
12
- const require_Logo = require('../../../../primitives/Logo/Logo.cjs');
13
- const require_SignUpOptionFactory = require('./SignUpOptionFactory.cjs');
14
- const require_BaseSignUp_styles = require('../BaseSignUp.styles.cjs');
15
- let __thunderid_browser = require("@thunderid/browser");
16
- __thunderid_browser = require_rolldown_runtime.__toESM(__thunderid_browser);
17
- let react = require("react");
18
- react = require_rolldown_runtime.__toESM(react);
19
- let react_jsx_runtime = require("react/jsx-runtime");
20
- react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
21
- let __emotion_css = require("@emotion/css");
22
- __emotion_css = require_rolldown_runtime.__toESM(__emotion_css);
23
-
24
- //#region src/components/presentation/auth/SignUp/v1/BaseSignUp.tsx
25
- const logger = (0, __thunderid_browser.createPackageComponentLogger)("@thunderid/react", "BaseSignUp");
26
- /**
27
- * Component that consumes FlowContext and renders the sign-up UI.
28
- *
29
- * @internal
30
- */
31
- const BaseSignUpContent = ({ afterSignUpUrl, onInitialize, onSubmit, onError, onFlowChange, onComplete, className = "", inputClassName = "", buttonClassName = "", errorClassName = "", messageClassName = "", size = "medium", variant = "outlined", isInitialized, children, showTitle = true, showSubtitle = true }) => {
32
- const { theme, colorScheme } = require_useTheme.default();
33
- const { t } = require_useTranslation.default();
34
- const { subtitle: flowSubtitle, title: flowTitle, messages: flowMessages, addMessage, clearMessages } = require_useFlow.default();
35
- require_useThunderID.default();
36
- const styles = require_BaseSignUp_styles.default(theme, colorScheme);
37
- const handleError = (0, react.useCallback)((error) => {
38
- let errorMessage = t("errors.signup.flow.failure");
39
- if (error && typeof error === "object") {
40
- if (error.code && (error.message || error.description)) errorMessage = error.description || error.message;
41
- else if (error instanceof Error && error.name === "ThunderIDAPIError") try {
42
- const errorResponse = JSON.parse(error.message);
43
- if (errorResponse.description) errorMessage = errorResponse.description;
44
- else if (errorResponse.message) errorMessage = errorResponse.message;
45
- else errorMessage = error.message;
46
- } catch {
47
- errorMessage = error.message;
48
- }
49
- else if (error.message) errorMessage = error.message;
50
- } else if (typeof error === "string") errorMessage = error;
51
- clearMessages();
52
- addMessage({
53
- message: errorMessage,
54
- type: "error"
55
- });
56
- }, [
57
- t,
58
- addMessage,
59
- clearMessages
60
- ]);
61
- const [isLoading, setIsLoading] = (0, react.useState)(false);
62
- const [isFlowInitialized, setIsFlowInitialized] = (0, react.useState)(false);
63
- const [currentFlow, setCurrentFlow] = (0, react.useState)(null);
64
- const initializationAttemptedRef = (0, react.useRef)(false);
65
- /**
66
- * Extract form fields from flow components
67
- */
68
- const extractFormFields = (0, react.useCallback)((components) => {
69
- const fields = [];
70
- const processComponents = (comps) => {
71
- comps.forEach((component) => {
72
- if (component.type === __thunderid_browser.EmbeddedFlowComponentType.Input) {
73
- const config = component.config || {};
74
- fields.push({
75
- initialValue: config.defaultValue || "",
76
- name: config.name || component.id,
77
- required: config.required || false,
78
- validator: (value) => {
79
- if (config.required && (!value || value.trim() === "")) return t("validations.required.field.error");
80
- if (config.type === "email" && value && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)) return t("field.email.invalid");
81
- if (config.type === "password" && value && value.length < 8) return t("field.password.weak");
82
- return null;
83
- }
84
- });
85
- }
86
- if (component.components && Array.isArray(component.components)) processComponents(component.components);
87
- });
88
- };
89
- processComponents(components);
90
- return fields;
91
- }, [t]);
92
- const { values: formValues, touched: touchedFields, errors: formErrors, isValid: isFormValid, setValue: setFormValue, setTouched: setFormTouched, validateForm, reset: resetForm } = require_useForm.useForm({
93
- fields: currentFlow?.data?.components ? extractFormFields(currentFlow.data.components) : [],
94
- initialValues: {},
95
- requiredMessage: t("validations.required.field.error"),
96
- validateOnBlur: true,
97
- validateOnChange: true
98
- });
99
- /**
100
- * Setup form fields based on the current flow.
101
- */
102
- const setupFormFields = (0, react.useCallback)((flowResponse) => {
103
- const fields = extractFormFields(flowResponse.data?.components || []);
104
- const initialValues = {};
105
- fields.forEach((field) => {
106
- initialValues[field.name] = field.initialValue || "";
107
- });
108
- resetForm();
109
- Object.keys(initialValues).forEach((key) => {
110
- setFormValue(key, initialValues[key]);
111
- });
112
- }, [
113
- extractFormFields,
114
- resetForm,
115
- setFormValue
116
- ]);
117
- /**
118
- * Handle input value changes.
119
- */
120
- const handleInputChange = (name, value) => {
121
- setFormValue(name, value);
122
- setFormTouched(name, true);
123
- };
124
- /**
125
- * Check if the response contains a redirection URL and perform the redirect if necessary.
126
- * @param response - The sign-up response
127
- * @returns true if a redirect was performed, false otherwise
128
- */
129
- const handleRedirectionIfNeeded = (response) => {
130
- if (response?.type === __thunderid_browser.EmbeddedFlowResponseType.Redirection && response?.data?.redirectURL) {
131
- /**
132
- * Open a popup window to handle redirection prompts for social sign-up
133
- */
134
- const redirectUrl = response.data.redirectURL;
135
- const popup = window.open(redirectUrl, "oauth_popup", "width=500,height=600,scrollbars=yes,resizable=yes");
136
- if (!popup) {
137
- logger.error("Failed to open popup window");
138
- return false;
139
- }
140
- /**
141
- * Use `let` for messageHandler and popupMonitor to resolve circular references:
142
- * messageHandler <-> cleanup <-> popupMonitor.
143
- * All are assigned before any of them can be invoked at runtime.
144
- */
145
- let hasProcessedCallback = false;
146
- let popupMonitor;
147
- let messageHandler;
148
- const cleanup = () => {
149
- window.removeEventListener("message", messageHandler);
150
- if (popupMonitor) clearInterval(popupMonitor);
151
- };
152
- /**
153
- * Add an event listener to the window to capture the message from the popup
154
- */
155
- messageHandler = async function messageEventHandler(event) {
156
- /**
157
- * Check if the message is from our popup window
158
- */
159
- if (event.source !== popup) return;
160
- /**
161
- * Check the origin of the message to ensure it's from a trusted source
162
- */
163
- const expectedOrigin = afterSignUpUrl ? new URL(afterSignUpUrl).origin : window.location.origin;
164
- if (event.origin !== expectedOrigin && event.origin !== window.location.origin) return;
165
- const { code, state } = event.data;
166
- if (code && state) {
167
- const payload = {
168
- ...currentFlow.flowId && { flowId: currentFlow.flowId },
169
- actionId: "",
170
- flowType: currentFlow.flowType || "REGISTRATION",
171
- inputs: {
172
- code,
173
- state
174
- }
175
- };
176
- try {
177
- const continueResponse = await onSubmit(payload);
178
- onFlowChange?.(continueResponse);
179
- if (continueResponse.flowStatus === __thunderid_browser.EmbeddedFlowStatus.Complete) onComplete?.(continueResponse);
180
- else if (continueResponse.flowStatus === __thunderid_browser.EmbeddedFlowStatus.Incomplete) {
181
- setCurrentFlow(continueResponse);
182
- setupFormFields(continueResponse);
183
- }
184
- popup.close();
185
- cleanup();
186
- } catch (err) {
187
- handleError(err);
188
- onError?.(err);
189
- popup.close();
190
- cleanup();
191
- }
192
- }
193
- };
194
- window.addEventListener("message", messageHandler);
195
- /**
196
- * Monitor popup for closure and URL changes
197
- */
198
- popupMonitor = setInterval(async () => {
199
- try {
200
- if (popup.closed) {
201
- cleanup();
202
- return;
203
- }
204
- if (hasProcessedCallback) return;
205
- try {
206
- const popupUrl = popup.location.href;
207
- if (popupUrl && (popupUrl.includes("code=") || popupUrl.includes("error="))) {
208
- hasProcessedCallback = true;
209
- const url = new URL(popupUrl);
210
- const code = url.searchParams.get("code");
211
- const state = url.searchParams.get("state");
212
- if (url.searchParams.get("error")) {
213
- logger.error("OAuth error:");
214
- popup.close();
215
- cleanup();
216
- return;
217
- }
218
- if (code && state) {
219
- const payload = {
220
- ...currentFlow.flowId && { flowId: currentFlow.flowId },
221
- actionId: "",
222
- flowType: currentFlow.flowType || "REGISTRATION",
223
- inputs: {
224
- code,
225
- state
226
- }
227
- };
228
- try {
229
- const continueResponse = await onSubmit(payload);
230
- onFlowChange?.(continueResponse);
231
- if (continueResponse.flowStatus === __thunderid_browser.EmbeddedFlowStatus.Complete) onComplete?.(continueResponse);
232
- else if (continueResponse.flowStatus === __thunderid_browser.EmbeddedFlowStatus.Incomplete) {
233
- setCurrentFlow(continueResponse);
234
- setupFormFields(continueResponse);
235
- }
236
- popup.close();
237
- } catch (err) {
238
- handleError(err);
239
- onError?.(err);
240
- popup.close();
241
- }
242
- }
243
- }
244
- } catch (e) {}
245
- } catch (e) {
246
- logger.error("Error monitoring popup:");
247
- }
248
- }, 1e3);
249
- return true;
250
- }
251
- return false;
252
- };
253
- /**
254
- * Handle component submission (for buttons outside forms).
255
- */
256
- const handleSubmit = async (component, data) => {
257
- if (!currentFlow) return;
258
- setIsLoading(true);
259
- clearMessages();
260
- try {
261
- const filteredInputs = {};
262
- if (data) Object.entries(data).forEach(([key, value]) => {
263
- if (value !== null && value !== void 0 && value !== "") filteredInputs[key] = value;
264
- });
265
- const actionId = component.id;
266
- const response = await onSubmit({
267
- ...currentFlow.flowId && { flowId: currentFlow.flowId },
268
- flowType: currentFlow.flowType || "REGISTRATION",
269
- inputs: filteredInputs,
270
- ...actionId && { actionId }
271
- });
272
- onFlowChange?.(response);
273
- if (response.flowStatus === __thunderid_browser.EmbeddedFlowStatus.Complete) {
274
- onComplete?.(response);
275
- return;
276
- }
277
- if (response.flowStatus === __thunderid_browser.EmbeddedFlowStatus.Incomplete) {
278
- if (handleRedirectionIfNeeded(response)) return;
279
- setCurrentFlow(response);
280
- setupFormFields(response);
281
- }
282
- } catch (err) {
283
- handleError(err);
284
- onError?.(err);
285
- } finally {
286
- setIsLoading(false);
287
- }
288
- };
289
- const containerClasses = (0, __emotion_css.cx)([
290
- (0, __thunderid_browser.withVendorCSSClassPrefix)("signup"),
291
- (0, __thunderid_browser.withVendorCSSClassPrefix)(`signup--${size}`),
292
- (0, __thunderid_browser.withVendorCSSClassPrefix)(`signup--${variant}`)
293
- ], className);
294
- const inputClasses = (0, __emotion_css.cx)([
295
- (0, __thunderid_browser.withVendorCSSClassPrefix)("signup__input"),
296
- size === "small" && (0, __thunderid_browser.withVendorCSSClassPrefix)("signup__input--small"),
297
- size === "large" && (0, __thunderid_browser.withVendorCSSClassPrefix)("signup__input--large")
298
- ], inputClassName);
299
- const buttonClasses = (0, __emotion_css.cx)([
300
- (0, __thunderid_browser.withVendorCSSClassPrefix)("signup__button"),
301
- size === "small" && (0, __thunderid_browser.withVendorCSSClassPrefix)("signup__button--small"),
302
- size === "large" && (0, __thunderid_browser.withVendorCSSClassPrefix)("signup__button--large")
303
- ], buttonClassName);
304
- const errorClasses = (0, __emotion_css.cx)([(0, __thunderid_browser.withVendorCSSClassPrefix)("signup__error")], errorClassName);
305
- const messageClasses = (0, __emotion_css.cx)([(0, __thunderid_browser.withVendorCSSClassPrefix)("signup__messages")], messageClassName);
306
- /**
307
- * Render form components based on flow data using the factory
308
- */
309
- const renderComponents = (0, react.useCallback)((components) => require_SignUpOptionFactory.renderSignUpComponents(components, formValues, touchedFields, formErrors, isLoading, isFormValid, handleInputChange, {
310
- buttonClassName: buttonClasses,
311
- inputClassName: inputClasses,
312
- onSubmit: handleSubmit,
313
- size,
314
- variant
315
- }), [
316
- formValues,
317
- touchedFields,
318
- formErrors,
319
- isFormValid,
320
- isLoading,
321
- size,
322
- variant,
323
- inputClasses,
324
- buttonClasses,
325
- handleSubmit
326
- ]);
327
- (0, react.useEffect)(() => {
328
- if (isInitialized && !isFlowInitialized && !initializationAttemptedRef.current) {
329
- initializationAttemptedRef.current = true;
330
- (async () => {
331
- setIsLoading(true);
332
- clearMessages();
333
- try {
334
- const response = await onInitialize?.();
335
- setCurrentFlow(response);
336
- setIsFlowInitialized(true);
337
- onFlowChange?.(response);
338
- if (response.flowStatus === __thunderid_browser.EmbeddedFlowStatus.Complete) {
339
- onComplete?.(response);
340
- return;
341
- }
342
- if (response.flowStatus === __thunderid_browser.EmbeddedFlowStatus.Incomplete) setupFormFields(response);
343
- } catch (err) {
344
- handleError(err);
345
- onError?.(err);
346
- } finally {
347
- setIsLoading(false);
348
- }
349
- })();
350
- }
351
- }, [
352
- isInitialized,
353
- isFlowInitialized,
354
- onInitialize,
355
- onComplete,
356
- onError,
357
- onFlowChange,
358
- setupFormFields,
359
- afterSignUpUrl,
360
- t
361
- ]);
362
- if (children) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
363
- className: containerClasses,
364
- children: children({
365
- components: currentFlow?.data?.components || [],
366
- errors: formErrors,
367
- handleInputChange,
368
- handleSubmit,
369
- isLoading,
370
- isValid: isFormValid,
371
- messages: flowMessages || [],
372
- subtitle: flowSubtitle || t("signup.subheading"),
373
- title: flowTitle || t("signup.heading"),
374
- touched: touchedFields,
375
- validateForm,
376
- values: formValues
377
- })
378
- });
379
- if (!isFlowInitialized && isLoading) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Card.default, {
380
- className: (0, __emotion_css.cx)(containerClasses, styles.card),
381
- variant,
382
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Card.default.Content, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
383
- className: styles.loadingContainer,
384
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Spinner.default, { size: "medium" })
385
- }) })
386
- });
387
- if (!currentFlow) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Card.default, {
388
- className: (0, __emotion_css.cx)(containerClasses, styles.card),
389
- variant,
390
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Card.default.Content, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Alert.default, {
391
- variant: "error",
392
- className: errorClasses,
393
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default.Title, { children: t("errors.heading") }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default.Description, { children: t("errors.signup.flow.initialization.failure") })]
394
- }) })
395
- });
396
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Card.default, {
397
- className: (0, __emotion_css.cx)(containerClasses, styles.card),
398
- variant,
399
- children: [(showTitle || showSubtitle) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Card.default.Header, {
400
- className: styles.header,
401
- children: [showTitle && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Card.default.Title, {
402
- level: 2,
403
- className: styles.title,
404
- children: flowTitle || t("signup.heading")
405
- }), showSubtitle && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.default, {
406
- variant: "body1",
407
- className: styles.subtitle,
408
- children: flowSubtitle || t("signup.subheading")
409
- })]
410
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Card.default.Content, { children: [flowMessages && flowMessages.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
411
- className: styles.flowMessagesContainer,
412
- children: flowMessages.map((message, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default, {
413
- variant: message.type?.toLowerCase() === "error" ? "error" : "info",
414
- className: (0, __emotion_css.cx)(styles.flowMessageItem, messageClasses),
415
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default.Description, { children: message.message })
416
- }, message.id || index))
417
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
418
- className: styles.contentContainer,
419
- children: currentFlow.data?.components && currentFlow.data.components.length > 0 ? renderComponents(currentFlow.data.components) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default, {
420
- variant: "warning",
421
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.default, {
422
- variant: "body1",
423
- children: t("errors.signup.components.not.available")
424
- })
425
- })
426
- })] })]
427
- });
428
- };
429
- /**
430
- * BaseSignUp component that provides embedded sign-up flow for ThunderID.
431
- * This component handles both the presentation layer and sign-up flow logic.
432
- * It accepts API functions as props to maintain framework independence.
433
- *
434
- * @internal
435
- */
436
- const BaseSignUp = ({ showLogo = true,...rest }) => {
437
- const { theme, colorScheme } = require_useTheme.default();
438
- const styles = require_BaseSignUp_styles.default(theme, colorScheme);
439
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [showLogo && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
440
- className: styles.logoContainer,
441
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Logo.default, { size: "large" })
442
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_FlowProvider.default, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BaseSignUpContent, {
443
- showLogo,
444
- ...rest
445
- }) })] });
446
- };
447
- var BaseSignUp_default = BaseSignUp;
448
-
449
- //#endregion
450
- exports.default = BaseSignUp_default;
451
- //# sourceMappingURL=BaseSignUp.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseSignUp.cjs","names":["logger: ReturnType<typeof createPackageComponentLogger>","BaseSignUpContent: FC<BaseSignUpProps>","useTheme","useTranslation","useFlow","styles: any","useStyles","handleError: any","errorMessage: string","errorResponse: any","initializationAttemptedRef: any","extractFormFields: any","fields: FormField[]","EmbeddedFlowComponentType","config: any","useForm","setupFormFields: any","fields: any","initialValues: Record<string, string>","EmbeddedFlowResponseType","redirectUrl: any","popup: any","hasProcessedCallback: any","popupMonitor: any","messageHandler: (event: MessageEvent) => Promise<void>","expectedOrigin: any","payload: EmbeddedFlowExecuteRequestPayload","continueResponse: any","EmbeddedFlowStatus","popupUrl: any","url: any","code: any","state: any","filteredInputs: Record<string, any>","actionId: string","response: any","containerClasses: any","inputClasses: any","buttonClasses: any","errorClasses: any","messageClasses: any","renderComponents: any","renderSignUpComponents","CardPrimitive","Spinner","AlertPrimitive","Typography","BaseSignUp: FC<BaseSignUpProps>","Logo","FlowProvider"],"sources":["../../../../../../../src/components/presentation/auth/SignUp/v1/BaseSignUp.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 EmbeddedFlowExecuteRequestPayload,\n EmbeddedFlowExecuteResponse,\n EmbeddedFlowStatus,\n EmbeddedFlowComponentType,\n EmbeddedFlowResponseType,\n withVendorCSSClassPrefix,\n createPackageComponentLogger,\n} from '@thunderid/browser';\nimport {FC, ReactElement, ReactNode, useEffect, useState, useCallback, useRef} from 'react';\nimport {renderSignUpComponents} from './SignUpOptionFactory';\nimport FlowProvider from '../../../../../contexts/Flow/FlowProvider';\nimport useFlow from '../../../../../contexts/Flow/useFlow';\nimport useTheme from '../../../../../contexts/Theme/useTheme';\nimport useThunderID from '../../../../../contexts/ThunderID/useThunderID';\nimport {useForm, FormField} from '../../../../../hooks/useForm';\nimport useTranslation from '../../../../../hooks/useTranslation';\nimport AlertPrimitive from '../../../../primitives/Alert/Alert';\n// eslint-disable-next-line import/no-named-as-default\nimport CardPrimitive, {CardProps} from '../../../../primitives/Card/Card';\nimport Logo from '../../../../primitives/Logo/Logo';\nimport Spinner from '../../../../primitives/Spinner/Spinner';\nimport Typography from '../../../../primitives/Typography/Typography';\nimport useStyles from '../BaseSignUp.styles';\n\nconst logger: ReturnType<typeof createPackageComponentLogger> = createPackageComponentLogger(\n '@thunderid/react',\n 'BaseSignUp',\n);\n\n/**\n * Render props for custom UI rendering\n */\nexport interface BaseSignUpRenderProps {\n /**\n * Flow components\n */\n components: any[];\n\n /**\n * Form errors\n */\n errors: Record<string, string>;\n\n /**\n * Function to handle input changes\n */\n handleInputChange: (name: string, value: string) => void;\n\n /**\n * Function to handle form submission\n */\n handleSubmit: (component: any, data?: Record<string, any>) => Promise<void>;\n\n /**\n * Loading state\n */\n isLoading: boolean;\n\n /**\n * Whether the form is valid\n */\n isValid: boolean;\n\n /**\n * Flow messages\n */\n messages: {message: string; type: string}[];\n\n /**\n * Flow subtitle\n */\n subtitle: string;\n\n /**\n * Flow title\n */\n title: string;\n\n /**\n * Touched fields\n */\n touched: Record<string, boolean>;\n\n /**\n * Function to validate the form\n */\n validateForm: () => {errors: Record<string, string>; isValid: boolean};\n\n /**\n * Form values\n */\n values: Record<string, string>;\n}\n\n/**\n * Props for the BaseSignUp component.\n */\nexport interface BaseSignUpProps {\n /**\n * URL to redirect after successful sign-up.\n */\n afterSignUpUrl?: string;\n\n /**\n * Custom CSS class name for the submit button.\n */\n buttonClassName?: string;\n\n /**\n * Render props function for custom UI\n */\n children?: (props: BaseSignUpRenderProps) => ReactNode;\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 isInitialized?: boolean;\n\n /**\n * Custom CSS class name for info messages.\n */\n messageClassName?: string;\n\n /**\n * Callback function called when the sign-up flow completes and requires redirection.\n * This allows platform-specific handling of redirects (e.g., Next.js router.push).\n * @param response - The response from the sign-up flow containing the redirect URL, etc.\n */\n onComplete?: (response: EmbeddedFlowExecuteResponse) => void;\n\n /**\n * Callback function called when sign-up fails.\n * @param error - The error that occurred during sign-up.\n */\n onError?: (error: Error) => void;\n\n /**\n * Callback function called when sign-up flow status changes.\n * @param response - The current sign-up response.\n */\n onFlowChange?: (response: EmbeddedFlowExecuteResponse) => void;\n\n /**\n * Function to initialize sign-up flow.\n * @returns Promise resolving to the initial sign-up response.\n */\n onInitialize?: (payload?: EmbeddedFlowExecuteRequestPayload) => Promise<EmbeddedFlowExecuteResponse>;\n\n /**\n * Function to handle sign-up steps.\n * @param payload - The sign-up payload.\n * @returns Promise resolving to the sign-up response.\n */\n onSubmit?: (payload: EmbeddedFlowExecuteRequestPayload) => Promise<EmbeddedFlowExecuteResponse>;\n /**\n * Whether to redirect after sign-up.\n */\n shouldRedirectAfterSignUp?: boolean;\n\n /**\n * Whether to show the logo.\n */\n showLogo?: boolean;\n\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 * Component that consumes FlowContext and renders the sign-up UI.\n *\n * @internal\n */\nconst BaseSignUpContent: FC<BaseSignUpProps> = ({\n afterSignUpUrl,\n onInitialize,\n onSubmit,\n onError,\n onFlowChange,\n onComplete,\n className = '',\n inputClassName = '',\n buttonClassName = '',\n errorClassName = '',\n messageClassName = '',\n size = 'medium',\n variant = 'outlined',\n isInitialized,\n children,\n showTitle = true,\n showSubtitle = true,\n}: BaseSignUpProps): ReactElement => {\n const {theme, colorScheme} = useTheme();\n const {t} = useTranslation();\n const {subtitle: flowSubtitle, title: flowTitle, messages: flowMessages, addMessage, clearMessages} = useFlow();\n useThunderID();\n const styles: any = useStyles(theme, colorScheme);\n\n const handleError: any = useCallback(\n (error: any) => {\n let errorMessage: string = t('errors.signup.flow.failure');\n\n if (error && typeof error === 'object') {\n // Handle ThunderID error format with code and description/message\n if (error.code && (error.message || error.description)) {\n errorMessage = error.description || error.message;\n } else if (error instanceof Error && error.name === 'ThunderIDAPIError') {\n try {\n const errorResponse: any = JSON.parse(error.message);\n if (errorResponse.description) {\n errorMessage = errorResponse.description;\n } else if (errorResponse.message) {\n errorMessage = errorResponse.message;\n } else {\n errorMessage = error.message;\n }\n } catch {\n errorMessage = error.message;\n }\n } else if (error.message) {\n errorMessage = error.message;\n }\n } else if (typeof error === 'string') {\n errorMessage = error;\n }\n\n // Clear existing messages and add the error message\n clearMessages();\n addMessage({\n message: errorMessage,\n type: 'error',\n });\n },\n [t, addMessage, clearMessages],\n );\n\n const [isLoading, setIsLoading] = useState(false);\n const [isFlowInitialized, setIsFlowInitialized] = useState(false);\n const [currentFlow, setCurrentFlow] = useState<EmbeddedFlowExecuteResponse | null>(null);\n\n const initializationAttemptedRef: any = useRef(false);\n\n /**\n * Extract form fields from flow components\n */\n const extractFormFields: any = useCallback(\n (components: any[]): FormField[] => {\n const fields: FormField[] = [];\n\n const processComponents = (comps: any[]): any => {\n comps.forEach((component: any) => {\n if (component.type === EmbeddedFlowComponentType.Input) {\n const config: any = component.config || {};\n fields.push({\n initialValue: config.defaultValue || '',\n name: config.name || component.id,\n required: config.required || false,\n validator: (value: string) => {\n if (config.required && (!value || value.trim() === '')) {\n return t('validations.required.field.error');\n }\n // Add email validation if it's an email field\n if (config.type === 'email' && value && !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value)) {\n return t('field.email.invalid');\n }\n // Add password strength validation if it's a password field\n if (config.type === 'password' && value && value.length < 8) {\n return t('field.password.weak');\n }\n return null;\n },\n });\n }\n\n if (component.components && Array.isArray(component.components)) {\n processComponents(component.components);\n }\n });\n };\n\n processComponents(components);\n return fields;\n },\n [t],\n );\n\n const formFields: any = currentFlow?.data?.components ? extractFormFields(currentFlow.data.components) : [];\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: true,\n });\n\n const {\n values: formValues,\n touched: touchedFields,\n errors: formErrors,\n isValid: isFormValid,\n setValue: setFormValue,\n setTouched: setFormTouched,\n validateForm,\n reset: resetForm,\n } = form;\n\n /**\n * Setup form fields based on the current flow.\n */\n const setupFormFields: any = useCallback(\n (flowResponse: EmbeddedFlowExecuteResponse) => {\n const fields: any = extractFormFields(flowResponse.data?.components || []);\n const initialValues: Record<string, string> = {};\n\n fields.forEach((field: any) => {\n initialValues[field.name] = field.initialValue || '';\n });\n\n resetForm();\n\n Object.keys(initialValues).forEach((key: any) => {\n setFormValue(key, initialValues[key]);\n });\n },\n [extractFormFields, resetForm, setFormValue],\n );\n\n /**\n * Handle input value changes.\n */\n const handleInputChange = (name: string, value: string): void => {\n setFormValue(name, value);\n setFormTouched(name, true);\n };\n\n /**\n * Check if the response contains a redirection URL and perform the redirect if necessary.\n * @param response - The sign-up response\n * @returns true if a redirect was performed, false otherwise\n */\n const handleRedirectionIfNeeded = (response: EmbeddedFlowExecuteResponse): boolean => {\n if (response?.type === EmbeddedFlowResponseType.Redirection && response?.data?.redirectURL) {\n /**\n * Open a popup window to handle redirection prompts for social sign-up\n */\n const redirectUrl: any = response.data.redirectURL;\n const popup: any = window.open(redirectUrl, 'oauth_popup', 'width=500,height=600,scrollbars=yes,resizable=yes');\n\n if (!popup) {\n logger.error('Failed to open popup window');\n return false;\n }\n\n /**\n * Use `let` for messageHandler and popupMonitor to resolve circular references:\n * messageHandler <-> cleanup <-> popupMonitor.\n * All are assigned before any of them can be invoked at runtime.\n */\n let hasProcessedCallback: any = false; // Prevent multiple processing\n let popupMonitor: any;\n let messageHandler: (event: MessageEvent) => Promise<void>;\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 return;\n }\n\n /**\n * Check the origin of the message to ensure it's from a trusted source\n */\n const expectedOrigin: any = afterSignUpUrl ? new URL(afterSignUpUrl).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: EmbeddedFlowExecuteRequestPayload = {\n ...(currentFlow!.flowId && {flowId: currentFlow!.flowId}),\n actionId: '',\n flowType: (currentFlow as any).flowType || 'REGISTRATION',\n inputs: {\n code,\n state,\n },\n } as any;\n\n try {\n const continueResponse: any = await onSubmit!(payload);\n onFlowChange?.(continueResponse);\n\n if (continueResponse.flowStatus === EmbeddedFlowStatus.Complete) {\n onComplete?.(continueResponse);\n } else if (continueResponse.flowStatus === EmbeddedFlowStatus.Incomplete) {\n setCurrentFlow(continueResponse);\n setupFormFields(continueResponse);\n }\n\n popup.close();\n cleanup();\n } catch (err) {\n handleError(err);\n onError?.(err as Error);\n popup.close();\n cleanup();\n }\n }\n };\n\n window.addEventListener('message', messageHandler);\n\n /**\n * Monitor popup for closure and URL changes\n */\n popupMonitor = setInterval(async () => {\n try {\n if (popup.closed) {\n cleanup();\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: any = 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: any = new URL(popupUrl);\n const code: any = url.searchParams.get('code');\n const state: any = url.searchParams.get('state');\n const error: any = url.searchParams.get('error');\n\n if (error) {\n logger.error('OAuth error:');\n popup.close();\n cleanup();\n return;\n }\n\n if (code && state) {\n const payload: EmbeddedFlowExecuteRequestPayload = {\n ...(currentFlow!.flowId && {flowId: currentFlow!.flowId}),\n actionId: '',\n flowType: (currentFlow as any).flowType || 'REGISTRATION',\n inputs: {\n code,\n state,\n },\n } as any;\n\n try {\n const continueResponse: any = await onSubmit!(payload);\n onFlowChange?.(continueResponse);\n\n if (continueResponse.flowStatus === EmbeddedFlowStatus.Complete) {\n onComplete?.(continueResponse);\n } else if (continueResponse.flowStatus === EmbeddedFlowStatus.Incomplete) {\n setCurrentFlow(continueResponse);\n setupFormFields(continueResponse);\n }\n\n popup.close();\n } catch (err) {\n handleError(err);\n onError?.(err as Error);\n popup.close();\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 component submission (for buttons outside forms).\n */\n const handleSubmit = async (component: any, data?: Record<string, any>): Promise<void> => {\n if (!currentFlow) {\n return;\n }\n\n setIsLoading(true);\n clearMessages();\n\n try {\n // Filter out empty or undefined input values\n const filteredInputs: Record<string, any> = {};\n if (data) {\n Object.entries(data).forEach(([key, value]: [string, any]) => {\n if (value !== null && value !== undefined && value !== '') {\n filteredInputs[key] = value;\n }\n });\n }\n\n const actionId: string = component.id;\n\n const payload: EmbeddedFlowExecuteRequestPayload = {\n ...(currentFlow.flowId && {flowId: currentFlow.flowId}),\n flowType: (currentFlow as any).flowType || 'REGISTRATION',\n inputs: filteredInputs,\n ...(actionId && {actionId: actionId}),\n } as any;\n\n const response: any = await onSubmit!(payload);\n onFlowChange?.(response);\n\n if (response.flowStatus === EmbeddedFlowStatus.Complete) {\n onComplete?.(response);\n return;\n }\n\n if (response.flowStatus === EmbeddedFlowStatus.Incomplete) {\n if (handleRedirectionIfNeeded(response)) {\n return;\n }\n\n setCurrentFlow(response);\n setupFormFields(response);\n }\n } catch (err) {\n handleError(err);\n onError?.(err as Error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const containerClasses: any = cx(\n [\n withVendorCSSClassPrefix('signup'),\n withVendorCSSClassPrefix(`signup--${size}`),\n withVendorCSSClassPrefix(`signup--${variant}`),\n ],\n className,\n );\n\n const inputClasses: any = cx(\n [\n withVendorCSSClassPrefix('signup__input'),\n size === 'small' && withVendorCSSClassPrefix('signup__input--small'),\n size === 'large' && withVendorCSSClassPrefix('signup__input--large'),\n ],\n inputClassName,\n );\n\n const buttonClasses: any = cx(\n [\n withVendorCSSClassPrefix('signup__button'),\n size === 'small' && withVendorCSSClassPrefix('signup__button--small'),\n size === 'large' && withVendorCSSClassPrefix('signup__button--large'),\n ],\n buttonClassName,\n );\n\n const errorClasses: any = cx([withVendorCSSClassPrefix('signup__error')], errorClassName);\n\n const messageClasses: any = cx([withVendorCSSClassPrefix('signup__messages')], messageClassName);\n\n /**\n * Render form components based on flow data using the factory\n */\n const renderComponents: any = useCallback(\n (components: any[]): ReactElement[] =>\n renderSignUpComponents(\n components,\n formValues,\n touchedFields,\n formErrors,\n isLoading,\n isFormValid,\n handleInputChange,\n {\n buttonClassName: buttonClasses,\n inputClassName: inputClasses,\n onSubmit: handleSubmit,\n size,\n variant,\n },\n ),\n [\n formValues,\n touchedFields,\n formErrors,\n isFormValid,\n isLoading,\n size,\n variant,\n inputClasses,\n buttonClasses,\n handleSubmit,\n ],\n );\n\n // Initialize the flow on component mount\n useEffect(() => {\n if (isInitialized && !isFlowInitialized && !initializationAttemptedRef.current) {\n initializationAttemptedRef.current = true;\n\n (async (): Promise<void> => {\n setIsLoading(true);\n clearMessages();\n\n try {\n const response: any = await onInitialize?.();\n\n setCurrentFlow(response);\n setIsFlowInitialized(true);\n onFlowChange?.(response);\n\n if (response.flowStatus === EmbeddedFlowStatus.Complete) {\n onComplete?.(response);\n return;\n }\n\n if (response.flowStatus === EmbeddedFlowStatus.Incomplete) {\n setupFormFields(response);\n }\n } catch (err) {\n handleError(err);\n onError?.(err as Error);\n } finally {\n setIsLoading(false);\n }\n })();\n }\n }, [\n isInitialized,\n isFlowInitialized,\n onInitialize,\n onComplete,\n onError,\n onFlowChange,\n setupFormFields,\n afterSignUpUrl,\n t,\n ]);\n\n // If render props are provided, use them\n if (children) {\n const renderProps: BaseSignUpRenderProps = {\n components: currentFlow?.data?.components || [],\n errors: formErrors,\n handleInputChange,\n handleSubmit,\n isLoading,\n isValid: isFormValid,\n messages: flowMessages || [],\n subtitle: flowSubtitle || t('signup.subheading'),\n title: flowTitle || t('signup.heading'),\n touched: touchedFields,\n validateForm,\n values: formValues,\n };\n\n return <div className={containerClasses}>{children(renderProps)}</div>;\n }\n\n if (!isFlowInitialized && isLoading) {\n return (\n <CardPrimitive className={cx(containerClasses, styles.card)} variant={variant}>\n <CardPrimitive.Content>\n <div className={styles.loadingContainer}>\n <Spinner size=\"medium\" />\n </div>\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n }\n\n if (!currentFlow) {\n return (\n <CardPrimitive className={cx(containerClasses, styles.card)} variant={variant}>\n <CardPrimitive.Content>\n <AlertPrimitive variant=\"error\" className={errorClasses}>\n <AlertPrimitive.Title>{t('errors.heading')}</AlertPrimitive.Title>\n <AlertPrimitive.Description>{t('errors.signup.flow.initialization.failure')}</AlertPrimitive.Description>\n </AlertPrimitive>\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n }\n\n return (\n <CardPrimitive className={cx(containerClasses, styles.card)} variant={variant}>\n {(showTitle || showSubtitle) && (\n <CardPrimitive.Header className={styles.header}>\n {showTitle && (\n <CardPrimitive.Title level={2} className={styles.title}>\n {flowTitle || t('signup.heading')}\n </CardPrimitive.Title>\n )}\n {showSubtitle && (\n <Typography variant=\"body1\" className={styles.subtitle}>\n {flowSubtitle || t('signup.subheading')}\n </Typography>\n )}\n </CardPrimitive.Header>\n )}\n <CardPrimitive.Content>\n {flowMessages && flowMessages.length > 0 && (\n <div className={styles.flowMessagesContainer}>\n {flowMessages.map((message: any, index: number) => (\n <AlertPrimitive\n key={message.id || index}\n variant={message.type?.toLowerCase() === 'error' ? 'error' : 'info'}\n className={cx(styles.flowMessageItem, messageClasses)}\n >\n <AlertPrimitive.Description>{message.message}</AlertPrimitive.Description>\n </AlertPrimitive>\n ))}\n </div>\n )}\n <div className={styles.contentContainer}>\n {currentFlow.data?.components && currentFlow.data.components.length > 0 ? (\n renderComponents(currentFlow.data.components)\n ) : (\n <AlertPrimitive variant=\"warning\">\n <Typography variant=\"body1\">{t('errors.signup.components.not.available')}</Typography>\n </AlertPrimitive>\n )}\n </div>\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n};\n\n/**\n * BaseSignUp component that provides embedded sign-up flow for ThunderID.\n * This component handles both the presentation layer and sign-up flow logic.\n * It accepts API functions as props to maintain framework independence.\n *\n * @internal\n */\nconst BaseSignUp: FC<BaseSignUpProps> = ({showLogo = true, ...rest}: BaseSignUpProps): ReactElement => {\n const {theme, colorScheme} = useTheme();\n const styles: any = useStyles(theme, colorScheme);\n\n return (\n <div>\n {showLogo && (\n <div className={styles.logoContainer}>\n <Logo size=\"large\" />\n </div>\n )}\n <FlowProvider>\n <BaseSignUpContent showLogo={showLogo} {...rest} />\n </FlowProvider>\n </div>\n );\n};\n\nexport default BaseSignUp;\n"],"mappings":"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"}