@thunderid/react 0.2.0 → 0.3.3

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 (475) hide show
  1. package/dist/ThunderIDReactClient.d.ts +4 -4
  2. package/dist/ThunderIDReactClient.d.ts.map +1 -1
  3. package/dist/ThunderIDReactClient.js +6 -6
  4. package/dist/ThunderIDReactClient.js.map +1 -1
  5. package/dist/cjs/ThunderIDReactClient.cjs +5 -5
  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/CreateOrganization/BaseCreateOrganization.cjs +1 -1
  18. package/dist/cjs/components/presentation/OrganizationProfile/BaseOrganizationProfile.cjs +1 -1
  19. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs +3 -3
  20. package/dist/cjs/components/presentation/auth/AcceptInvite/{v2/AcceptInvite.cjs → AcceptInvite.cjs} +2 -2
  21. package/dist/cjs/components/presentation/auth/AcceptInvite/AcceptInvite.cjs.map +1 -0
  22. package/dist/cjs/components/presentation/auth/AcceptInvite/{v2/BaseAcceptInvite.cjs → BaseAcceptInvite.cjs} +47 -18
  23. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.cjs.map +1 -0
  24. package/dist/cjs/components/presentation/auth/AcceptInvite/{v2/BaseAcceptInvite.styles.cjs → BaseAcceptInvite.styles.cjs} +2 -2
  25. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.cjs.map +1 -0
  26. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs +50 -32
  27. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs.map +1 -1
  28. package/dist/cjs/components/presentation/auth/InviteUser/{v2/BaseInviteUser.cjs → BaseInviteUser.cjs} +44 -15
  29. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.cjs.map +1 -0
  30. package/dist/cjs/components/presentation/auth/InviteUser/{v2/BaseInviteUser.styles.cjs → BaseInviteUser.styles.cjs} +2 -2
  31. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.styles.cjs.map +1 -0
  32. package/dist/cjs/components/presentation/auth/InviteUser/{v2/InviteUser.cjs → InviteUser.cjs} +3 -3
  33. package/dist/cjs/components/presentation/auth/InviteUser/InviteUser.cjs.map +1 -0
  34. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/{v2/OrganizationUnitPicker.cjs → OrganizationUnitPicker.cjs} +3 -3
  35. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.cjs.map +1 -0
  36. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/{v2/OrganizationUnitPicker.styles.cjs → OrganizationUnitPicker.styles.cjs} +2 -2
  37. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.cjs.map +1 -0
  38. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs +389 -8
  39. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs.map +1 -1
  40. package/dist/cjs/components/presentation/auth/Recovery/Recovery.cjs +51 -22
  41. package/dist/cjs/components/presentation/auth/Recovery/Recovery.cjs.map +1 -1
  42. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs +346 -8
  43. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs.map +1 -1
  44. package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs +547 -36
  45. package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs.map +1 -1
  46. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs +691 -8
  47. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs.map +1 -1
  48. package/dist/cjs/components/presentation/auth/SignUp/SignUp.cjs +66 -76
  49. package/dist/cjs/components/presentation/auth/SignUp/SignUp.cjs.map +1 -1
  50. package/dist/cjs/components/primitives/Alert/Alert.cjs +1 -1
  51. package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs +1 -1
  52. package/dist/cjs/components/primitives/FormControl/FormControl.cjs +1 -1
  53. package/dist/cjs/components/primitives/Toggle/Toggle.cjs +1 -1
  54. package/dist/cjs/contexts/ComponentRenderer/ComponentRendererContext.cjs.map +1 -1
  55. package/dist/cjs/contexts/FlowMeta/FlowMetaProvider.cjs +5 -7
  56. package/dist/cjs/contexts/FlowMeta/FlowMetaProvider.cjs.map +1 -1
  57. package/dist/cjs/contexts/Theme/ThemeProvider.cjs +76 -37
  58. package/dist/cjs/contexts/Theme/ThemeProvider.cjs.map +1 -1
  59. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs +0 -1
  60. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs.map +1 -1
  61. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs +0 -3
  62. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  63. package/dist/cjs/hooks/{v2/useOAuthCallback.cjs → useOAuthCallback.cjs} +2 -2
  64. package/dist/cjs/hooks/useOAuthCallback.cjs.map +1 -0
  65. package/dist/cjs/index.cjs +47 -50
  66. package/dist/cjs/utils/{v2/buildThemeConfigFromFlowMeta.cjs → buildThemeConfigFromFlowMeta.cjs} +1 -1
  67. package/dist/cjs/utils/buildThemeConfigFromFlowMeta.cjs.map +1 -0
  68. package/dist/cjs/utils/{v2/flowTransformer.cjs → flowTransformer.cjs} +1 -1
  69. package/dist/cjs/utils/flowTransformer.cjs.map +1 -0
  70. package/dist/cjs/utils/{v2/getAuthComponentHeadings.cjs → getAuthComponentHeadings.cjs} +1 -1
  71. package/dist/cjs/utils/getAuthComponentHeadings.cjs.map +1 -0
  72. package/dist/cjs/utils/{v2/passkey.cjs → passkey.cjs} +2 -2
  73. package/dist/cjs/utils/passkey.cjs.map +1 -0
  74. package/dist/cjs/utils/{v2/resolveTranslationsInArray.cjs → resolveTranslationsInArray.cjs} +1 -1
  75. package/dist/cjs/utils/resolveTranslationsInArray.cjs.map +1 -0
  76. package/dist/cjs/utils/{v2/resolveTranslationsInObject.cjs → resolveTranslationsInObject.cjs} +2 -2
  77. package/dist/cjs/utils/resolveTranslationsInObject.cjs.map +1 -0
  78. package/dist/components/actions/SignInButton/SignInButton.d.ts.map +1 -1
  79. package/dist/components/actions/SignInButton/SignInButton.js.map +1 -1
  80. package/dist/components/adapters/Consent.d.ts +1 -1
  81. package/dist/components/adapters/Consent.d.ts.map +1 -1
  82. package/dist/components/adapters/Consent.js.map +1 -1
  83. package/dist/components/adapters/ConsentCheckboxList.d.ts +1 -1
  84. package/dist/components/adapters/ConsentCheckboxList.d.ts.map +1 -1
  85. package/dist/components/adapters/ConsentCheckboxList.js +1 -1
  86. package/dist/components/adapters/ConsentCheckboxList.js.map +1 -1
  87. package/dist/components/auth/Callback/Callback.d.ts +1 -1
  88. package/dist/components/auth/Callback/Callback.js +1 -1
  89. package/dist/components/auth/Callback/Callback.js.map +1 -1
  90. package/dist/components/auth/Callback/TokenCallback.js +4 -4
  91. package/dist/components/auth/Callback/TokenCallback.js.map +1 -1
  92. package/dist/components/factories/FieldFactory.d.ts +2 -2
  93. package/dist/components/factories/FieldFactory.js +2 -2
  94. package/dist/components/factories/FieldFactory.js.map +1 -1
  95. package/dist/components/presentation/CreateOrganization/BaseCreateOrganization.js +1 -1
  96. package/dist/components/presentation/OrganizationProfile/BaseOrganizationProfile.js +1 -1
  97. package/dist/components/presentation/UserProfile/BaseUserProfile.js +3 -3
  98. package/dist/components/presentation/auth/AcceptInvite/AcceptInvite.d.ts.map +1 -0
  99. package/dist/components/presentation/auth/AcceptInvite/{v2/AcceptInvite.js → AcceptInvite.js} +1 -1
  100. package/dist/components/presentation/auth/AcceptInvite/AcceptInvite.js.map +1 -0
  101. package/dist/components/presentation/auth/AcceptInvite/{v2/BaseAcceptInvite.d.ts → BaseAcceptInvite.d.ts} +3 -2
  102. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.d.ts.map +1 -0
  103. package/dist/components/presentation/auth/AcceptInvite/{v2/BaseAcceptInvite.js → BaseAcceptInvite.js} +45 -17
  104. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.js.map +1 -0
  105. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.d.ts.map +1 -0
  106. package/dist/components/presentation/auth/AcceptInvite/{v2/BaseAcceptInvite.styles.js → BaseAcceptInvite.styles.js} +1 -1
  107. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.js.map +1 -0
  108. package/dist/components/presentation/auth/AcceptInvite/index.d.ts +4 -4
  109. package/dist/components/presentation/auth/AcceptInvite/index.d.ts.map +1 -1
  110. package/dist/components/presentation/auth/AuthOptionFactory.d.ts +1 -1
  111. package/dist/components/presentation/auth/AuthOptionFactory.d.ts.map +1 -1
  112. package/dist/components/presentation/auth/AuthOptionFactory.js +51 -33
  113. package/dist/components/presentation/auth/AuthOptionFactory.js.map +1 -1
  114. package/dist/components/presentation/auth/InviteUser/{v2/BaseInviteUser.d.ts → BaseInviteUser.d.ts} +3 -2
  115. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.d.ts.map +1 -0
  116. package/dist/components/presentation/auth/InviteUser/{v2/BaseInviteUser.js → BaseInviteUser.js} +44 -15
  117. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.js.map +1 -0
  118. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.d.ts.map +1 -0
  119. package/dist/components/presentation/auth/InviteUser/{v2/BaseInviteUser.styles.js → BaseInviteUser.styles.js} +1 -1
  120. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.js.map +1 -0
  121. package/dist/components/presentation/auth/InviteUser/InviteUser.d.ts.map +1 -0
  122. package/dist/components/presentation/auth/InviteUser/{v2/InviteUser.js → InviteUser.js} +2 -2
  123. package/dist/components/presentation/auth/InviteUser/InviteUser.js.map +1 -0
  124. package/dist/components/presentation/auth/InviteUser/index.d.ts +4 -4
  125. package/dist/components/presentation/auth/InviteUser/index.d.ts.map +1 -1
  126. package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.d.ts.map +1 -0
  127. package/dist/components/presentation/auth/OrganizationUnitPicker/{v2/OrganizationUnitPicker.js → OrganizationUnitPicker.js} +2 -2
  128. package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.js.map +1 -0
  129. package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.d.ts.map +1 -0
  130. package/dist/components/presentation/auth/OrganizationUnitPicker/{v2/OrganizationUnitPicker.styles.js → OrganizationUnitPicker.styles.js} +1 -1
  131. package/dist/components/presentation/auth/OrganizationUnitPicker/OrganizationUnitPicker.styles.js.map +1 -0
  132. package/dist/components/presentation/auth/OrganizationUnitPicker/index.d.ts +2 -2
  133. package/dist/components/presentation/auth/OrganizationUnitPicker/index.d.ts.map +1 -1
  134. package/dist/components/presentation/auth/Recovery/BaseRecovery.d.ts +63 -4
  135. package/dist/components/presentation/auth/Recovery/BaseRecovery.d.ts.map +1 -1
  136. package/dist/components/presentation/auth/Recovery/BaseRecovery.js +389 -10
  137. package/dist/components/presentation/auth/Recovery/BaseRecovery.js.map +1 -1
  138. package/dist/components/presentation/auth/Recovery/Recovery.d.ts +21 -22
  139. package/dist/components/presentation/auth/Recovery/Recovery.d.ts.map +1 -1
  140. package/dist/components/presentation/auth/Recovery/Recovery.js +51 -23
  141. package/dist/components/presentation/auth/Recovery/Recovery.js.map +1 -1
  142. package/dist/components/presentation/auth/SignIn/BaseSignIn.d.ts +213 -6
  143. package/dist/components/presentation/auth/SignIn/BaseSignIn.d.ts.map +1 -1
  144. package/dist/components/presentation/auth/SignIn/BaseSignIn.js +346 -10
  145. package/dist/components/presentation/auth/SignIn/BaseSignIn.js.map +1 -1
  146. package/dist/components/presentation/auth/SignIn/SignIn.d.ts +122 -13
  147. package/dist/components/presentation/auth/SignIn/SignIn.d.ts.map +1 -1
  148. package/dist/components/presentation/auth/SignIn/SignIn.js +548 -38
  149. package/dist/components/presentation/auth/SignIn/SignIn.js.map +1 -1
  150. package/dist/components/presentation/auth/SignUp/BaseSignUp.d.ts +164 -6
  151. package/dist/components/presentation/auth/SignUp/BaseSignUp.d.ts.map +1 -1
  152. package/dist/components/presentation/auth/SignUp/BaseSignUp.js +691 -10
  153. package/dist/components/presentation/auth/SignUp/BaseSignUp.js.map +1 -1
  154. package/dist/components/presentation/auth/SignUp/SignUp.d.ts +15 -74
  155. package/dist/components/presentation/auth/SignUp/SignUp.d.ts.map +1 -1
  156. package/dist/components/presentation/auth/SignUp/SignUp.js +67 -77
  157. package/dist/components/presentation/auth/SignUp/SignUp.js.map +1 -1
  158. package/dist/components/primitives/Alert/Alert.js +1 -1
  159. package/dist/components/primitives/Checkbox/Checkbox.js +1 -1
  160. package/dist/components/primitives/FormControl/FormControl.js +1 -1
  161. package/dist/components/primitives/Toggle/Toggle.js +1 -1
  162. package/dist/contexts/ComponentRenderer/ComponentRendererContext.d.ts +1 -1
  163. package/dist/contexts/ComponentRenderer/ComponentRendererContext.d.ts.map +1 -1
  164. package/dist/contexts/ComponentRenderer/ComponentRendererContext.js.map +1 -1
  165. package/dist/contexts/FlowMeta/FlowMetaProvider.d.ts.map +1 -1
  166. package/dist/contexts/FlowMeta/FlowMetaProvider.js +6 -8
  167. package/dist/contexts/FlowMeta/FlowMetaProvider.js.map +1 -1
  168. package/dist/contexts/Theme/ThemeProvider.d.ts +19 -39
  169. package/dist/contexts/Theme/ThemeProvider.d.ts.map +1 -1
  170. package/dist/contexts/Theme/ThemeProvider.js +76 -38
  171. package/dist/contexts/Theme/ThemeProvider.js.map +1 -1
  172. package/dist/contexts/ThunderID/ThunderIDContext.d.ts +1 -2
  173. package/dist/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -1
  174. package/dist/contexts/ThunderID/ThunderIDContext.js +0 -1
  175. package/dist/contexts/ThunderID/ThunderIDContext.js.map +1 -1
  176. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  177. package/dist/contexts/ThunderID/ThunderIDProvider.js +1 -4
  178. package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  179. package/dist/hooks/useOAuthCallback.d.ts.map +1 -0
  180. package/dist/hooks/{v2/useOAuthCallback.js → useOAuthCallback.js} +1 -1
  181. package/dist/hooks/useOAuthCallback.js.map +1 -0
  182. package/dist/index.d.ts +3 -9
  183. package/dist/index.d.ts.map +1 -1
  184. package/dist/index.js +28 -35
  185. package/dist/utils/buildThemeConfigFromFlowMeta.d.ts.map +1 -0
  186. package/dist/utils/{v2/buildThemeConfigFromFlowMeta.js → buildThemeConfigFromFlowMeta.js} +1 -1
  187. package/dist/utils/buildThemeConfigFromFlowMeta.js.map +1 -0
  188. package/dist/utils/{v2/flowTransformer.d.ts → flowTransformer.d.ts} +3 -3
  189. package/dist/utils/flowTransformer.d.ts.map +1 -0
  190. package/dist/utils/{v2/flowTransformer.js → flowTransformer.js} +1 -1
  191. package/dist/utils/flowTransformer.js.map +1 -0
  192. package/dist/utils/{v2/getAuthComponentHeadings.d.ts → getAuthComponentHeadings.d.ts} +1 -1
  193. package/dist/utils/getAuthComponentHeadings.d.ts.map +1 -0
  194. package/dist/utils/{v2/getAuthComponentHeadings.js → getAuthComponentHeadings.js} +1 -1
  195. package/dist/utils/getAuthComponentHeadings.js.map +1 -0
  196. package/dist/utils/passkey.d.ts.map +1 -0
  197. package/dist/utils/{v2/passkey.js → passkey.js} +1 -1
  198. package/dist/utils/passkey.js.map +1 -0
  199. package/dist/utils/{v2/resolveTranslationsInArray.d.ts → resolveTranslationsInArray.d.ts} +1 -1
  200. package/dist/utils/resolveTranslationsInArray.d.ts.map +1 -0
  201. package/dist/utils/{v2/resolveTranslationsInArray.js → resolveTranslationsInArray.js} +1 -1
  202. package/dist/utils/resolveTranslationsInArray.js.map +1 -0
  203. package/dist/utils/{v2/resolveTranslationsInObject.d.ts → resolveTranslationsInObject.d.ts} +1 -1
  204. package/dist/utils/resolveTranslationsInObject.d.ts.map +1 -0
  205. package/dist/utils/{v2/resolveTranslationsInObject.js → resolveTranslationsInObject.js} +1 -1
  206. package/dist/utils/resolveTranslationsInObject.js.map +1 -0
  207. package/package.json +10 -10
  208. package/dist/cjs/components/adapters/CheckboxInput.cjs +0 -30
  209. package/dist/cjs/components/adapters/CheckboxInput.cjs.map +0 -1
  210. package/dist/cjs/components/adapters/DateInput.cjs +0 -30
  211. package/dist/cjs/components/adapters/DateInput.cjs.map +0 -1
  212. package/dist/cjs/components/adapters/DividerComponent.cjs +0 -24
  213. package/dist/cjs/components/adapters/DividerComponent.cjs.map +0 -1
  214. package/dist/cjs/components/adapters/EmailInput.cjs +0 -30
  215. package/dist/cjs/components/adapters/EmailInput.cjs.map +0 -1
  216. package/dist/cjs/components/adapters/FormContainer.cjs +0 -36
  217. package/dist/cjs/components/adapters/FormContainer.cjs.map +0 -1
  218. package/dist/cjs/components/adapters/NumberInput.cjs +0 -30
  219. package/dist/cjs/components/adapters/NumberInput.cjs.map +0 -1
  220. package/dist/cjs/components/adapters/PasswordInput.cjs +0 -52
  221. package/dist/cjs/components/adapters/PasswordInput.cjs.map +0 -1
  222. package/dist/cjs/components/adapters/SelectInput.cjs +0 -36
  223. package/dist/cjs/components/adapters/SelectInput.cjs.map +0 -1
  224. package/dist/cjs/components/adapters/SubmitButton.cjs +0 -61
  225. package/dist/cjs/components/adapters/SubmitButton.cjs.map +0 -1
  226. package/dist/cjs/components/adapters/TelephoneInput.cjs +0 -32
  227. package/dist/cjs/components/adapters/TelephoneInput.cjs.map +0 -1
  228. package/dist/cjs/components/adapters/TextInput.cjs +0 -30
  229. package/dist/cjs/components/adapters/TextInput.cjs.map +0 -1
  230. package/dist/cjs/components/adapters/Typography.cjs +0 -60
  231. package/dist/cjs/components/adapters/Typography.cjs.map +0 -1
  232. package/dist/cjs/components/presentation/auth/AcceptInvite/v2/AcceptInvite.cjs.map +0 -1
  233. package/dist/cjs/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.cjs.map +0 -1
  234. package/dist/cjs/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.cjs.map +0 -1
  235. package/dist/cjs/components/presentation/auth/InviteUser/v2/BaseInviteUser.cjs.map +0 -1
  236. package/dist/cjs/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.cjs.map +0 -1
  237. package/dist/cjs/components/presentation/auth/InviteUser/v2/InviteUser.cjs.map +0 -1
  238. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.cjs.map +0 -1
  239. package/dist/cjs/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.cjs.map +0 -1
  240. package/dist/cjs/components/presentation/auth/Recovery/v1/BaseRecovery.cjs +0 -293
  241. package/dist/cjs/components/presentation/auth/Recovery/v1/BaseRecovery.cjs.map +0 -1
  242. package/dist/cjs/components/presentation/auth/Recovery/v1/Recovery.cjs +0 -43
  243. package/dist/cjs/components/presentation/auth/Recovery/v1/Recovery.cjs.map +0 -1
  244. package/dist/cjs/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.cjs +0 -163
  245. package/dist/cjs/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.cjs.map +0 -1
  246. package/dist/cjs/components/presentation/auth/Recovery/v2/BaseRecovery.cjs +0 -378
  247. package/dist/cjs/components/presentation/auth/Recovery/v2/BaseRecovery.cjs.map +0 -1
  248. package/dist/cjs/components/presentation/auth/Recovery/v2/Recovery.cjs +0 -78
  249. package/dist/cjs/components/presentation/auth/Recovery/v2/Recovery.cjs.map +0 -1
  250. package/dist/cjs/components/presentation/auth/SignIn/v1/BaseSignIn.cjs +0 -734
  251. package/dist/cjs/components/presentation/auth/SignIn/v1/BaseSignIn.cjs.map +0 -1
  252. package/dist/cjs/components/presentation/auth/SignIn/v1/options/EmailOtp.cjs +0 -68
  253. package/dist/cjs/components/presentation/auth/SignIn/v1/options/EmailOtp.cjs.map +0 -1
  254. package/dist/cjs/components/presentation/auth/SignIn/v1/options/IdentifierFirst.cjs +0 -59
  255. package/dist/cjs/components/presentation/auth/SignIn/v1/options/IdentifierFirst.cjs.map +0 -1
  256. package/dist/cjs/components/presentation/auth/SignIn/v1/options/MultiOptionButton.cjs +0 -139
  257. package/dist/cjs/components/presentation/auth/SignIn/v1/options/MultiOptionButton.cjs.map +0 -1
  258. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.cjs +0 -147
  259. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.cjs.map +0 -1
  260. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SmsOtp.cjs +0 -68
  261. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SmsOtp.cjs.map +0 -1
  262. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SocialButton.cjs +0 -38
  263. package/dist/cjs/components/presentation/auth/SignIn/v1/options/SocialButton.cjs.map +0 -1
  264. package/dist/cjs/components/presentation/auth/SignIn/v1/options/Totp.cjs +0 -68
  265. package/dist/cjs/components/presentation/auth/SignIn/v1/options/Totp.cjs.map +0 -1
  266. package/dist/cjs/components/presentation/auth/SignIn/v1/options/UsernamePassword.cjs +0 -60
  267. package/dist/cjs/components/presentation/auth/SignIn/v1/options/UsernamePassword.cjs.map +0 -1
  268. package/dist/cjs/components/presentation/auth/SignIn/v2/BaseSignIn.cjs +0 -330
  269. package/dist/cjs/components/presentation/auth/SignIn/v2/BaseSignIn.cjs.map +0 -1
  270. package/dist/cjs/components/presentation/auth/SignIn/v2/SignIn.cjs +0 -560
  271. package/dist/cjs/components/presentation/auth/SignIn/v2/SignIn.cjs.map +0 -1
  272. package/dist/cjs/components/presentation/auth/SignUp/v1/BaseSignUp.cjs +0 -451
  273. package/dist/cjs/components/presentation/auth/SignUp/v1/BaseSignUp.cjs.map +0 -1
  274. package/dist/cjs/components/presentation/auth/SignUp/v1/SignUp.cjs +0 -54
  275. package/dist/cjs/components/presentation/auth/SignUp/v1/SignUp.cjs.map +0 -1
  276. package/dist/cjs/components/presentation/auth/SignUp/v1/SignUpOptionFactory.cjs +0 -164
  277. package/dist/cjs/components/presentation/auth/SignUp/v1/SignUpOptionFactory.cjs.map +0 -1
  278. package/dist/cjs/components/presentation/auth/SignUp/v2/BaseSignUp.cjs +0 -656
  279. package/dist/cjs/components/presentation/auth/SignUp/v2/BaseSignUp.cjs.map +0 -1
  280. package/dist/cjs/components/presentation/auth/SignUp/v2/SignUp.cjs +0 -80
  281. package/dist/cjs/components/presentation/auth/SignUp/v2/SignUp.cjs.map +0 -1
  282. package/dist/cjs/contexts/Theme/v1/ThemeProvider.cjs +0 -190
  283. package/dist/cjs/contexts/Theme/v1/ThemeProvider.cjs.map +0 -1
  284. package/dist/cjs/contexts/Theme/v2/ThemeProvider.cjs +0 -108
  285. package/dist/cjs/contexts/Theme/v2/ThemeProvider.cjs.map +0 -1
  286. package/dist/cjs/hooks/v2/useOAuthCallback.cjs.map +0 -1
  287. package/dist/cjs/utils/v2/buildThemeConfigFromFlowMeta.cjs.map +0 -1
  288. package/dist/cjs/utils/v2/flowTransformer.cjs.map +0 -1
  289. package/dist/cjs/utils/v2/getAuthComponentHeadings.cjs.map +0 -1
  290. package/dist/cjs/utils/v2/passkey.cjs.map +0 -1
  291. package/dist/cjs/utils/v2/resolveTranslationsInArray.cjs.map +0 -1
  292. package/dist/cjs/utils/v2/resolveTranslationsInObject.cjs.map +0 -1
  293. package/dist/components/adapters/CheckboxInput.d.ts +0 -25
  294. package/dist/components/adapters/CheckboxInput.d.ts.map +0 -1
  295. package/dist/components/adapters/CheckboxInput.js +0 -28
  296. package/dist/components/adapters/CheckboxInput.js.map +0 -1
  297. package/dist/components/adapters/DateInput.d.ts +0 -25
  298. package/dist/components/adapters/DateInput.d.ts.map +0 -1
  299. package/dist/components/adapters/DateInput.js +0 -28
  300. package/dist/components/adapters/DateInput.js.map +0 -1
  301. package/dist/components/adapters/DividerComponent.d.ts +0 -25
  302. package/dist/components/adapters/DividerComponent.d.ts.map +0 -1
  303. package/dist/components/adapters/DividerComponent.js +0 -22
  304. package/dist/components/adapters/DividerComponent.js.map +0 -1
  305. package/dist/components/adapters/EmailInput.d.ts +0 -25
  306. package/dist/components/adapters/EmailInput.d.ts.map +0 -1
  307. package/dist/components/adapters/EmailInput.js +0 -28
  308. package/dist/components/adapters/EmailInput.js.map +0 -1
  309. package/dist/components/adapters/FormContainer.d.ts +0 -25
  310. package/dist/components/adapters/FormContainer.d.ts.map +0 -1
  311. package/dist/components/adapters/FormContainer.js +0 -34
  312. package/dist/components/adapters/FormContainer.js.map +0 -1
  313. package/dist/components/adapters/NumberInput.d.ts +0 -25
  314. package/dist/components/adapters/NumberInput.d.ts.map +0 -1
  315. package/dist/components/adapters/NumberInput.js +0 -28
  316. package/dist/components/adapters/NumberInput.js.map +0 -1
  317. package/dist/components/adapters/PasswordInput.d.ts +0 -25
  318. package/dist/components/adapters/PasswordInput.d.ts.map +0 -1
  319. package/dist/components/adapters/PasswordInput.js +0 -50
  320. package/dist/components/adapters/PasswordInput.js.map +0 -1
  321. package/dist/components/adapters/SelectInput.d.ts +0 -25
  322. package/dist/components/adapters/SelectInput.d.ts.map +0 -1
  323. package/dist/components/adapters/SelectInput.js +0 -34
  324. package/dist/components/adapters/SelectInput.js.map +0 -1
  325. package/dist/components/adapters/SocialButton.d.ts +0 -25
  326. package/dist/components/adapters/SocialButton.d.ts.map +0 -1
  327. package/dist/components/adapters/SubmitButton.d.ts +0 -25
  328. package/dist/components/adapters/SubmitButton.d.ts.map +0 -1
  329. package/dist/components/adapters/SubmitButton.js +0 -59
  330. package/dist/components/adapters/SubmitButton.js.map +0 -1
  331. package/dist/components/adapters/TelephoneInput.d.ts +0 -25
  332. package/dist/components/adapters/TelephoneInput.d.ts.map +0 -1
  333. package/dist/components/adapters/TelephoneInput.js +0 -30
  334. package/dist/components/adapters/TelephoneInput.js.map +0 -1
  335. package/dist/components/adapters/TextInput.d.ts +0 -25
  336. package/dist/components/adapters/TextInput.d.ts.map +0 -1
  337. package/dist/components/adapters/TextInput.js +0 -28
  338. package/dist/components/adapters/TextInput.js.map +0 -1
  339. package/dist/components/adapters/Typography.d.ts +0 -25
  340. package/dist/components/adapters/Typography.d.ts.map +0 -1
  341. package/dist/components/adapters/Typography.js +0 -58
  342. package/dist/components/adapters/Typography.js.map +0 -1
  343. package/dist/components/presentation/auth/AcceptInvite/v2/AcceptInvite.d.ts.map +0 -1
  344. package/dist/components/presentation/auth/AcceptInvite/v2/AcceptInvite.js.map +0 -1
  345. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.d.ts.map +0 -1
  346. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.js.map +0 -1
  347. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.d.ts.map +0 -1
  348. package/dist/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.js.map +0 -1
  349. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.d.ts.map +0 -1
  350. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.js.map +0 -1
  351. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.d.ts.map +0 -1
  352. package/dist/components/presentation/auth/InviteUser/v2/BaseInviteUser.styles.js.map +0 -1
  353. package/dist/components/presentation/auth/InviteUser/v2/InviteUser.d.ts.map +0 -1
  354. package/dist/components/presentation/auth/InviteUser/v2/InviteUser.js.map +0 -1
  355. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.d.ts.map +0 -1
  356. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.js.map +0 -1
  357. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.d.ts.map +0 -1
  358. package/dist/components/presentation/auth/OrganizationUnitPicker/v2/OrganizationUnitPicker.styles.js.map +0 -1
  359. package/dist/components/presentation/auth/Recovery/v1/BaseRecovery.d.ts +0 -74
  360. package/dist/components/presentation/auth/Recovery/v1/BaseRecovery.d.ts.map +0 -1
  361. package/dist/components/presentation/auth/Recovery/v1/BaseRecovery.js +0 -288
  362. package/dist/components/presentation/auth/Recovery/v1/BaseRecovery.js.map +0 -1
  363. package/dist/components/presentation/auth/Recovery/v1/Recovery.d.ts +0 -26
  364. package/dist/components/presentation/auth/Recovery/v1/Recovery.d.ts.map +0 -1
  365. package/dist/components/presentation/auth/Recovery/v1/Recovery.js +0 -40
  366. package/dist/components/presentation/auth/Recovery/v1/Recovery.js.map +0 -1
  367. package/dist/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.d.ts +0 -46
  368. package/dist/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.d.ts.map +0 -1
  369. package/dist/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.js +0 -160
  370. package/dist/components/presentation/auth/Recovery/v1/RecoveryOptionFactory.js.map +0 -1
  371. package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.d.ts +0 -83
  372. package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.d.ts.map +0 -1
  373. package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.js +0 -373
  374. package/dist/components/presentation/auth/Recovery/v2/BaseRecovery.js.map +0 -1
  375. package/dist/components/presentation/auth/Recovery/v2/Recovery.d.ts +0 -56
  376. package/dist/components/presentation/auth/Recovery/v2/Recovery.d.ts.map +0 -1
  377. package/dist/components/presentation/auth/Recovery/v2/Recovery.js +0 -74
  378. package/dist/components/presentation/auth/Recovery/v2/Recovery.js.map +0 -1
  379. package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.d.ts +0 -131
  380. package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.d.ts.map +0 -1
  381. package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.js +0 -729
  382. package/dist/components/presentation/auth/SignIn/v1/BaseSignIn.js.map +0 -1
  383. package/dist/components/presentation/auth/SignIn/v1/options/EmailOtp.d.ts +0 -26
  384. package/dist/components/presentation/auth/SignIn/v1/options/EmailOtp.d.ts.map +0 -1
  385. package/dist/components/presentation/auth/SignIn/v1/options/EmailOtp.js +0 -64
  386. package/dist/components/presentation/auth/SignIn/v1/options/EmailOtp.js.map +0 -1
  387. package/dist/components/presentation/auth/SignIn/v1/options/IdentifierFirst.d.ts +0 -26
  388. package/dist/components/presentation/auth/SignIn/v1/options/IdentifierFirst.d.ts.map +0 -1
  389. package/dist/components/presentation/auth/SignIn/v1/options/IdentifierFirst.js +0 -55
  390. package/dist/components/presentation/auth/SignIn/v1/options/IdentifierFirst.js.map +0 -1
  391. package/dist/components/presentation/auth/SignIn/v1/options/MultiOptionButton.d.ts +0 -27
  392. package/dist/components/presentation/auth/SignIn/v1/options/MultiOptionButton.d.ts.map +0 -1
  393. package/dist/components/presentation/auth/SignIn/v1/options/MultiOptionButton.js +0 -136
  394. package/dist/components/presentation/auth/SignIn/v1/options/MultiOptionButton.js.map +0 -1
  395. package/dist/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.d.ts +0 -77
  396. package/dist/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.d.ts.map +0 -1
  397. package/dist/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.js +0 -143
  398. package/dist/components/presentation/auth/SignIn/v1/options/SignInOptionFactory.js.map +0 -1
  399. package/dist/components/presentation/auth/SignIn/v1/options/SmsOtp.d.ts +0 -26
  400. package/dist/components/presentation/auth/SignIn/v1/options/SmsOtp.d.ts.map +0 -1
  401. package/dist/components/presentation/auth/SignIn/v1/options/SmsOtp.js +0 -64
  402. package/dist/components/presentation/auth/SignIn/v1/options/SmsOtp.js.map +0 -1
  403. package/dist/components/presentation/auth/SignIn/v1/options/SocialButton.d.ts +0 -26
  404. package/dist/components/presentation/auth/SignIn/v1/options/SocialButton.d.ts.map +0 -1
  405. package/dist/components/presentation/auth/SignIn/v1/options/SocialButton.js +0 -36
  406. package/dist/components/presentation/auth/SignIn/v1/options/SocialButton.js.map +0 -1
  407. package/dist/components/presentation/auth/SignIn/v1/options/Totp.d.ts +0 -26
  408. package/dist/components/presentation/auth/SignIn/v1/options/Totp.d.ts.map +0 -1
  409. package/dist/components/presentation/auth/SignIn/v1/options/Totp.js +0 -64
  410. package/dist/components/presentation/auth/SignIn/v1/options/Totp.js.map +0 -1
  411. package/dist/components/presentation/auth/SignIn/v1/options/UsernamePassword.d.ts +0 -26
  412. package/dist/components/presentation/auth/SignIn/v1/options/UsernamePassword.d.ts.map +0 -1
  413. package/dist/components/presentation/auth/SignIn/v1/options/UsernamePassword.js +0 -56
  414. package/dist/components/presentation/auth/SignIn/v1/options/UsernamePassword.js.map +0 -1
  415. package/dist/components/presentation/auth/SignIn/v1/types.d.ts +0 -125
  416. package/dist/components/presentation/auth/SignIn/v1/types.d.ts.map +0 -1
  417. package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.d.ts +0 -222
  418. package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.d.ts.map +0 -1
  419. package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.js +0 -325
  420. package/dist/components/presentation/auth/SignIn/v2/BaseSignIn.js.map +0 -1
  421. package/dist/components/presentation/auth/SignIn/v2/SignIn.d.ts +0 -165
  422. package/dist/components/presentation/auth/SignIn/v2/SignIn.d.ts.map +0 -1
  423. package/dist/components/presentation/auth/SignIn/v2/SignIn.js +0 -556
  424. package/dist/components/presentation/auth/SignIn/v2/SignIn.js.map +0 -1
  425. package/dist/components/presentation/auth/SignUp/v1/BaseSignUp.d.ts +0 -174
  426. package/dist/components/presentation/auth/SignUp/v1/BaseSignUp.d.ts.map +0 -1
  427. package/dist/components/presentation/auth/SignUp/v1/BaseSignUp.js +0 -446
  428. package/dist/components/presentation/auth/SignUp/v1/BaseSignUp.js.map +0 -1
  429. package/dist/components/presentation/auth/SignUp/v1/SignUp.d.ts +0 -39
  430. package/dist/components/presentation/auth/SignUp/v1/SignUp.d.ts.map +0 -1
  431. package/dist/components/presentation/auth/SignUp/v1/SignUp.js +0 -51
  432. package/dist/components/presentation/auth/SignUp/v1/SignUp.js.map +0 -1
  433. package/dist/components/presentation/auth/SignUp/v1/SignUpOptionFactory.d.ts +0 -46
  434. package/dist/components/presentation/auth/SignUp/v1/SignUpOptionFactory.d.ts.map +0 -1
  435. package/dist/components/presentation/auth/SignUp/v1/SignUpOptionFactory.js +0 -160
  436. package/dist/components/presentation/auth/SignUp/v1/SignUpOptionFactory.js.map +0 -1
  437. package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.d.ts +0 -186
  438. package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.d.ts.map +0 -1
  439. package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.js +0 -651
  440. package/dist/components/presentation/auth/SignUp/v2/BaseSignUp.js.map +0 -1
  441. package/dist/components/presentation/auth/SignUp/v2/SignUp.d.ts +0 -39
  442. package/dist/components/presentation/auth/SignUp/v2/SignUp.d.ts.map +0 -1
  443. package/dist/components/presentation/auth/SignUp/v2/SignUp.js +0 -77
  444. package/dist/components/presentation/auth/SignUp/v2/SignUp.js.map +0 -1
  445. package/dist/contexts/Theme/v1/ThemeProvider.d.ts +0 -89
  446. package/dist/contexts/Theme/v1/ThemeProvider.d.ts.map +0 -1
  447. package/dist/contexts/Theme/v1/ThemeProvider.js +0 -186
  448. package/dist/contexts/Theme/v1/ThemeProvider.js.map +0 -1
  449. package/dist/contexts/Theme/v2/ThemeProvider.d.ts +0 -58
  450. package/dist/contexts/Theme/v2/ThemeProvider.d.ts.map +0 -1
  451. package/dist/contexts/Theme/v2/ThemeProvider.js +0 -104
  452. package/dist/contexts/Theme/v2/ThemeProvider.js.map +0 -1
  453. package/dist/hooks/v2/useOAuthCallback.d.ts.map +0 -1
  454. package/dist/hooks/v2/useOAuthCallback.js.map +0 -1
  455. package/dist/utils/v2/buildThemeConfigFromFlowMeta.d.ts.map +0 -1
  456. package/dist/utils/v2/buildThemeConfigFromFlowMeta.js.map +0 -1
  457. package/dist/utils/v2/flowTransformer.d.ts.map +0 -1
  458. package/dist/utils/v2/flowTransformer.js.map +0 -1
  459. package/dist/utils/v2/getAuthComponentHeadings.d.ts.map +0 -1
  460. package/dist/utils/v2/getAuthComponentHeadings.js.map +0 -1
  461. package/dist/utils/v2/passkey.d.ts.map +0 -1
  462. package/dist/utils/v2/passkey.js.map +0 -1
  463. package/dist/utils/v2/resolveTranslationsInArray.d.ts.map +0 -1
  464. package/dist/utils/v2/resolveTranslationsInArray.js.map +0 -1
  465. package/dist/utils/v2/resolveTranslationsInObject.d.ts.map +0 -1
  466. package/dist/utils/v2/resolveTranslationsInObject.js.map +0 -1
  467. /package/dist/components/presentation/auth/AcceptInvite/{v2/AcceptInvite.d.ts → AcceptInvite.d.ts} +0 -0
  468. /package/dist/components/presentation/auth/AcceptInvite/{v2/BaseAcceptInvite.styles.d.ts → BaseAcceptInvite.styles.d.ts} +0 -0
  469. /package/dist/components/presentation/auth/InviteUser/{v2/BaseInviteUser.styles.d.ts → BaseInviteUser.styles.d.ts} +0 -0
  470. /package/dist/components/presentation/auth/InviteUser/{v2/InviteUser.d.ts → InviteUser.d.ts} +0 -0
  471. /package/dist/components/presentation/auth/OrganizationUnitPicker/{v2/OrganizationUnitPicker.d.ts → OrganizationUnitPicker.d.ts} +0 -0
  472. /package/dist/components/presentation/auth/OrganizationUnitPicker/{v2/OrganizationUnitPicker.styles.d.ts → OrganizationUnitPicker.styles.d.ts} +0 -0
  473. /package/dist/hooks/{v2/useOAuthCallback.d.ts → useOAuthCallback.d.ts} +0 -0
  474. /package/dist/utils/{v2/buildThemeConfigFromFlowMeta.d.ts → buildThemeConfigFromFlowMeta.d.ts} +0 -0
  475. /package/dist/utils/{v2/passkey.d.ts → passkey.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Callback.js","names":["Callback: FC<CallbackProps>"],"sources":["../../../../src/components/auth/Callback/Callback.tsx"],"sourcesContent":["/*\n * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {FC, useState} from 'react';\nimport {TokenCallback, TokenCallbackProps} from './TokenCallback';\nimport {OAuthCallback, OAuthCallbackProps} from './OAuthCallback';\n\n/**\n * Props for the unified Callback component, combining properties for both Token and OAuth callbacks.\n */\nexport type CallbackProps = OAuthCallbackProps & TokenCallbackProps;\n\n/**\n * A unified Callback component that automatically routes to either OAuthCallback or TokenCallback\n * based on the presence of URL parameters ('code' for OAuth, 'token' for token-based flows).\n */\nexport const Callback: FC<CallbackProps> = (props: CallbackProps) => {\n // Use state to lock the flow type on initial mount.\n // This prevents the component from swapping to OAuthCallback if TokenCallback\n // removes the '?token=' query parameter from the URL using window.history.\n const [flowType] = useState<'token' | 'oauth'>(() => {\n if (typeof window === 'undefined') {\n return 'oauth';\n }\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('token') ? 'token' : 'oauth';\n });\n\n if (typeof window === 'undefined') {\n return null;\n }\n\n if (flowType === 'token') {\n return <TokenCallback {...props} />;\n }\n\n return <OAuthCallback {...props} />;\n};\n\nexport default Callback;\n"],"mappings":";;;;;;;;;;AA+BA,MAAaA,YAA+B,UAAyB;CAInE,MAAM,CAAC,YAAY,eAAkC;AACnD,MAAI,OAAO,WAAW,YACpB,QAAO;AAGT,SADkB,IAAI,gBAAgB,OAAO,SAAS,OAAO,CAC5C,IAAI,QAAQ,GAAG,UAAU;GAC1C;AAEF,KAAI,OAAO,WAAW,YACpB,QAAO;AAGT,KAAI,aAAa,QACf,QAAO,oBAAC,iBAAc,GAAI,QAAS;AAGrC,QAAO,oBAAC,iBAAc,GAAI,QAAS"}
1
+ {"version":3,"file":"Callback.js","names":["Callback: FC<CallbackProps>"],"sources":["../../../../src/components/auth/Callback/Callback.tsx"],"sourcesContent":["/*\n * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {FC, useState} from 'react';\nimport {OAuthCallback, OAuthCallbackProps} from './OAuthCallback';\nimport {TokenCallback, TokenCallbackProps} from './TokenCallback';\n\n/**\n * Props for the unified Callback component, combining properties for both Token and OAuth callbacks.\n */\nexport type CallbackProps = OAuthCallbackProps & TokenCallbackProps;\n\n/**\n * A unified Callback component that automatically routes to either OAuthCallback or TokenCallback\n * based on the presence of URL parameters ('code' for OAuth, 'token' for token-based flows).\n */\nexport const Callback: FC<CallbackProps> = (props: CallbackProps) => {\n // Use state to lock the flow type on initial mount.\n // This prevents the component from swapping to OAuthCallback if TokenCallback\n // removes the '?token=' query parameter from the URL using window.history.\n const [flowType] = useState<'token' | 'oauth'>(() => {\n if (typeof window === 'undefined') {\n return 'oauth';\n }\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('token') ? 'token' : 'oauth';\n });\n\n if (typeof window === 'undefined') {\n return null;\n }\n\n if (flowType === 'token') {\n return <TokenCallback {...props} />;\n }\n\n return <OAuthCallback {...props} />;\n};\n\nexport default Callback;\n"],"mappings":";;;;;;;;;;AA+BA,MAAaA,YAA+B,UAAyB;CAInE,MAAM,CAAC,YAAY,eAAkC;AACnD,MAAI,OAAO,WAAW,YACpB,QAAO;AAGT,SADkB,IAAI,gBAAgB,OAAO,SAAS,OAAO,CAC5C,IAAI,QAAQ,GAAG,UAAU;GAC1C;AAEF,KAAI,OAAO,WAAW,YACpB,QAAO;AAGT,KAAI,aAAa,QACf,QAAO,oBAAC,iBAAc,GAAI,QAAS;AAGrC,QAAO,oBAAC,iBAAc,GAAI,QAAS"}
@@ -1,5 +1,5 @@
1
1
  import useThunderID_default from "../../../contexts/ThunderID/useThunderID.js";
2
- import { EmbeddedSignInFlowStatusV2, EmbeddedSignInFlowTypeV2, navigate } from "@thunderid/browser";
2
+ import { EmbeddedSignInFlowStatus, EmbeddedSignInFlowType, navigate } from "@thunderid/browser";
3
3
  import { useEffect, useRef } from "react";
4
4
 
5
5
  //#region src/components/auth/Callback/TokenCallback.tsx
@@ -67,7 +67,7 @@ const TokenCallback = ({ onNavigate, onError, onSuccess, signInPath = "/signin",
67
67
  executionId,
68
68
  inputs: { token }
69
69
  });
70
- if (response.type === EmbeddedSignInFlowTypeV2.Redirection) {
70
+ if (response.type === EmbeddedSignInFlowType.Redirection) {
71
71
  const redirectURL = response.data?.redirectURL || response?.redirectURL;
72
72
  const nextExecutionId$1 = response.executionId || executionId;
73
73
  sessionStorage.setItem("thunderid_execution_id", nextExecutionId$1);
@@ -76,7 +76,7 @@ const TokenCallback = ({ onNavigate, onError, onSuccess, signInPath = "/signin",
76
76
  return;
77
77
  }
78
78
  }
79
- if (response.flowStatus === EmbeddedSignInFlowStatusV2.Complete) {
79
+ if (response.flowStatus === EmbeddedSignInFlowStatus.Complete) {
80
80
  const redirectUrl = response?.redirectUrl || response?.redirect_uri;
81
81
  sessionStorage.removeItem("thunderid_execution_id");
82
82
  await storageManager.removeHybridDataParameter("authId");
@@ -91,7 +91,7 @@ const TokenCallback = ({ onNavigate, onError, onSuccess, signInPath = "/signin",
91
91
  navigate$1(isRegistrationFlow ? signUpPath : signInPath);
92
92
  return;
93
93
  }
94
- if (response.flowStatus === EmbeddedSignInFlowStatusV2.Error) {
94
+ if (response.flowStatus === EmbeddedSignInFlowStatus.Error) {
95
95
  const failureReason = response?.failureReason;
96
96
  const error = new Error(failureReason || "Token validation failed. Please try again.");
97
97
  await storageManager.removeHybridDataParameter("authId");
@@ -1 +1 @@
1
- {"version":3,"file":"TokenCallback.js","names":["TokenCallback: FC<TokenCallbackProps>","processingRef: any","useThunderID","navigate","url: URL","redirectUrlObj: URL","state: string","params: URLSearchParams","searchParams: URLSearchParams","executionId: string | null","token: string | null","applicationId: string | null","isRegistrationFlow: boolean","storageManager: any","response: any","redirectURL: string | undefined","nextExecutionId: string","nextExecutionId","redirectUrl: string | undefined","failureReason: string | undefined","error: Error"],"sources":["../../../../src/components/auth/Callback/TokenCallback.tsx"],"sourcesContent":["/**\n * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\nimport {EmbeddedSignInFlowStatusV2, EmbeddedSignInFlowTypeV2, navigate as browserNavigate} from '@thunderid/browser';\nimport {FC, useEffect, useRef} from 'react';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\n\nexport interface TokenCallbackProps {\n /**\n * Callback function called when an error occurs\n */\n onError?: (error: Error) => void;\n\n /**\n * Function to navigate to a different path.\n * If not provided, falls back to the browser navigate utility (SPA navigation via History API for same-origin paths).\n * Provide this prop to enable framework-specific navigation (e.g., from React Router).\n */\n onNavigate?: (path: string) => void;\n\n /**\n * Callback function called when authentication is successful\n */\n onSuccess?: (authData: Record<string, any>) => void;\n\n /**\n * Custom path for the sign-in page. Defaults to '/signin'\n */\n signInPath?: string;\n\n /**\n * Custom path for the sign-up page. Defaults to '/signup'\n */\n signUpPath?: string;\n}\n\nexport const TokenCallback: FC<TokenCallbackProps> = ({\n onNavigate,\n onError,\n onSuccess,\n signInPath = '/signin',\n signUpPath = '/signup',\n}: TokenCallbackProps) => {\n const processingRef: any = useRef(false);\n const {isInitialized, isLoading, signIn, signUp, getStorageManager} = useThunderID();\n\n const navigate = (path: string): void => {\n if (onNavigate) {\n onNavigate(path);\n } else {\n browserNavigate(path);\n }\n };\n\n const clearTokenFromUrl = (): void => {\n if (!window?.location?.href) {\n return;\n }\n\n const url: URL = new URL(window.location.href);\n url.searchParams.delete('token');\n url.searchParams.delete('type');\n window.history.replaceState({}, '', url.toString());\n };\n\n const initiateOAuthRedirect = (redirectURL: string, isRegistrationFlow?: boolean): void => {\n const redirectUrlObj: URL = new URL(redirectURL);\n const state: string = redirectUrlObj.searchParams.get('state') || crypto.randomUUID();\n\n sessionStorage.setItem(\n `thunderid_oauth_${state}`,\n JSON.stringify({\n path: isRegistrationFlow ? signUpPath : signInPath,\n timestamp: Date.now(),\n }),\n );\n\n browserNavigate(redirectUrlObj.toString());\n };\n\n const buildSignInPath = (\n executionId?: string | null,\n applicationId?: string | null,\n isRegistrationFlow?: boolean,\n ): string => {\n const params: URLSearchParams = new URLSearchParams();\n if (executionId) {\n params.set('executionId', executionId);\n }\n if (applicationId) {\n params.set('applicationId', applicationId);\n }\n\n const basePath = isRegistrationFlow ? signUpPath : signInPath;\n return params.toString() ? `${basePath}?${params.toString()}` : basePath;\n };\n\n const redirectWithError = (error: Error, isRegistrationFlow?: boolean): void => {\n sessionStorage.removeItem('thunderid_execution_id');\n\n onError?.(error);\n\n const params: URLSearchParams = new URLSearchParams();\n params.set('error', 'token_verification_failed');\n params.set('error_description', error.message);\n const basePath = isRegistrationFlow ? signUpPath : signInPath;\n navigate(`${basePath}?${params.toString()}`);\n };\n\n useEffect(() => {\n if (!isInitialized || isLoading) {\n return;\n }\n\n const processTokenCallback = async (): Promise<void> => {\n if (processingRef.current) {\n return;\n }\n processingRef.current = true;\n\n // Read URL params before clearing them so they're accessible in both try and catch.\n const searchParams: URLSearchParams = new URLSearchParams(window.location.search);\n const executionId: string | null = searchParams.get('id') || searchParams.get('executionId');\n const token: string | null = searchParams.get('token');\n const applicationId: string | null = searchParams.get('applicationId');\n const isRegistrationFlow: boolean = searchParams.get('type') === 'REGISTRATION';\n\n clearTokenFromUrl();\n\n try {\n const storageManager: any = await getStorageManager();\n\n if (!executionId || !token) {\n const error: Error = new Error('Missing executionId or token in callback URL');\n redirectWithError(error, isRegistrationFlow);\n return;\n }\n\n let response: any;\n\n if (isRegistrationFlow) {\n response = await signUp({executionId, inputs: {token}});\n } else {\n response = await signIn({executionId, inputs: {token}});\n }\n\n if (response.type === EmbeddedSignInFlowTypeV2.Redirection) {\n const redirectURL: string | undefined = (response.data as any)?.redirectURL || (response as any)?.redirectURL;\n const nextExecutionId: string = response.executionId || executionId;\n sessionStorage.setItem('thunderid_execution_id', nextExecutionId);\n\n if (redirectURL) {\n initiateOAuthRedirect(redirectURL, isRegistrationFlow);\n return;\n }\n }\n\n if (response.flowStatus === EmbeddedSignInFlowStatusV2.Complete) {\n const redirectUrl: string | undefined = (response as any)?.redirectUrl || (response as any)?.redirect_uri;\n\n sessionStorage.removeItem('thunderid_execution_id');\n await storageManager.removeHybridDataParameter('authId');\n\n onSuccess?.({\n redirectUrl,\n ...((response.data as Record<string, any>) || {}),\n });\n\n if (redirectUrl) {\n window.location.href = redirectUrl;\n return;\n }\n\n navigate(isRegistrationFlow ? signUpPath : signInPath);\n return;\n }\n\n if (response.flowStatus === EmbeddedSignInFlowStatusV2.Error) {\n const failureReason: string | undefined = (response as any)?.failureReason;\n const error: Error = new Error(failureReason || 'Token validation failed. Please try again.');\n await storageManager.removeHybridDataParameter('authId');\n redirectWithError(error, isRegistrationFlow);\n return;\n }\n\n const nextExecutionId: string = response.executionId || executionId;\n sessionStorage.setItem('thunderid_execution_id', nextExecutionId);\n\n if (response.challengeToken) {\n await storageManager.setTemporaryDataParameter('challengeToken', response.challengeToken);\n }\n\n navigate(buildSignInPath(nextExecutionId, applicationId, isRegistrationFlow));\n } catch (err) {\n const error: Error = err instanceof Error ? err : new Error('Token callback processing failed');\n // eslint-disable-next-line no-console\n console.error('Token callback error:', err);\n const storageManager: any = await getStorageManager();\n if (storageManager) {\n await storageManager.removeHybridDataParameter('authId');\n }\n redirectWithError(error, isRegistrationFlow);\n }\n };\n\n processTokenCallback();\n }, [\n getStorageManager,\n isInitialized,\n isLoading,\n onError,\n onNavigate,\n onSuccess,\n signIn,\n signUp,\n signInPath,\n signUpPath,\n ]);\n\n return null;\n};\n\nexport default TokenCallback;\n"],"mappings":"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"}
1
+ {"version":3,"file":"TokenCallback.js","names":["TokenCallback: FC<TokenCallbackProps>","processingRef: any","useThunderID","navigate","url: URL","redirectUrlObj: URL","state: string","params: URLSearchParams","searchParams: URLSearchParams","executionId: string | null","token: string | null","applicationId: string | null","isRegistrationFlow: boolean","storageManager: any","response: any","redirectURL: string | undefined","nextExecutionId: string","nextExecutionId","redirectUrl: string | undefined","failureReason: string | undefined","error: Error"],"sources":["../../../../src/components/auth/Callback/TokenCallback.tsx"],"sourcesContent":["/**\n * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations\n * under the License.\n */\n\nimport {EmbeddedSignInFlowStatus, EmbeddedSignInFlowType, navigate as browserNavigate} from '@thunderid/browser';\nimport {FC, useEffect, useRef} from 'react';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\n\nexport interface TokenCallbackProps {\n /**\n * Callback function called when an error occurs\n */\n onError?: (error: Error) => void;\n\n /**\n * Function to navigate to a different path.\n * If not provided, falls back to the browser navigate utility (SPA navigation via History API for same-origin paths).\n * Provide this prop to enable framework-specific navigation (e.g., from React Router).\n */\n onNavigate?: (path: string) => void;\n\n /**\n * Callback function called when authentication is successful\n */\n onSuccess?: (authData: Record<string, any>) => void;\n\n /**\n * Custom path for the sign-in page. Defaults to '/signin'\n */\n signInPath?: string;\n\n /**\n * Custom path for the sign-up page. Defaults to '/signup'\n */\n signUpPath?: string;\n}\n\nexport const TokenCallback: FC<TokenCallbackProps> = ({\n onNavigate,\n onError,\n onSuccess,\n signInPath = '/signin',\n signUpPath = '/signup',\n}: TokenCallbackProps) => {\n const processingRef: any = useRef(false);\n const {isInitialized, isLoading, signIn, signUp, getStorageManager} = useThunderID();\n\n const navigate = (path: string): void => {\n if (onNavigate) {\n onNavigate(path);\n } else {\n browserNavigate(path);\n }\n };\n\n const clearTokenFromUrl = (): void => {\n if (!window?.location?.href) {\n return;\n }\n\n const url: URL = new URL(window.location.href);\n url.searchParams.delete('token');\n url.searchParams.delete('type');\n window.history.replaceState({}, '', url.toString());\n };\n\n const initiateOAuthRedirect = (redirectURL: string, isRegistrationFlow?: boolean): void => {\n const redirectUrlObj: URL = new URL(redirectURL);\n const state: string = redirectUrlObj.searchParams.get('state') || crypto.randomUUID();\n\n sessionStorage.setItem(\n `thunderid_oauth_${state}`,\n JSON.stringify({\n path: isRegistrationFlow ? signUpPath : signInPath,\n timestamp: Date.now(),\n }),\n );\n\n browserNavigate(redirectUrlObj.toString());\n };\n\n const buildSignInPath = (\n executionId?: string | null,\n applicationId?: string | null,\n isRegistrationFlow?: boolean,\n ): string => {\n const params: URLSearchParams = new URLSearchParams();\n if (executionId) {\n params.set('executionId', executionId);\n }\n if (applicationId) {\n params.set('applicationId', applicationId);\n }\n\n const basePath = isRegistrationFlow ? signUpPath : signInPath;\n return params.toString() ? `${basePath}?${params.toString()}` : basePath;\n };\n\n const redirectWithError = (error: Error, isRegistrationFlow?: boolean): void => {\n sessionStorage.removeItem('thunderid_execution_id');\n\n onError?.(error);\n\n const params: URLSearchParams = new URLSearchParams();\n params.set('error', 'token_verification_failed');\n params.set('error_description', error.message);\n const basePath = isRegistrationFlow ? signUpPath : signInPath;\n navigate(`${basePath}?${params.toString()}`);\n };\n\n useEffect(() => {\n if (!isInitialized || isLoading) {\n return;\n }\n\n const processTokenCallback = async (): Promise<void> => {\n if (processingRef.current) {\n return;\n }\n processingRef.current = true;\n\n // Read URL params before clearing them so they're accessible in both try and catch.\n const searchParams: URLSearchParams = new URLSearchParams(window.location.search);\n const executionId: string | null = searchParams.get('id') || searchParams.get('executionId');\n const token: string | null = searchParams.get('token');\n const applicationId: string | null = searchParams.get('applicationId');\n const isRegistrationFlow: boolean = searchParams.get('type') === 'REGISTRATION';\n\n clearTokenFromUrl();\n\n try {\n const storageManager: any = await getStorageManager();\n\n if (!executionId || !token) {\n const error: Error = new Error('Missing executionId or token in callback URL');\n redirectWithError(error, isRegistrationFlow);\n return;\n }\n\n let response: any;\n\n if (isRegistrationFlow) {\n response = await signUp({executionId, inputs: {token}});\n } else {\n response = await signIn({executionId, inputs: {token}});\n }\n\n if (response.type === EmbeddedSignInFlowType.Redirection) {\n const redirectURL: string | undefined = response.data?.redirectURL || response?.redirectURL;\n const nextExecutionId: string = response.executionId || executionId;\n sessionStorage.setItem('thunderid_execution_id', nextExecutionId);\n\n if (redirectURL) {\n initiateOAuthRedirect(redirectURL, isRegistrationFlow);\n return;\n }\n }\n\n if (response.flowStatus === EmbeddedSignInFlowStatus.Complete) {\n const redirectUrl: string | undefined = response?.redirectUrl || response?.redirect_uri;\n\n sessionStorage.removeItem('thunderid_execution_id');\n await storageManager.removeHybridDataParameter('authId');\n\n onSuccess?.({\n redirectUrl,\n ...((response.data as Record<string, any>) || {}),\n });\n\n if (redirectUrl) {\n window.location.href = redirectUrl;\n return;\n }\n\n navigate(isRegistrationFlow ? signUpPath : signInPath);\n return;\n }\n\n if (response.flowStatus === EmbeddedSignInFlowStatus.Error) {\n const failureReason: string | undefined = response?.failureReason;\n const error: Error = new Error(failureReason || 'Token validation failed. Please try again.');\n await storageManager.removeHybridDataParameter('authId');\n redirectWithError(error, isRegistrationFlow);\n return;\n }\n\n const nextExecutionId: string = response.executionId || executionId;\n sessionStorage.setItem('thunderid_execution_id', nextExecutionId);\n\n if (response.challengeToken) {\n await storageManager.setTemporaryDataParameter('challengeToken', response.challengeToken);\n }\n\n navigate(buildSignInPath(nextExecutionId, applicationId, isRegistrationFlow));\n } catch (err) {\n const error: Error = err instanceof Error ? err : new Error('Token callback processing failed');\n // eslint-disable-next-line no-console\n console.error('Token callback error:', err);\n const storageManager: any = await getStorageManager();\n if (storageManager) {\n await storageManager.removeHybridDataParameter('authId');\n }\n redirectWithError(error, isRegistrationFlow);\n }\n };\n\n processTokenCallback();\n }, [\n getStorageManager,\n isInitialized,\n isLoading,\n onError,\n onNavigate,\n onSuccess,\n signIn,\n signUp,\n signInPath,\n signUpPath,\n ]);\n\n return null;\n};\n\nexport default TokenCallback;\n"],"mappings":"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"}
@@ -80,7 +80,7 @@ export interface FieldConfig {
80
80
  */
81
81
  export declare const validateFieldValue: (value: string, type: FieldType, required?: boolean, touched?: boolean) => string | null;
82
82
  /**
83
- * Factory function to create form fields based on the EmbeddedSignInFlowAuthenticatorParamType.
83
+ * Factory function to create form fields based on field type.
84
84
  *
85
85
  * @param config - The field configuration
86
86
  * @returns The appropriate React component for the field type
@@ -89,7 +89,7 @@ export declare const validateFieldValue: (value: string, type: FieldType, requir
89
89
  * ```tsx
90
90
  * const field = createField({
91
91
  * param: 'username',
92
- * type: EmbeddedSignInFlowAuthenticatorParamType.String,
92
+ * type: FieldType.Text,
93
93
  * label: 'Username',
94
94
  * confidential: false,
95
95
  * required: true,
@@ -25,7 +25,7 @@ const validateFieldValue = (value, type, required = false, touched = false) => {
25
25
  return null;
26
26
  };
27
27
  /**
28
- * Factory function to create form fields based on the EmbeddedSignInFlowAuthenticatorParamType.
28
+ * Factory function to create form fields based on field type.
29
29
  *
30
30
  * @param config - The field configuration
31
31
  * @returns The appropriate React component for the field type
@@ -34,7 +34,7 @@ const validateFieldValue = (value, type, required = false, touched = false) => {
34
34
  * ```tsx
35
35
  * const field = createField({
36
36
  * param: 'username',
37
- * type: EmbeddedSignInFlowAuthenticatorParamType.String,
37
+ * type: FieldType.Text,
38
38
  * label: 'Username',
39
39
  * confidential: false,
40
40
  * required: true,
@@ -1 +1 @@
1
- {"version":3,"file":"FieldFactory.js","names":["numValue: number","validationError: string | null","commonProps: Record<string, any>","PasswordField","TextField","DatePicker","isChecked: boolean","Checkbox","OtpField","fieldOptions: SelectOption[]","Select","FieldFactory: FC<FieldConfig>"],"sources":["../../../src/components/factories/FieldFactory.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 {FieldType} from '@thunderid/browser';\nimport {ChangeEvent, FC, ReactElement} from 'react';\nimport Checkbox from '../primitives/Checkbox/Checkbox';\nimport DatePicker from '../primitives/DatePicker/DatePicker';\nimport OtpField from '../primitives/OtpField/OtpField';\nimport PasswordField from '../primitives/PasswordField/PasswordField';\nimport Select, {SelectOption} from '../primitives/Select/Select';\nimport TextField from '../primitives/TextField/TextField';\n\n/**\n * Interface for field configuration.\n */\nexport interface FieldConfig {\n /**\n * Additional CSS class name.\n */\n className?: string;\n /**\n * Whether the field is disabled.\n */\n disabled?: boolean;\n /**\n * Error message to display.\n */\n error?: string;\n /**\n * Display name for the field.\n */\n label: string;\n /**\n * The name of the field.\n */\n name: string;\n /**\n * Callback function when the field loses focus.\n */\n onBlur?: () => void;\n /**\n * Callback function when the field value changes.\n */\n onChange: (value: string) => void;\n /**\n * Additional options for multi-valued fields.\n */\n options?: SelectOption[];\n /**\n * Placeholder text for the field.\n */\n placeholder?: string;\n /**\n * Whether the field is required.\n */\n required: boolean;\n /**\n * Whether the field has been touched/interacted with by the user.\n */\n touched?: boolean;\n /**\n * The field type.\n */\n type: FieldType;\n /**\n * Current value of the field.\n */\n value: string;\n}\n\n/**\n * Utility function to validate field values based on type\n */\nexport const validateFieldValue = (\n value: string,\n type: FieldType,\n required = false,\n touched = false,\n): string | null => {\n if (required && touched && (!value || value.trim() === '')) {\n return 'This field is required';\n }\n\n if (!value || value.trim() === '') {\n return null;\n }\n\n switch (type) {\n case FieldType.Number: {\n const numValue: number = parseInt(value, 10);\n if (Number.isNaN(numValue)) {\n return 'Please enter a valid number';\n }\n break;\n }\n default:\n break;\n }\n\n return null;\n};\n\n/**\n * Factory function to create form fields based on the EmbeddedSignInFlowAuthenticatorParamType.\n *\n * @param config - The field configuration\n * @returns The appropriate React component for the field type\n *\n * @example\n * ```tsx\n * const field = createField({\n * param: 'username',\n * type: EmbeddedSignInFlowAuthenticatorParamType.String,\n * label: 'Username',\n * confidential: false,\n * required: true,\n * value: '',\n * onChange: (value) => console.log(value)\n * });\n * ```\n */\nexport const createField = (config: FieldConfig): ReactElement => {\n const {\n name,\n type,\n label,\n required,\n value,\n onChange,\n onBlur,\n disabled = false,\n error,\n className,\n options = [],\n touched = false,\n placeholder,\n } = config;\n\n const validationError: string | null = error || validateFieldValue(value, type, required, touched);\n\n const commonProps: Record<string, any> = {\n className,\n 'data-testid': `thunderid-signin-${name}`,\n disabled,\n error: validationError,\n label,\n name,\n onBlur,\n placeholder,\n required,\n value,\n };\n\n switch (type) {\n case FieldType.Password:\n return <PasswordField {...commonProps} onChange={onChange} />;\n case FieldType.Text:\n return (\n <TextField\n {...commonProps}\n type=\"text\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)}\n autoComplete=\"off\"\n />\n );\n case FieldType.Email:\n return (\n <TextField\n {...commonProps}\n type=\"email\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)}\n autoComplete=\"email\"\n />\n );\n case FieldType.Tel:\n return (\n <TextField\n {...commonProps}\n type=\"tel\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)}\n autoComplete=\"tel\"\n />\n );\n case FieldType.Date:\n return (\n <DatePicker {...commonProps} onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)} />\n );\n case FieldType.Checkbox: {\n const isChecked: boolean = value === 'true' || (value as any) === true;\n return (\n <Checkbox\n {...commonProps}\n checked={isChecked}\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.checked.toString())}\n />\n );\n }\n case FieldType.Otp:\n return (\n <OtpField {...commonProps} onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)} />\n );\n case FieldType.Number:\n return (\n <TextField\n {...commonProps}\n type=\"number\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)}\n helperText=\"Enter a numeric value\"\n />\n );\n case FieldType.Select: {\n const fieldOptions: SelectOption[] = options.length > 0 ? options : [];\n\n if (fieldOptions.length > 0) {\n return (\n <Select\n {...commonProps}\n options={fieldOptions}\n onChange={(e: ChangeEvent<HTMLSelectElement>): void => onChange(e.target.value)}\n helperText=\"Select from available options\"\n />\n );\n }\n\n return (\n <TextField\n {...commonProps}\n type=\"text\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)}\n helperText=\"Enter multiple values separated by commas (e.g., value1, value2, value3)\"\n placeholder=\"value1, value2, value3\"\n />\n );\n }\n default:\n return (\n <TextField\n {...commonProps}\n type=\"text\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)}\n helperText=\"Unknown field type, treating as text\"\n />\n );\n }\n};\n\n/**\n * React component wrapper for the field factory.\n */\nexport const FieldFactory: FC<FieldConfig> = (props: FieldConfig): ReactElement => createField(props);\n\nexport default FieldFactory;\n"],"mappings":";;;;;;;;;;;;;AAwFA,MAAa,sBACX,OACA,MACA,WAAW,OACX,UAAU,UACQ;AAClB,KAAI,YAAY,YAAY,CAAC,SAAS,MAAM,MAAM,KAAK,IACrD,QAAO;AAGT,KAAI,CAAC,SAAS,MAAM,MAAM,KAAK,GAC7B,QAAO;AAGT,SAAQ,MAAR;EACE,KAAK,UAAU,QAAQ;GACrB,MAAMA,WAAmB,SAAS,OAAO,GAAG;AAC5C,OAAI,OAAO,MAAM,SAAS,CACxB,QAAO;AAET;;EAEF,QACE;;AAGJ,QAAO;;;;;;;;;;;;;;;;;;;;;AAsBT,MAAa,eAAe,WAAsC;CAChE,MAAM,EACJ,MACA,MACA,OACA,UACA,OACA,UACA,QACA,WAAW,OACX,OACA,WACA,UAAU,EAAE,EACZ,UAAU,OACV,gBACE;CAEJ,MAAMC,kBAAiC,SAAS,mBAAmB,OAAO,MAAM,UAAU,QAAQ;CAElG,MAAMC,cAAmC;EACvC;EACA,eAAe,oBAAoB;EACnC;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACD;AAED,SAAQ,MAAR;EACE,KAAK,UAAU,SACb,QAAO,oBAACC;GAAc,GAAI;GAAuB;IAAY;EAC/D,KAAK,UAAU,KACb,QACE,oBAACC;GACC,GAAI;GACJ,MAAK;GACL,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;GAC9E,cAAa;IACb;EAEN,KAAK,UAAU,MACb,QACE,oBAACA;GACC,GAAI;GACJ,MAAK;GACL,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;GAC9E,cAAa;IACb;EAEN,KAAK,UAAU,IACb,QACE,oBAACA;GACC,GAAI;GACJ,MAAK;GACL,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;GAC9E,cAAa;IACb;EAEN,KAAK,UAAU,KACb,QACE,oBAACC;GAAW,GAAI;GAAa,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;IAAI;EAEnH,KAAK,UAAU,UAAU;GACvB,MAAMC,YAAqB,UAAU,UAAW,UAAkB;AAClE,UACE,oBAACC;IACC,GAAI;IACJ,SAAS;IACT,WAAW,MAA2C,SAAS,EAAE,OAAO,QAAQ,UAAU,CAAC;KAC3F;;EAGN,KAAK,UAAU,IACb,QACE,oBAACC;GAAS,GAAI;GAAa,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;IAAI;EAEjH,KAAK,UAAU,OACb,QACE,oBAACJ;GACC,GAAI;GACJ,MAAK;GACL,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;GAC9E,YAAW;IACX;EAEN,KAAK,UAAU,QAAQ;GACrB,MAAMK,eAA+B,QAAQ,SAAS,IAAI,UAAU,EAAE;AAEtE,OAAI,aAAa,SAAS,EACxB,QACE,oBAACC;IACC,GAAI;IACJ,SAAS;IACT,WAAW,MAA4C,SAAS,EAAE,OAAO,MAAM;IAC/E,YAAW;KACX;AAIN,UACE,oBAACN;IACC,GAAI;IACJ,MAAK;IACL,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;IAC9E,YAAW;IACX,aAAY;KACZ;;EAGN,QACE,QACE,oBAACA;GACC,GAAI;GACJ,MAAK;GACL,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;GAC9E,YAAW;IACX;;;;;;AAQV,MAAaO,gBAAiC,UAAqC,YAAY,MAAM"}
1
+ {"version":3,"file":"FieldFactory.js","names":["numValue: number","validationError: string | null","commonProps: Record<string, any>","PasswordField","TextField","DatePicker","isChecked: boolean","Checkbox","OtpField","fieldOptions: SelectOption[]","Select","FieldFactory: FC<FieldConfig>"],"sources":["../../../src/components/factories/FieldFactory.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 {FieldType} from '@thunderid/browser';\nimport {ChangeEvent, FC, ReactElement} from 'react';\nimport Checkbox from '../primitives/Checkbox/Checkbox';\nimport DatePicker from '../primitives/DatePicker/DatePicker';\nimport OtpField from '../primitives/OtpField/OtpField';\nimport PasswordField from '../primitives/PasswordField/PasswordField';\nimport Select, {SelectOption} from '../primitives/Select/Select';\nimport TextField from '../primitives/TextField/TextField';\n\n/**\n * Interface for field configuration.\n */\nexport interface FieldConfig {\n /**\n * Additional CSS class name.\n */\n className?: string;\n /**\n * Whether the field is disabled.\n */\n disabled?: boolean;\n /**\n * Error message to display.\n */\n error?: string;\n /**\n * Display name for the field.\n */\n label: string;\n /**\n * The name of the field.\n */\n name: string;\n /**\n * Callback function when the field loses focus.\n */\n onBlur?: () => void;\n /**\n * Callback function when the field value changes.\n */\n onChange: (value: string) => void;\n /**\n * Additional options for multi-valued fields.\n */\n options?: SelectOption[];\n /**\n * Placeholder text for the field.\n */\n placeholder?: string;\n /**\n * Whether the field is required.\n */\n required: boolean;\n /**\n * Whether the field has been touched/interacted with by the user.\n */\n touched?: boolean;\n /**\n * The field type.\n */\n type: FieldType;\n /**\n * Current value of the field.\n */\n value: string;\n}\n\n/**\n * Utility function to validate field values based on type\n */\nexport const validateFieldValue = (\n value: string,\n type: FieldType,\n required = false,\n touched = false,\n): string | null => {\n if (required && touched && (!value || value.trim() === '')) {\n return 'This field is required';\n }\n\n if (!value || value.trim() === '') {\n return null;\n }\n\n switch (type) {\n case FieldType.Number: {\n const numValue: number = parseInt(value, 10);\n if (Number.isNaN(numValue)) {\n return 'Please enter a valid number';\n }\n break;\n }\n default:\n break;\n }\n\n return null;\n};\n\n/**\n * Factory function to create form fields based on field type.\n *\n * @param config - The field configuration\n * @returns The appropriate React component for the field type\n *\n * @example\n * ```tsx\n * const field = createField({\n * param: 'username',\n * type: FieldType.Text,\n * label: 'Username',\n * confidential: false,\n * required: true,\n * value: '',\n * onChange: (value) => console.log(value)\n * });\n * ```\n */\nexport const createField = (config: FieldConfig): ReactElement => {\n const {\n name,\n type,\n label,\n required,\n value,\n onChange,\n onBlur,\n disabled = false,\n error,\n className,\n options = [],\n touched = false,\n placeholder,\n } = config;\n\n const validationError: string | null = error || validateFieldValue(value, type, required, touched);\n\n const commonProps: Record<string, any> = {\n className,\n 'data-testid': `thunderid-signin-${name}`,\n disabled,\n error: validationError,\n label,\n name,\n onBlur,\n placeholder,\n required,\n value,\n };\n\n switch (type) {\n case FieldType.Password:\n return <PasswordField {...commonProps} onChange={onChange} />;\n case FieldType.Text:\n return (\n <TextField\n {...commonProps}\n type=\"text\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)}\n autoComplete=\"off\"\n />\n );\n case FieldType.Email:\n return (\n <TextField\n {...commonProps}\n type=\"email\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)}\n autoComplete=\"email\"\n />\n );\n case FieldType.Tel:\n return (\n <TextField\n {...commonProps}\n type=\"tel\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)}\n autoComplete=\"tel\"\n />\n );\n case FieldType.Date:\n return (\n <DatePicker {...commonProps} onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)} />\n );\n case FieldType.Checkbox: {\n const isChecked: boolean = value === 'true' || (value as any) === true;\n return (\n <Checkbox\n {...commonProps}\n checked={isChecked}\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.checked.toString())}\n />\n );\n }\n case FieldType.Otp:\n return (\n <OtpField {...commonProps} onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)} />\n );\n case FieldType.Number:\n return (\n <TextField\n {...commonProps}\n type=\"number\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)}\n helperText=\"Enter a numeric value\"\n />\n );\n case FieldType.Select: {\n const fieldOptions: SelectOption[] = options.length > 0 ? options : [];\n\n if (fieldOptions.length > 0) {\n return (\n <Select\n {...commonProps}\n options={fieldOptions}\n onChange={(e: ChangeEvent<HTMLSelectElement>): void => onChange(e.target.value)}\n helperText=\"Select from available options\"\n />\n );\n }\n\n return (\n <TextField\n {...commonProps}\n type=\"text\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)}\n helperText=\"Enter multiple values separated by commas (e.g., value1, value2, value3)\"\n placeholder=\"value1, value2, value3\"\n />\n );\n }\n default:\n return (\n <TextField\n {...commonProps}\n type=\"text\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => onChange(e.target.value)}\n helperText=\"Unknown field type, treating as text\"\n />\n );\n }\n};\n\n/**\n * React component wrapper for the field factory.\n */\nexport const FieldFactory: FC<FieldConfig> = (props: FieldConfig): ReactElement => createField(props);\n\nexport default FieldFactory;\n"],"mappings":";;;;;;;;;;;;;AAwFA,MAAa,sBACX,OACA,MACA,WAAW,OACX,UAAU,UACQ;AAClB,KAAI,YAAY,YAAY,CAAC,SAAS,MAAM,MAAM,KAAK,IACrD,QAAO;AAGT,KAAI,CAAC,SAAS,MAAM,MAAM,KAAK,GAC7B,QAAO;AAGT,SAAQ,MAAR;EACE,KAAK,UAAU,QAAQ;GACrB,MAAMA,WAAmB,SAAS,OAAO,GAAG;AAC5C,OAAI,OAAO,MAAM,SAAS,CACxB,QAAO;AAET;;EAEF,QACE;;AAGJ,QAAO;;;;;;;;;;;;;;;;;;;;;AAsBT,MAAa,eAAe,WAAsC;CAChE,MAAM,EACJ,MACA,MACA,OACA,UACA,OACA,UACA,QACA,WAAW,OACX,OACA,WACA,UAAU,EAAE,EACZ,UAAU,OACV,gBACE;CAEJ,MAAMC,kBAAiC,SAAS,mBAAmB,OAAO,MAAM,UAAU,QAAQ;CAElG,MAAMC,cAAmC;EACvC;EACA,eAAe,oBAAoB;EACnC;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACD;AAED,SAAQ,MAAR;EACE,KAAK,UAAU,SACb,QAAO,oBAACC;GAAc,GAAI;GAAuB;IAAY;EAC/D,KAAK,UAAU,KACb,QACE,oBAACC;GACC,GAAI;GACJ,MAAK;GACL,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;GAC9E,cAAa;IACb;EAEN,KAAK,UAAU,MACb,QACE,oBAACA;GACC,GAAI;GACJ,MAAK;GACL,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;GAC9E,cAAa;IACb;EAEN,KAAK,UAAU,IACb,QACE,oBAACA;GACC,GAAI;GACJ,MAAK;GACL,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;GAC9E,cAAa;IACb;EAEN,KAAK,UAAU,KACb,QACE,oBAACC;GAAW,GAAI;GAAa,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;IAAI;EAEnH,KAAK,UAAU,UAAU;GACvB,MAAMC,YAAqB,UAAU,UAAW,UAAkB;AAClE,UACE,oBAACC;IACC,GAAI;IACJ,SAAS;IACT,WAAW,MAA2C,SAAS,EAAE,OAAO,QAAQ,UAAU,CAAC;KAC3F;;EAGN,KAAK,UAAU,IACb,QACE,oBAACC;GAAS,GAAI;GAAa,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;IAAI;EAEjH,KAAK,UAAU,OACb,QACE,oBAACJ;GACC,GAAI;GACJ,MAAK;GACL,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;GAC9E,YAAW;IACX;EAEN,KAAK,UAAU,QAAQ;GACrB,MAAMK,eAA+B,QAAQ,SAAS,IAAI,UAAU,EAAE;AAEtE,OAAI,aAAa,SAAS,EACxB,QACE,oBAACC;IACC,GAAI;IACJ,SAAS;IACT,WAAW,MAA4C,SAAS,EAAE,OAAO,MAAM;IAC/E,YAAW;KACX;AAIN,UACE,oBAACN;IACC,GAAI;IACJ,MAAK;IACL,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;IAC9E,YAAW;IACX,aAAY;KACZ;;EAGN,QACE,QACE,oBAACA;GACC,GAAI;GACJ,MAAK;GACL,WAAW,MAA2C,SAAS,EAAE,OAAO,MAAM;GAC9E,YAAW;IACX;;;;;;AAQV,MAAaO,gBAAiC,UAAqC,YAAY,MAAM"}
@@ -1,10 +1,10 @@
1
1
  import useTheme_default from "../../../contexts/Theme/useTheme.js";
2
2
  import useTranslation_default from "../../../hooks/useTranslation.js";
3
3
  import Button_default from "../../primitives/Button/Button.js";
4
+ import Alert_default from "../../primitives/Alert/Alert.js";
4
5
  import FormControl_default from "../../primitives/FormControl/FormControl.js";
5
6
  import InputLabel_default from "../../primitives/InputLabel/InputLabel.js";
6
7
  import TextField_default from "../../primitives/TextField/TextField.js";
7
- import Alert_default from "../../primitives/Alert/Alert.js";
8
8
  import Dialog_default from "../../primitives/Dialog/Dialog.js";
9
9
  import BaseCreateOrganization_styles_default from "./BaseCreateOrganization.styles.js";
10
10
  import { createPackageComponentLogger } from "@thunderid/browser";
@@ -1,7 +1,7 @@
1
1
  import useTheme_default from "../../../contexts/Theme/useTheme.js";
2
2
  import Button_default from "../../primitives/Button/Button.js";
3
- import TextField_default from "../../primitives/TextField/TextField.js";
4
3
  import Card_default from "../../primitives/Card/Card.js";
4
+ import TextField_default from "../../primitives/TextField/TextField.js";
5
5
  import { Avatar } from "../../primitives/Avatar/Avatar.js";
6
6
  import Dialog_default from "../../primitives/Dialog/Dialog.js";
7
7
  import BaseOrganizationProfile_styles_default from "./BaseOrganizationProfile.styles.js";
@@ -2,12 +2,12 @@ import useTheme_default from "../../../contexts/Theme/useTheme.js";
2
2
  import useTranslation_default from "../../../hooks/useTranslation.js";
3
3
  import Button_default from "../../primitives/Button/Button.js";
4
4
  import Typography_default from "../../primitives/Typography/Typography.js";
5
- import Checkbox_default from "../../primitives/Checkbox/Checkbox.js";
6
- import DatePicker_default from "../../primitives/DatePicker/DatePicker.js";
7
- import TextField_default from "../../primitives/TextField/TextField.js";
8
5
  import Alert_default from "../../primitives/Alert/Alert.js";
9
6
  import Card_default from "../../primitives/Card/Card.js";
10
7
  import Divider_default from "../../primitives/Divider/Divider.js";
8
+ import Checkbox_default from "../../primitives/Checkbox/Checkbox.js";
9
+ import DatePicker_default from "../../primitives/DatePicker/DatePicker.js";
10
+ import TextField_default from "../../primitives/TextField/TextField.js";
11
11
  import BaseUserProfile_styles_default from "./BaseUserProfile.styles.js";
12
12
  import getMappedUserProfileValue_default from "../../../utils/getMappedUserProfileValue.js";
13
13
  import getDisplayName_default from "../../../utils/getDisplayName.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcceptInvite.d.ts","sourceRoot":"","sources":["../../../../../src/components/presentation/auth/AcceptInvite/AcceptInvite.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,EAAE,EAAgB,SAAS,EAAU,MAAM,OAAO,CAAC;AAC3D,OAAyB,EAAC,2BAA2B,EAAE,wBAAwB,EAAC,MAAM,oBAAoB,CAAC;AAE3G;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,SAAS,CAAC;IAEzD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAE5D;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEpC;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CACnC;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CA4EvC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -2,7 +2,7 @@ import BaseAcceptInvite_default from "./BaseAcceptInvite.js";
2
2
  import { useMemo } from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
5
- //#region src/components/presentation/auth/AcceptInvite/v2/AcceptInvite.tsx
5
+ //#region src/components/presentation/auth/AcceptInvite/AcceptInvite.tsx
6
6
  /**
7
7
  * Helper to extract query parameters from URL.
8
8
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcceptInvite.js","names":["params: any","AcceptInvite: FC<AcceptInviteProps>","executionId: any","inviteToken: any","apiBaseUrl: any","response: any","errorText: any","BaseAcceptInvite"],"sources":["../../../../../src/components/presentation/auth/AcceptInvite/AcceptInvite.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {FC, ReactElement, ReactNode, useMemo} from 'react';\nimport BaseAcceptInvite, {BaseAcceptInviteRenderProps, AcceptInviteFlowResponse} from './BaseAcceptInvite';\n\n/**\n * Render props for AcceptInvite (re-exported for convenience).\n */\nexport type AcceptInviteRenderProps = BaseAcceptInviteRenderProps;\n\n/**\n * Props for the AcceptInvite component.\n */\nexport interface AcceptInviteProps {\n /**\n * Base URL for the Thunder API server.\n * If not provided, will try to read from window location.\n */\n baseUrl?: string;\n\n /**\n * Render props function for custom UI.\n * If not provided, default UI will be rendered by the SDK.\n */\n children?: (props: AcceptInviteRenderProps) => ReactNode;\n\n /**\n * Custom CSS class name.\n */\n className?: string;\n\n /**\n * Flow ID from the invite link.\n * If not provided, will be extracted from URL query parameters.\n */\n executionId?: string;\n\n /**\n * Invite token from the invite link.\n * If not provided, will be extracted from URL query parameters.\n */\n inviteToken?: string;\n\n /**\n * Callback when the flow completes successfully.\n */\n onComplete?: () => void;\n\n /**\n * Callback when an error occurs.\n */\n onError?: (error: Error) => void;\n\n /**\n * Callback when the flow state changes.\n */\n onFlowChange?: (response: AcceptInviteFlowResponse) => void;\n\n /**\n * Callback to navigate to sign in page.\n */\n onGoToSignIn?: () => void;\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 card.\n */\n variant?: 'outlined' | 'elevated';\n}\n\n/**\n * Helper to extract query parameters from URL.\n */\nconst getUrlParams = (): {executionId?: string; inviteToken?: string} => {\n if (typeof window === 'undefined') {\n return {};\n }\n\n const params: any = new URLSearchParams(window.location.search);\n return {\n executionId: params.get('executionId') || undefined,\n inviteToken: params.get('inviteToken') || undefined,\n };\n};\n\n/**\n * AcceptInvite component for end-users to accept an invite and set their password.\n *\n * This component is designed for end users accessing the thunder-gate app via an invite link.\n * It automatically:\n * 1. Extracts executionId and inviteToken from URL query parameters\n * 2. Validates the invite token with the backend\n * 3. Displays the password form if token is valid\n * 4. Completes the accept invite when password is set\n *\n * @example\n * ```tsx\n * import { AcceptInvite } from '@thunderid/react';\n *\n * // URL: /invite?executionId=xxx&inviteToken=yyy\n *\n * const AcceptInvitePage = () => {\n * return (\n * <AcceptInvite\n * baseUrl=\"https://api.thunder.io\"\n * onComplete={() => navigate('/signin')}\n * onError={(error) => console.error(error)}\n * >\n * {({ values, components, isLoading, isComplete, isValidatingToken, isTokenInvalid, error, handleInputChange, handleSubmit }) => (\n * <div>\n * {isValidatingToken && <p>Validating your invite...</p>}\n * {isTokenInvalid && <p>Invalid or expired invite link</p>}\n * {isComplete && <p>Registration complete! You can now sign in.</p>}\n * {!isComplete && !isValidatingToken && !isTokenInvalid && (\n * // Render password form based on components\n * )}\n * </div>\n * )}\n * </AcceptInvite>\n * );\n * };\n * ```\n */\nconst AcceptInvite: FC<AcceptInviteProps> = ({\n baseUrl,\n executionId: executionIdProp,\n inviteToken: inviteTokenProp,\n onComplete,\n onError,\n onFlowChange,\n onGoToSignIn,\n className,\n children,\n size = 'medium',\n variant = 'outlined',\n showTitle = true,\n showSubtitle = true,\n}: AcceptInviteProps): ReactElement => {\n // Extract from URL if not provided as props\n const {executionId: urlExecutionId, inviteToken: urlInviteToken} = useMemo(() => getUrlParams(), []);\n\n const executionId: any = executionIdProp || urlExecutionId;\n const inviteToken: any = inviteTokenProp || urlInviteToken;\n\n // Determine base URL\n const apiBaseUrl: any = useMemo(() => {\n if (baseUrl) {\n return baseUrl;\n }\n // Try to construct from current location (assuming same origin)\n if (typeof window !== 'undefined') {\n return window.location.origin;\n }\n return '';\n }, [baseUrl]);\n\n /**\n * Submit flow step data.\n * Makes an unauthenticated request to /flow/execute endpoint.\n */\n const handleSubmit = async (payload: Record<string, any>): Promise<AcceptInviteFlowResponse> => {\n const response: any = await fetch(`${apiBaseUrl}/flow/execute`, {\n body: JSON.stringify({\n ...payload,\n verbose: true,\n }),\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n });\n\n if (!response.ok) {\n const errorText: any = await response.text();\n throw new Error(`Request failed: ${errorText}`);\n }\n\n return response.json();\n };\n\n return (\n <BaseAcceptInvite\n executionId={executionId}\n inviteToken={inviteToken}\n onSubmit={handleSubmit}\n onComplete={onComplete}\n onError={onError}\n onFlowChange={onFlowChange}\n onGoToSignIn={onGoToSignIn}\n className={className}\n size={size}\n variant={variant}\n showTitle={showTitle}\n showSubtitle={showSubtitle}\n >\n {children}\n </BaseAcceptInvite>\n );\n};\n\nexport default AcceptInvite;\n"],"mappings":";;;;;;;;AAuGA,MAAM,qBAAmE;AACvE,KAAI,OAAO,WAAW,YACpB,QAAO,EAAE;CAGX,MAAMA,SAAc,IAAI,gBAAgB,OAAO,SAAS,OAAO;AAC/D,QAAO;EACL,aAAa,OAAO,IAAI,cAAc,IAAI;EAC1C,aAAa,OAAO,IAAI,cAAc,IAAI;EAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCH,MAAMC,gBAAuC,EAC3C,SACA,aAAa,iBACb,aAAa,iBACb,YACA,SACA,cACA,cACA,WACA,UACA,OAAO,UACP,UAAU,YACV,YAAY,MACZ,eAAe,WACsB;CAErC,MAAM,EAAC,aAAa,gBAAgB,aAAa,mBAAkB,cAAc,cAAc,EAAE,EAAE,CAAC;CAEpG,MAAMC,cAAmB,mBAAmB;CAC5C,MAAMC,cAAmB,mBAAmB;CAG5C,MAAMC,aAAkB,cAAc;AACpC,MAAI,QACF,QAAO;AAGT,MAAI,OAAO,WAAW,YACpB,QAAO,OAAO,SAAS;AAEzB,SAAO;IACN,CAAC,QAAQ,CAAC;;;;;CAMb,MAAM,eAAe,OAAO,YAAoE;EAC9F,MAAMC,WAAgB,MAAM,MAAM,GAAG,WAAW,gBAAgB;GAC9D,MAAM,KAAK,UAAU;IACnB,GAAG;IACH,SAAS;IACV,CAAC;GACF,SAAS;IACP,QAAQ;IACR,gBAAgB;IACjB;GACD,QAAQ;GACT,CAAC;AAEF,MAAI,CAAC,SAAS,IAAI;GAChB,MAAMC,YAAiB,MAAM,SAAS,MAAM;AAC5C,SAAM,IAAI,MAAM,mBAAmB,YAAY;;AAGjD,SAAO,SAAS,MAAM;;AAGxB,QACE,oBAACC;EACc;EACA;EACb,UAAU;EACE;EACH;EACK;EACA;EACH;EACL;EACG;EACE;EACG;EAEb;GACgB;;AAIvB,2BAAe"}
@@ -15,9 +15,9 @@
15
15
  * specific language governing permissions and limitations
16
16
  * under the License.
17
17
  */
18
- import { FlowExecutionError, FlowMetadataResponse, Preferences } from '@thunderid/browser';
18
+ import { FieldError, FlowExecutionError, FlowMetadataResponse, Preferences } from '@thunderid/browser';
19
19
  import { FC, ReactNode } from 'react';
20
- import { CardProps } from '../../../../primitives/Card/Card';
20
+ import { CardProps } from '../../../primitives/Card/Card';
21
21
  /**
22
22
  * Flow response structure from the backend.
23
23
  */
@@ -26,6 +26,7 @@ export interface AcceptInviteFlowResponse {
26
26
  data?: {
27
27
  additionalData?: Record<string, string>;
28
28
  components?: any[];
29
+ fieldErrors?: FieldError[];
29
30
  meta?: {
30
31
  components?: any[];
31
32
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseAcceptInvite.d.ts","sourceRoot":"","sources":["../../../../../src/components/presentation/auth/AcceptInvite/BaseAcceptInvite.tsx"],"names":[],"mappings":"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"}
@@ -1,22 +1,23 @@
1
- import ComponentRendererContext_default from "../../../../../contexts/ComponentRenderer/ComponentRendererContext.js";
2
- import useThunderID_default from "../../../../../contexts/ThunderID/useThunderID.js";
3
- import useTheme_default from "../../../../../contexts/Theme/useTheme.js";
4
- import useTranslation_default from "../../../../../hooks/useTranslation.js";
5
- import Spinner_default from "../../../../primitives/Spinner/Spinner.js";
6
- import Button_default from "../../../../primitives/Button/Button.js";
7
- import Typography_default from "../../../../primitives/Typography/Typography.js";
8
- import Alert_default from "../../../../primitives/Alert/Alert.js";
9
- import Card_default from "../../../../primitives/Card/Card.js";
10
- import { extractErrorMessage, normalizeFlowResponse } from "../../../../../utils/v2/flowTransformer.js";
11
- import { renderInviteUserComponents } from "../../AuthOptionFactory.js";
12
- import { useOAuthCallback } from "../../../../../hooks/v2/useOAuthCallback.js";
13
- import { initiateOAuthRedirect } from "../../../../../utils/oauth.js";
1
+ import ComponentRendererContext_default from "../../../../contexts/ComponentRenderer/ComponentRendererContext.js";
2
+ import useThunderID_default from "../../../../contexts/ThunderID/useThunderID.js";
3
+ import useTheme_default from "../../../../contexts/Theme/useTheme.js";
4
+ import useTranslation_default from "../../../../hooks/useTranslation.js";
5
+ import Spinner_default from "../../../primitives/Spinner/Spinner.js";
6
+ import Button_default from "../../../primitives/Button/Button.js";
7
+ import { extractErrorMessage, normalizeFlowResponse } from "../../../../utils/flowTransformer.js";
8
+ import Typography_default from "../../../primitives/Typography/Typography.js";
9
+ import Alert_default from "../../../primitives/Alert/Alert.js";
10
+ import Card_default from "../../../primitives/Card/Card.js";
11
+ import { renderInviteUserComponents } from "../AuthOptionFactory.js";
12
+ import { useOAuthCallback } from "../../../../hooks/useOAuthCallback.js";
13
+ import { initiateOAuthRedirect } from "../../../../utils/oauth.js";
14
14
  import BaseAcceptInvite_styles_default from "./BaseAcceptInvite.styles.js";
15
+ import { buildValidatorFromRules } from "@thunderid/browser";
15
16
  import { useCallback, useContext, useEffect, useRef, useState } from "react";
16
17
  import { jsx, jsxs } from "react/jsx-runtime";
17
18
  import { cx } from "@emotion/css";
18
19
 
19
- //#region src/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.tsx
20
+ //#region src/components/presentation/auth/AcceptInvite/BaseAcceptInvite.tsx
20
21
  /**
21
22
  * Base component for accept invite flow (end-user).
22
23
  * Handles the flow logic for validating an invite token and setting a password.
@@ -50,6 +51,26 @@ const BaseAcceptInvite = ({ executionId, inviteToken, onSubmit, onComplete, onEr
50
51
  const [isFormValid, setIsFormValid] = useState(true);
51
52
  const [isStorageReady, setIsStorageReady] = useState(false);
52
53
  const challengeTokenRef = useRef(null);
54
+ /**
55
+ * Project server-side validation errors from the most recent flow response into
56
+ * the local formErrors state. First error per field wins; affected fields are
57
+ * marked touched so errors render immediately.
58
+ */
59
+ useEffect(() => {
60
+ const responseFieldErrors = (currentFlow?.data)?.fieldErrors;
61
+ if (!responseFieldErrors || responseFieldErrors.length === 0) return;
62
+ const errors = {};
63
+ const touched = {};
64
+ for (const fe of responseFieldErrors) if (!(fe.identifier in errors)) {
65
+ errors[fe.identifier] = fe.message;
66
+ touched[fe.identifier] = true;
67
+ }
68
+ setFormErrors(errors);
69
+ setTouchedFields((prev) => ({
70
+ ...prev,
71
+ ...touched
72
+ }));
73
+ }, [currentFlow]);
53
74
  const tokenValidationAttemptedRef = useRef(false);
54
75
  /**
55
76
  * Restore any challenge token persisted before an OAuth redirect.
@@ -179,9 +200,16 @@ const BaseAcceptInvite = ({ executionId, inviteToken, onSubmit, onComplete, onEr
179
200
  const errors = {};
180
201
  const validateComponents = (comps) => {
181
202
  comps.forEach((comp) => {
182
- if ((comp.type === "PASSWORD_INPUT" || comp.type === "TEXT_INPUT" || comp.type === "EMAIL_INPUT" || comp.type === "PHONE_INPUT" || comp.type === "OTP_INPUT") && comp.required && comp.ref) {
203
+ if ((comp.type === "PASSWORD_INPUT" || comp.type === "TEXT_INPUT" || comp.type === "EMAIL_INPUT" || comp.type === "PHONE_INPUT" || comp.type === "OTP_INPUT" || comp.type === "DATE_INPUT") && comp.ref) {
183
204
  const value = formValues[comp.ref];
184
- if (!value || value.trim() === "") errors[comp.ref] = t("validations.required.field.error");
205
+ if (comp.required && (!value || value.trim() === "")) errors[comp.ref] = t("validations.required.field.error");
206
+ else if (value) {
207
+ const ruleValidator = buildValidatorFromRules(comp.validation);
208
+ if (ruleValidator) {
209
+ const message = ruleValidator(value);
210
+ if (message) errors[comp.ref] = t(message);
211
+ }
212
+ }
185
213
  }
186
214
  if (comp.components && Array.isArray(comp.components)) validateComponents(comp.components);
187
215
  });
@@ -234,7 +262,7 @@ const BaseAcceptInvite = ({ executionId, inviteToken, onSubmit, onComplete, onEr
234
262
  };
235
263
  })]
236
264
  })) };
237
- inputs["consent_decisions"] = JSON.stringify(decisions);
265
+ inputs.consent_decisions = JSON.stringify(decisions);
238
266
  Object.keys(inputs).forEach((k) => {
239
267
  if (k.startsWith("__consent_opt__")) delete inputs[k];
240
268
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseAcceptInvite.js","names":["BaseAcceptInvite: FC<BaseAcceptInviteProps>","useThunderID","useTranslation","useTheme","customRenderers: ComponentRendererMap","ComponentRendererContext","styles: any","useStyles","challengeTokenRef: any","responseFieldErrors: FieldError[] | undefined","errors: Record<string, string>","touched: Record<string, boolean>","tokenValidationAttemptedRef: any","tempData: any","storageManager: any","handleError: any","errorMessage: string","normalizeFlowResponseLocal: any","components","response: any","handleInputChange: any","newErrors: any","handleInputBlur: any","validateForm: any","value: any","handleSubmit: any","validation: any","inputs: any","raw: any","purposes: any[]","payload: Record<string, any>","redirectURL: any","extractHeadings: any","title: string | undefined","subtitle: string | undefined","title","subtitle","filterHeadings: any","components: any","componentsWithoutHeadings: any","renderProps: BaseAcceptInviteRenderProps","CardPrimitive","Spinner","Typography","AlertPrimitive","Button"],"sources":["../../../../../src/components/presentation/auth/AcceptInvite/BaseAcceptInvite.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 {cx} from '@emotion/css';\nimport {\n FieldError,\n FlowExecutionError,\n FlowMetadataResponse,\n Preferences,\n buildValidatorFromRules,\n} from '@thunderid/browser';\nimport {FC, ReactElement, ReactNode, useCallback, useContext, useEffect, useRef, useState} from 'react';\nimport useStyles from './BaseAcceptInvite.styles';\nimport ComponentRendererContext, {\n ComponentRendererMap,\n} from '../../../../contexts/ComponentRenderer/ComponentRendererContext';\nimport useTheme from '../../../../contexts/Theme/useTheme';\nimport useThunderID from '../../../../contexts/ThunderID/useThunderID';\nimport {useOAuthCallback} from '../../../../hooks/useOAuthCallback';\nimport useTranslation from '../../../../hooks/useTranslation';\nimport {normalizeFlowResponse, extractErrorMessage} from '../../../../utils/flowTransformer';\nimport {initiateOAuthRedirect} from '../../../../utils/oauth';\nimport AlertPrimitive from '../../../primitives/Alert/Alert';\nimport Button from '../../../primitives/Button/Button';\n// eslint-disable-next-line import/no-named-as-default\nimport CardPrimitive, {CardProps} from '../../../primitives/Card/Card';\nimport Spinner from '../../../primitives/Spinner/Spinner';\nimport Typography from '../../../primitives/Typography/Typography';\nimport {renderInviteUserComponents} from '../AuthOptionFactory';\n\n/**\n * Flow response structure from the backend.\n */\nexport interface AcceptInviteFlowResponse {\n challengeToken?: string;\n data?: {\n additionalData?: Record<string, string>;\n components?: any[];\n fieldErrors?: FieldError[];\n meta?: {\n components?: any[];\n };\n redirectURL?: string;\n };\n error?: FlowExecutionError;\n executionId: string;\n flowStatus: 'INCOMPLETE' | 'COMPLETE' | 'ERROR';\n type?: 'VIEW' | 'REDIRECTION';\n}\n\n/**\n * Render props for custom UI rendering of AcceptInvite.\n */\nexport interface BaseAcceptInviteRenderProps {\n /**\n * Additional data from the current flow step (e.g. consentPrompt for consent nodes).\n */\n additionalData: Record<string, any>;\n\n /**\n * Flow components from the current step.\n */\n components: any[];\n\n /**\n * API error (if any).\n */\n error?: Error | null;\n\n /**\n * Current flow ID from URL.\n */\n executionId?: string;\n\n /**\n * Field validation errors.\n */\n fieldErrors: Record<string, string>;\n\n /**\n * Navigate to sign in page.\n */\n goToSignIn?: () => void;\n\n /**\n * Function to handle input blur.\n */\n handleInputBlur: (name: string) => void;\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 * Invite token from URL.\n */\n inviteToken?: string;\n\n /**\n * Whether the flow has completed successfully.\n */\n isComplete: boolean;\n\n /**\n * Loading state.\n */\n isLoading: boolean;\n\n /**\n * Whether the token validation failed.\n */\n isTokenInvalid: boolean;\n\n /**\n * Whether the form is valid.\n */\n isValid: boolean;\n\n /**\n * Whether the invite token is being validated.\n */\n isValidatingToken: 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 * Subtitle for the current step.\n */\n subtitle?: string;\n\n /**\n * Title for the current step.\n */\n title?: string;\n\n /**\n * Touched fields.\n */\n touched: Record<string, boolean>;\n\n /**\n * Form values for the current step.\n */\n values: Record<string, string>;\n}\n\n/**\n * Props for the BaseAcceptInvite component.\n */\nexport interface BaseAcceptInviteProps {\n /**\n * Render props function for custom UI.\n * If not provided, default UI will be rendered.\n */\n children?: (props: BaseAcceptInviteRenderProps) => ReactNode;\n\n /**\n * Custom CSS class name.\n */\n className?: string;\n\n /**\n * Flow ID from the invite link URL.\n */\n executionId?: string;\n\n /**\n * Invite token from the invite link URL.\n */\n inviteToken?: string;\n\n /**\n * Callback when the flow completes successfully.\n */\n onComplete?: () => void;\n\n /**\n * Callback when an error occurs.\n */\n onError?: (error: Error) => void;\n\n /**\n * Callback when the flow state changes.\n */\n onFlowChange?: (response: AcceptInviteFlowResponse) => void;\n\n /**\n * Callback to navigate to sign in page.\n */\n onGoToSignIn?: () => void;\n\n /**\n * Function to submit flow step data.\n * This makes a request to the flow/execute endpoint.\n */\n onSubmit: (payload: Record<string, any>) => Promise<AcceptInviteFlowResponse>;\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 * 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 * Base component for accept invite flow (end-user).\n * Handles the flow logic for validating an invite token and setting a password.\n *\n * When no children are provided, renders a default UI with:\n * - Loading spinner during token validation\n * - Error alerts for invalid/expired tokens\n * - Password form with validation\n * - Success state with sign-in redirect\n *\n * Flow steps handled:\n * 1. Validate invite token (automatic on mount)\n * 2. Password input\n * 3. Flow completion\n */\nconst BaseAcceptInvite: FC<BaseAcceptInviteProps> = ({\n executionId,\n inviteToken,\n onSubmit,\n onComplete,\n onError,\n onFlowChange,\n onGoToSignIn,\n className = '',\n children,\n preferences,\n size = 'medium',\n variant = 'outlined',\n showTitle = true,\n showSubtitle = true,\n}: BaseAcceptInviteProps): ReactElement => {\n const {meta, isInitialized, getStorageManager} = useThunderID();\n const {t} = useTranslation(preferences?.i18n);\n const {theme} = useTheme();\n const customRenderers: ComponentRendererMap = useContext(ComponentRendererContext);\n const styles: any = useStyles(theme, theme.vars.colors.text.primary);\n const [isLoading, setIsLoading] = useState(false);\n const [isValidatingToken, setIsValidatingToken] = useState(true);\n const [isTokenInvalid, setIsTokenInvalid] = useState(false);\n const [isComplete, setIsComplete] = useState(false);\n const [currentFlow, setCurrentFlow] = useState<AcceptInviteFlowResponse | null>(null);\n const [apiError, setApiError] = useState<Error | null>(null);\n const [formValues, setFormValues] = useState<Record<string, string>>({});\n const [formErrors, setFormErrors] = useState<Record<string, string>>({});\n const [touchedFields, setTouchedFields] = useState<Record<string, boolean>>({});\n const [isFormValid, setIsFormValid] = useState(true);\n const [isStorageReady, setIsStorageReady] = useState(false);\n const challengeTokenRef: any = useRef<string | null>(null);\n\n /**\n * Project server-side validation errors from the most recent flow response into\n * the local formErrors state. First error per field wins; affected fields are\n * marked touched so errors render immediately.\n */\n useEffect(() => {\n const responseFieldErrors: FieldError[] | undefined = (currentFlow?.data as any)?.fieldErrors;\n if (!responseFieldErrors || responseFieldErrors.length === 0) {\n return;\n }\n const errors: Record<string, string> = {};\n const touched: Record<string, boolean> = {};\n for (const fe of responseFieldErrors) {\n if (!(fe.identifier in errors)) {\n errors[fe.identifier] = fe.message;\n touched[fe.identifier] = true;\n }\n }\n setFormErrors(errors);\n setTouchedFields((prev: Record<string, boolean>) => ({...prev, ...touched}));\n }, [currentFlow]);\n\n const tokenValidationAttemptedRef: any = useRef(false);\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 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 };\n\n /**\n * Handle error responses and extract meaningful error messages.\n * Uses the transformer's extractErrorMessage function for consistency.\n */\n const handleError: any = useCallback(\n (error: any) => {\n const errorMessage: string = extractErrorMessage(error, t, 'components.acceptInvite.errors.generic');\n\n // Set the API error state\n setApiError(error instanceof Error ? error : new Error(errorMessage));\n\n // Call the onError callback if provided\n onError?.(error instanceof Error ? error : new Error(errorMessage));\n },\n [t, onError],\n );\n\n /**\n * Normalize flow response to ensure component-driven format.\n * Transforms data.meta.components to data.components.\n */\n const normalizeFlowResponseLocal: any = useCallback(\n (response: AcceptInviteFlowResponse): AcceptInviteFlowResponse => {\n if (!response?.data?.meta?.components) {\n return response;\n }\n\n try {\n const {components} = normalizeFlowResponse(\n response,\n t,\n {\n defaultErrorKey: 'components.acceptInvite.errors.generic',\n resolveTranslations: false,\n },\n meta,\n );\n\n return {\n ...response,\n data: {\n ...response.data,\n components: components as any,\n },\n };\n } catch {\n // If transformer throws (e.g., error response), return as-is\n return response;\n }\n },\n [t, children],\n );\n\n /**\n * Handle OAuth callback when returning from OAuth provider.\n * This hook processes the authorization code and continues the flow.\n */\n useOAuthCallback({\n currentExecutionId: executionId ?? null,\n isInitialized: isStorageReady,\n onComplete: () => {\n setIsValidatingToken(false);\n onComplete?.();\n },\n onError: (error: any) => {\n if (!error?.flowStatus) {\n setIsTokenInvalid(true);\n }\n setIsValidatingToken(false);\n handleError(error);\n },\n onFlowChange: (response: any) => {\n onFlowChange?.(response);\n if (response.flowStatus === 'COMPLETE') {\n setIsComplete(true);\n const completionComponents: any[] = response.data?.components || response.data?.meta?.components || [];\n if (completionComponents.length > 0) {\n setCurrentFlow(response);\n }\n } else {\n // Initialize currentFlow for next steps if not complete\n setCurrentFlow(response);\n setFormValues({});\n setFormErrors({});\n setTouchedFields({});\n }\n },\n onProcessingStart: () => {\n setIsValidatingToken(true);\n },\n onSubmit: async (payload: any) => {\n const rawResponse: any = await onSubmit({\n ...payload,\n ...(challengeTokenRef.current ? {challengeToken: challengeTokenRef.current} : {}),\n });\n const response: any = normalizeFlowResponseLocal(rawResponse);\n await setChallengeToken(response.challengeToken ?? null);\n return response;\n },\n tokenValidationAttemptedRef,\n });\n\n /**\n * Handle input value changes.\n */\n const handleInputChange: any = useCallback((name: string, value: string) => {\n setFormValues((prev: any) => ({...prev, [name]: value}));\n // Clear error when user starts typing\n setFormErrors((prev: any) => {\n const newErrors: any = {...prev};\n delete newErrors[name];\n return newErrors;\n });\n setIsFormValid(true);\n }, []);\n\n /**\n * Handle input blur.\n */\n const handleInputBlur: any = useCallback((name: string) => {\n setTouchedFields((prev: any) => ({...prev, [name]: true}));\n }, []);\n\n /**\n * Validate required fields based on components.\n */\n const validateForm: any = useCallback(\n (components: any[]): {errors: Record<string, string>; isValid: boolean} => {\n const errors: Record<string, string> = {};\n\n const validateComponents = (comps: any[]): any => {\n comps.forEach((comp: any) => {\n if (\n (comp.type === 'PASSWORD_INPUT' ||\n comp.type === 'TEXT_INPUT' ||\n comp.type === 'EMAIL_INPUT' ||\n comp.type === 'PHONE_INPUT' ||\n comp.type === 'OTP_INPUT' ||\n comp.type === 'DATE_INPUT') &&\n comp.ref\n ) {\n const value: any = formValues[comp.ref];\n if (comp.required && (!value || value.trim() === '')) {\n errors[comp.ref] = t('validations.required.field.error');\n } else if (value) {\n // Evaluate declarative validation rules from meta.components[].validation.\n const ruleValidator = buildValidatorFromRules(comp.validation);\n if (ruleValidator) {\n const message = ruleValidator(value);\n if (message) {\n errors[comp.ref] = t(message);\n }\n }\n }\n }\n if (comp.components && Array.isArray(comp.components)) {\n validateComponents(comp.components);\n }\n });\n };\n\n validateComponents(components);\n\n return {errors, isValid: Object.keys(errors).length === 0};\n },\n [formValues, t],\n );\n\n /**\n * Handle form submission.\n */\n const handleSubmit: any = useCallback(\n async (component: any, data?: Record<string, any>) => {\n if (!currentFlow) {\n return;\n }\n\n // Validate form before submission\n const components: any = currentFlow.data?.components || [];\n const validation: any = validateForm(components);\n\n if (!validation.isValid) {\n setIsFormValid(false);\n setFormErrors(validation.errors);\n // Mark all fields as touched\n const touched: Record<string, boolean> = {};\n Object.keys(validation.errors).forEach((key: any) => {\n touched[key] = true;\n });\n setTouchedFields((prev: any) => ({...prev, ...touched}));\n return;\n }\n\n setIsLoading(true);\n setApiError(null);\n\n try {\n // Build payload with form values\n const inputs: any = {...(data || formValues)};\n\n // Auto-compile consent_decisions if we are on a consent prompt step.\n // Mirrors the same logic in SignIn to ensure the server receives a\n // properly structured JSON payload rather than individual checkbox keys.\n const currentAdditionalData = (currentFlow?.data?.additionalData as Record<string, any>) ?? {};\n if (currentAdditionalData['consentPrompt']) {\n try {\n const raw: any = currentAdditionalData['consentPrompt'];\n const purposes: any[] = typeof raw === 'string' ? JSON.parse(raw) : raw.purposes || raw;\n const isDeny = component?.variant?.toLowerCase() !== 'primary';\n const decisions = {\n purposes: purposes.map((p: any) => ({\n approved: !isDeny,\n purposeName: p.purposeName,\n elements: [\n ...(p.essential || []).map((e: any) => ({approved: !isDeny, name: e.name})),\n ...(p.optional || []).map((e: any) => {\n const key = `__consent_opt__${p.purposeId}__${e.name}`;\n return {approved: isDeny ? false : inputs[key] !== 'false', name: e.name};\n }),\n ],\n })),\n };\n inputs.consent_decisions = JSON.stringify(decisions);\n Object.keys(inputs).forEach((k: string) => {\n if (k.startsWith('__consent_opt__')) delete inputs[k];\n });\n } catch {\n // Leave inputs as-is if consent building fails\n }\n }\n\n const payload: Record<string, any> = {\n executionId: currentFlow.executionId,\n inputs,\n verbose: true,\n ...(challengeTokenRef.current ? {challengeToken: challengeTokenRef.current} : {}),\n };\n\n // Add action ID if component has one\n if (component?.id) {\n payload['action'] = component.id;\n }\n\n const rawResponse: any = await onSubmit(payload);\n const response: any = normalizeFlowResponseLocal(rawResponse);\n onFlowChange?.(response);\n\n await setChallengeToken(response.challengeToken ?? null);\n\n // Handle OAuth redirect response\n if (response.type === 'REDIRECTION') {\n const redirectURL: any = response.data?.redirectURL || response?.redirectURL;\n if (redirectURL && typeof window !== 'undefined') {\n // Initiate OAuth redirect with secure state management\n initiateOAuthRedirect(redirectURL);\n return;\n }\n }\n\n // Check for completion\n if (response.flowStatus === 'COMPLETE') {\n setIsComplete(true);\n const completionComponents: any[] = response.data?.components || response.data?.meta?.components || [];\n if (completionComponents.length > 0) {\n setCurrentFlow(response);\n } else {\n onComplete?.();\n }\n return;\n }\n\n // Check for error status\n if (response.flowStatus === 'ERROR') {\n handleError(response);\n return;\n }\n\n // Update current flow and reset form state for next step, preserving input values\n setCurrentFlow(response);\n setFormErrors({});\n setTouchedFields({});\n\n // Display error from INCOMPLETE response\n if (response?.error) {\n handleError(response);\n }\n } catch (err) {\n handleError(err);\n } finally {\n setIsLoading(false);\n }\n },\n [\n currentFlow,\n formValues,\n validateForm,\n onSubmit,\n onFlowChange,\n onComplete,\n handleError,\n normalizeFlowResponseLocal,\n ],\n );\n\n /**\n * Validate invite token on component mount.\n */\n useEffect(() => {\n // Skip validation if already validated\n if (tokenValidationAttemptedRef.current) {\n return;\n }\n\n // If an OAuth code is present, this is a return from an OAuth redirect.\n // useOAuthCallback will handle the code — skip the initial invite validation.\n const urlParams: URLSearchParams = new URLSearchParams(window.location.search);\n if (urlParams.get('code')) {\n return;\n }\n\n // Validate required params for initial invite link\n if (!executionId || !inviteToken) {\n setIsValidatingToken(false);\n setIsTokenInvalid(true);\n handleError(new Error('Invalid invite link. Missing executionId or inviteToken.'));\n return;\n }\n\n tokenValidationAttemptedRef.current = true;\n\n (async (): Promise<void> => {\n setIsValidatingToken(true);\n setApiError(null);\n\n try {\n // Store executionId in sessionStorage for OAuth callback\n if (executionId) {\n sessionStorage.setItem('thunderid_execution_id', executionId);\n }\n\n // Send the invite token to validate and continue the flow\n const payload: any = {\n executionId,\n inputs: {\n inviteToken,\n },\n verbose: true,\n };\n\n const rawResponse: any = await onSubmit(payload);\n const response: any = normalizeFlowResponseLocal(rawResponse);\n onFlowChange?.(response);\n\n await setChallengeToken(response.challengeToken ?? null);\n\n // Check for error (invalid token)\n if (response.flowStatus === 'ERROR') {\n setIsTokenInvalid(true);\n handleError(response);\n return;\n }\n\n // Token is valid, show the password form\n setCurrentFlow(response);\n\n // Display error from INCOMPLETE response\n if (response?.error) {\n handleError(response);\n }\n } catch (err) {\n setIsTokenInvalid(true);\n handleError(err);\n } finally {\n setIsValidatingToken(false);\n }\n })();\n }, [executionId, inviteToken, onSubmit, onFlowChange, handleError, normalizeFlowResponseLocal]);\n\n /**\n * Extract title and subtitle from components.\n */\n const extractHeadings: any = useCallback((components: any[]): {subtitle?: string; title?: string} => {\n let title: string | undefined;\n let subtitle: string | undefined;\n\n components.forEach((comp: any) => {\n if (comp.type === 'TEXT') {\n if (comp.variant === 'HEADING_1' && !title) {\n title = comp.label;\n } else if ((comp.variant === 'HEADING_2' || comp.variant === 'SUBTITLE_1') && !subtitle) {\n subtitle = comp.label;\n }\n }\n });\n\n return {subtitle, title};\n }, []);\n\n /**\n * Filter out heading components for default rendering.\n */\n const filterHeadings: any = useCallback(\n (components: any[]): any[] =>\n components.filter(\n (comp: any) => !(comp.type === 'TEXT' && (comp.variant === 'HEADING_1' || comp.variant === 'HEADING_2')),\n ),\n [],\n );\n\n // Get components from normalized response, with fallback to meta.components\n const components: any = currentFlow?.data?.components || currentFlow?.data?.meta?.components || [];\n const {title, subtitle} = extractHeadings(components);\n const componentsWithoutHeadings: any = filterHeadings(components);\n const additionalData: Record<string, any> = (currentFlow?.data?.additionalData as Record<string, any>) ?? {};\n\n // Render props\n const renderProps: BaseAcceptInviteRenderProps = {\n additionalData,\n components,\n error: apiError,\n executionId,\n fieldErrors: formErrors,\n goToSignIn: onGoToSignIn,\n handleInputBlur,\n handleInputChange,\n handleSubmit,\n inviteToken,\n isComplete,\n isLoading,\n isTokenInvalid,\n isValid: isFormValid,\n isValidatingToken,\n meta,\n subtitle,\n title,\n touched: touchedFields,\n values: formValues,\n };\n\n // If children render prop is provided, use it for custom UI\n if (children) {\n return <div className={className}>{children(renderProps)}</div>;\n }\n\n // Default rendering\n\n // Loading state during token validation\n if (isValidatingToken) {\n return (\n <CardPrimitive className={cx(className, styles.card)} variant={variant}>\n <CardPrimitive.Content>\n <div style={{alignItems: 'center', display: 'flex', flexDirection: 'column', gap: '1rem', padding: '2rem'}}>\n <Spinner size=\"medium\" />\n <Typography variant=\"body1\">Validating your invite link...</Typography>\n </div>\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n }\n\n // Invalid token state\n if (isTokenInvalid) {\n return (\n <CardPrimitive className={cx(className, styles.card)} variant={variant}>\n <CardPrimitive.Header className={styles.header}>\n <CardPrimitive.Title level={2} className={styles.title}>\n Invalid Invite Link\n </CardPrimitive.Title>\n </CardPrimitive.Header>\n <CardPrimitive.Content>\n <AlertPrimitive variant=\"error\">\n <AlertPrimitive.Title>Unable to verify invite</AlertPrimitive.Title>\n <AlertPrimitive.Description>\n {apiError?.message ||\n 'This invite link is invalid or has expired. Please contact your administrator for a new invite.'}\n </AlertPrimitive.Description>\n </AlertPrimitive>\n {onGoToSignIn && (\n <div style={{display: 'flex', justifyContent: 'center', marginTop: '1.5rem'}}>\n <Button variant=\"outline\" onClick={onGoToSignIn}>\n Go to Sign In\n </Button>\n </div>\n )}\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n }\n\n // Flow components (password form)\n return (\n <CardPrimitive className={cx(className, styles.card)} variant={variant}>\n {(showTitle || showSubtitle) && (title || subtitle) && (\n <CardPrimitive.Header className={styles.header}>\n {showTitle && title && (\n <CardPrimitive.Title level={2} className={styles.title}>\n {title}\n </CardPrimitive.Title>\n )}\n {showSubtitle && subtitle && (\n <Typography variant=\"body1\" className={styles.subtitle}>\n {subtitle}\n </Typography>\n )}\n </CardPrimitive.Header>\n )}\n <CardPrimitive.Content>\n {apiError && (\n <div style={{marginBottom: '1rem'}}>\n <AlertPrimitive variant=\"error\">\n <AlertPrimitive.Description>{apiError.message}</AlertPrimitive.Description>\n </AlertPrimitive>\n </div>\n )}\n <div>\n {componentsWithoutHeadings && componentsWithoutHeadings.length > 0\n ? renderInviteUserComponents(\n componentsWithoutHeadings,\n formValues,\n touchedFields,\n formErrors,\n isLoading,\n isFormValid,\n handleInputChange,\n {\n _customRenderers: customRenderers,\n _theme: theme,\n onInputBlur: handleInputBlur,\n onSubmit: handleSubmit,\n size,\n variant,\n },\n )\n : !isLoading && (\n <AlertPrimitive variant=\"warning\">\n <Typography variant=\"body1\">No form components available</Typography>\n </AlertPrimitive>\n )}\n {isLoading && (\n <div style={{display: 'flex', justifyContent: 'center', padding: '1rem'}}>\n <Spinner size=\"small\" />\n </div>\n )}\n </div>\n {onGoToSignIn && (\n <div style={{marginTop: '1.5rem', textAlign: 'center'}}>\n <Typography variant=\"body2\">\n Already have an account?{' '}\n <Button variant=\"text\" onClick={onGoToSignIn} style={{minWidth: 'auto', padding: 0}}>\n Sign In\n </Button>\n </Typography>\n </div>\n )}\n </CardPrimitive.Content>\n </CardPrimitive>\n );\n};\n\nexport default BaseAcceptInvite;\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseAcceptInvite.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAGzC;;;;;GAKG;AACH,QAAA,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,aAAa,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAuCxE,CAAC;AAEL,eAAe,SAAS,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { useMemo } from "react";
2
2
  import { css } from "@emotion/css";
3
3
 
4
- //#region src/components/presentation/auth/AcceptInvite/v2/BaseAcceptInvite.styles.ts
4
+ //#region src/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.ts
5
5
  /**
6
6
  * Creates styles for the BaseAcceptInvite component
7
7
  * @param theme - The theme object containing design tokens
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseAcceptInvite.styles.js","names":["card: string","header: string","title: string"],"sources":["../../../../../src/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.ts"],"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 {css} from '@emotion/css';\nimport {Theme} from '@thunderid/browser';\nimport {useMemo} from 'react';\n\n/**\n * Creates styles for the BaseAcceptInvite component\n * @param theme - The theme object containing design tokens\n * @param colorScheme - The current color scheme (used for memoization)\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (theme: Theme, colorScheme: string): Record<string, string> =>\n useMemo(() => {\n const card: string = css`\n background: ${theme.vars.colors.background.surface};\n border-radius: ${theme.vars.borderRadius.large};\n gap: calc(${theme.vars.spacing.unit} * 2);\n min-width: 420px;\n font-family: ${theme.vars.typography.fontFamily};\n `;\n\n const header: string = css`\n gap: 0;\n align-items: center;\n `;\n\n const title: string = css`\n margin: 0 0 calc(${theme.vars.spacing.unit} * 1) 0;\n color: ${theme.vars.colors.text.primary};\n `;\n\n const subtitle: string = css`\n margin-bottom: calc(${theme.vars.spacing.unit} * 1);\n color: ${theme.vars.colors.text.secondary};\n `;\n\n return {\n card,\n header,\n subtitle,\n title,\n };\n }, [\n theme.vars.colors.background.surface,\n theme.vars.colors.text.primary,\n theme.vars.colors.text.secondary,\n theme.vars.borderRadius.large,\n theme.vars.spacing.unit,\n theme.vars.typography.fontFamily,\n colorScheme,\n ]);\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;AA4BA,MAAM,aAAa,OAAc,gBAC/B,cAAc;CACZ,MAAMA,OAAe,GAAG;oBACR,MAAM,KAAK,OAAO,WAAW,QAAQ;uBAClC,MAAM,KAAK,aAAa,MAAM;kBACnC,MAAM,KAAK,QAAQ,KAAK;;qBAErB,MAAM,KAAK,WAAW,WAAW;;CAGlD,MAAMC,SAAiB,GAAG;;;;CAK1B,MAAMC,QAAgB,GAAG;yBACJ,MAAM,KAAK,QAAQ,KAAK;eAClC,MAAM,KAAK,OAAO,KAAK,QAAQ;;AAQ1C,QAAO;EACL;EACA;EACA,UARuB,GAAG;4BACJ,MAAM,KAAK,QAAQ,KAAK;eACrC,MAAM,KAAK,OAAO,KAAK,UAAU;;EAO1C;EACD;GACA;CACD,MAAM,KAAK,OAAO,WAAW;CAC7B,MAAM,KAAK,OAAO,KAAK;CACvB,MAAM,KAAK,OAAO,KAAK;CACvB,MAAM,KAAK,aAAa;CACxB,MAAM,KAAK,QAAQ;CACnB,MAAM,KAAK,WAAW;CACtB;CACD,CAAC;AAEJ,sCAAe"}
@@ -15,8 +15,8 @@
15
15
  * specific language governing permissions and limitations
16
16
  * under the License.
17
17
  */
18
- export { default as AcceptInvite } from './v2/AcceptInvite';
19
- export type { AcceptInviteProps, AcceptInviteRenderProps } from './v2/AcceptInvite';
20
- export { default as BaseAcceptInvite } from './v2/BaseAcceptInvite';
21
- export type { BaseAcceptInviteProps, BaseAcceptInviteRenderProps, AcceptInviteFlowResponse } from './v2/BaseAcceptInvite';
18
+ export { default as AcceptInvite } from './AcceptInvite';
19
+ export type { AcceptInviteProps, AcceptInviteRenderProps } from './AcceptInvite';
20
+ export { default as BaseAcceptInvite } from './BaseAcceptInvite';
21
+ export type { BaseAcceptInviteProps, BaseAcceptInviteRenderProps, AcceptInviteFlowResponse } from './BaseAcceptInvite';
22
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/presentation/auth/AcceptInvite/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAC,iBAAiB,EAAE,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAClE,YAAY,EAAC,qBAAqB,EAAE,2BAA2B,EAAE,wBAAwB,EAAC,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/presentation/auth/AcceptInvite/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAC,iBAAiB,EAAE,uBAAuB,EAAC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC/D,YAAY,EAAC,qBAAqB,EAAE,2BAA2B,EAAE,wBAAwB,EAAC,MAAM,oBAAoB,CAAC"}
@@ -15,7 +15,7 @@
15
15
  * specific language governing permissions and limitations
16
16
  * under the License.
17
17
  */
18
- import { FlowMetadataResponse, OrganizationUnitListResponse, EmbeddedFlowComponentV2 as EmbeddedFlowComponent } from '@thunderid/browser';
18
+ import { FlowMetadataResponse, OrganizationUnitListResponse, EmbeddedFlowComponent } from '@thunderid/browser';
19
19
  import { ReactElement } from 'react';
20
20
  import { ComponentRendererMap } from '../../../contexts/ComponentRenderer/ComponentRendererContext';
21
21
  import { UseTranslation } from '../../../hooks/useTranslation';
@@ -1 +1 @@
1
- {"version":3,"file":"AuthOptionFactory.d.ts","sourceRoot":"","sources":["../../../../src/components/presentation/auth/AuthOptionFactory.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthOptionFactory.d.ts","sourceRoot":"","sources":["../../../../src/components/presentation/auth/AuthOptionFactory.tsx"],"names":[],"mappings":"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"}