@thunderid/react 0.11.3 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (648) hide show
  1. package/dist/ThunderIDReactClient.d.ts +0 -17
  2. package/dist/ThunderIDReactClient.d.ts.map +1 -1
  3. package/dist/ThunderIDReactClient.js.map +1 -1
  4. package/dist/api/getUsersMe.d.ts +0 -17
  5. package/dist/api/getUsersMe.d.ts.map +1 -1
  6. package/dist/api/getUsersMe.js.map +1 -1
  7. package/dist/api/updateMeProfile.d.ts +0 -17
  8. package/dist/api/updateMeProfile.d.ts.map +1 -1
  9. package/dist/api/updateMeProfile.js.map +1 -1
  10. package/dist/cjs/ThunderIDReactClient.cjs.map +1 -1
  11. package/dist/cjs/api/getUsersMe.cjs.map +1 -1
  12. package/dist/cjs/api/updateMeProfile.cjs.map +1 -1
  13. package/dist/cjs/components/actions/SignInButton/BaseSignInButton.cjs.map +1 -1
  14. package/dist/cjs/components/actions/SignInButton/SignInButton.cjs.map +1 -1
  15. package/dist/cjs/components/actions/SignOutButton/BaseSignOutButton.cjs.map +1 -1
  16. package/dist/cjs/components/actions/SignOutButton/SignOutButton.cjs.map +1 -1
  17. package/dist/cjs/components/actions/SignUpButton/BaseSignUpButton.cjs.map +1 -1
  18. package/dist/cjs/components/actions/SignUpButton/SignUpButton.cjs.map +1 -1
  19. package/dist/cjs/components/adapters/Consent.cjs.map +1 -1
  20. package/dist/cjs/components/adapters/ConsentCheckboxList.cjs.map +1 -1
  21. package/dist/cjs/components/adapters/ConsentCheckboxList.styles.cjs.map +1 -1
  22. package/dist/cjs/components/adapters/FacebookButton.cjs.map +1 -1
  23. package/dist/cjs/components/adapters/FlowTimer.cjs.map +1 -1
  24. package/dist/cjs/components/adapters/GitHubButton.cjs.map +1 -1
  25. package/dist/cjs/components/adapters/GoogleButton.cjs.map +1 -1
  26. package/dist/cjs/components/adapters/ImageComponent.cjs.map +1 -1
  27. package/dist/cjs/components/adapters/LinkedInButton.cjs.map +1 -1
  28. package/dist/cjs/components/adapters/MicrosoftButton.cjs.map +1 -1
  29. package/dist/cjs/components/adapters/SignInWithEthereumButton.cjs.map +1 -1
  30. package/dist/cjs/components/adapters/SmsOtpButton.cjs.map +1 -1
  31. package/dist/cjs/components/auth/Callback/Callback.cjs.map +1 -1
  32. package/dist/cjs/components/auth/Callback/OAuthCallback.cjs.map +1 -1
  33. package/dist/cjs/components/auth/Callback/TokenCallback.cjs.map +1 -1
  34. package/dist/cjs/components/control/Loading.cjs.map +1 -1
  35. package/dist/cjs/components/control/SignedIn.cjs.map +1 -1
  36. package/dist/cjs/components/control/SignedOut.cjs.map +1 -1
  37. package/dist/cjs/components/factories/FieldFactory.cjs.map +1 -1
  38. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.cjs.map +1 -1
  39. package/dist/cjs/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.cjs.map +1 -1
  40. package/dist/cjs/components/presentation/LanguageSwitcher/LanguageSwitcher.cjs.map +1 -1
  41. package/dist/cjs/components/presentation/User/BaseUser.cjs.map +1 -1
  42. package/dist/cjs/components/presentation/User/User.cjs.map +1 -1
  43. package/dist/cjs/components/presentation/UserAvatar/BaseUserAvatar.cjs.map +1 -1
  44. package/dist/cjs/components/presentation/UserAvatar/UserAvatar.cjs.map +1 -1
  45. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.cjs.map +1 -1
  46. package/dist/cjs/components/presentation/UserDropdown/BaseUserDropdown.styles.cjs.map +1 -1
  47. package/dist/cjs/components/presentation/UserDropdown/UserDropdown.cjs.map +1 -1
  48. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.cjs.map +1 -1
  49. package/dist/cjs/components/presentation/UserProfile/BaseUserProfile.styles.cjs.map +1 -1
  50. package/dist/cjs/components/presentation/UserProfile/UserProfile.cjs.map +1 -1
  51. package/dist/cjs/components/presentation/auth/AcceptInvite/AcceptInvite.cjs +3 -4
  52. package/dist/cjs/components/presentation/auth/AcceptInvite/AcceptInvite.cjs.map +1 -1
  53. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.cjs +15 -11
  54. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.cjs.map +1 -1
  55. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.cjs.map +1 -1
  56. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs +13 -9
  57. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs.map +1 -1
  58. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.cjs.map +1 -1
  59. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.styles.cjs.map +1 -1
  60. package/dist/cjs/components/presentation/auth/InviteUser/InviteUser.cjs.map +1 -1
  61. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs.map +1 -1
  62. package/dist/cjs/components/presentation/auth/Recovery/Recovery.cjs.map +1 -1
  63. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs.map +1 -1
  64. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.styles.cjs.map +1 -1
  65. package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs +88 -40
  66. package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs.map +1 -1
  67. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs.map +1 -1
  68. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.styles.cjs.map +1 -1
  69. package/dist/cjs/components/presentation/auth/SignUp/SignUp.cjs.map +1 -1
  70. package/dist/cjs/components/primitives/AffixedField/AffixedField.cjs.map +1 -1
  71. package/dist/cjs/components/primitives/AffixedField/AffixedField.styles.cjs.map +1 -1
  72. package/dist/cjs/components/primitives/Alert/Alert.cjs.map +1 -1
  73. package/dist/cjs/components/primitives/Alert/Alert.styles.cjs.map +1 -1
  74. package/dist/cjs/components/primitives/Avatar/Avatar.cjs.map +1 -1
  75. package/dist/cjs/components/primitives/Avatar/Avatar.styles.cjs.map +1 -1
  76. package/dist/cjs/components/primitives/Button/Button.cjs.map +1 -1
  77. package/dist/cjs/components/primitives/Button/Button.styles.cjs.map +1 -1
  78. package/dist/cjs/components/primitives/Card/Card.cjs.map +1 -1
  79. package/dist/cjs/components/primitives/Card/Card.styles.cjs.map +1 -1
  80. package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs.map +1 -1
  81. package/dist/cjs/components/primitives/Checkbox/Checkbox.styles.cjs.map +1 -1
  82. package/dist/cjs/components/primitives/CopyableText/CopyableText.cjs.map +1 -1
  83. package/dist/cjs/components/primitives/CopyableText/CopyableText.styles.cjs.map +1 -1
  84. package/dist/cjs/components/primitives/DatePicker/DatePicker.cjs.map +1 -1
  85. package/dist/cjs/components/primitives/DatePicker/DatePicker.styles.cjs.map +1 -1
  86. package/dist/cjs/components/primitives/Dialog/Dialog.cjs.map +1 -1
  87. package/dist/cjs/components/primitives/Dialog/Dialog.styles.cjs.map +1 -1
  88. package/dist/cjs/components/primitives/Divider/Divider.cjs.map +1 -1
  89. package/dist/cjs/components/primitives/Divider/Divider.styles.cjs.map +1 -1
  90. package/dist/cjs/components/primitives/FormControl/FormControl.cjs.map +1 -1
  91. package/dist/cjs/components/primitives/FormControl/FormControl.styles.cjs.map +1 -1
  92. package/dist/cjs/components/primitives/Icons/ArrowLeftRight.cjs.map +1 -1
  93. package/dist/cjs/components/primitives/Icons/ArrowRightLeft.cjs.map +1 -1
  94. package/dist/cjs/components/primitives/Icons/BuildingAlt.cjs.map +1 -1
  95. package/dist/cjs/components/primitives/Icons/Check.cjs.map +1 -1
  96. package/dist/cjs/components/primitives/Icons/ChevronDown.cjs.map +1 -1
  97. package/dist/cjs/components/primitives/Icons/CircleAlert.cjs.map +1 -1
  98. package/dist/cjs/components/primitives/Icons/CircleCheck.cjs.map +1 -1
  99. package/dist/cjs/components/primitives/Icons/Eye.cjs.map +1 -1
  100. package/dist/cjs/components/primitives/Icons/EyeOff.cjs.map +1 -1
  101. package/dist/cjs/components/primitives/Icons/Info.cjs.map +1 -1
  102. package/dist/cjs/components/primitives/Icons/LogOut.cjs.map +1 -1
  103. package/dist/cjs/components/primitives/Icons/Plus.cjs.map +1 -1
  104. package/dist/cjs/components/primitives/Icons/TriangleAlert.cjs.map +1 -1
  105. package/dist/cjs/components/primitives/Icons/User.cjs.map +1 -1
  106. package/dist/cjs/components/primitives/Icons/X.cjs.map +1 -1
  107. package/dist/cjs/components/primitives/Icons/flowIconRegistry.cjs.map +1 -1
  108. package/dist/cjs/components/primitives/InputLabel/InputLabel.cjs.map +1 -1
  109. package/dist/cjs/components/primitives/InputLabel/InputLabel.styles.cjs.map +1 -1
  110. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.cjs.map +1 -1
  111. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.styles.cjs.map +1 -1
  112. package/dist/cjs/components/primitives/Logo/Logo.cjs.map +1 -1
  113. package/dist/cjs/components/primitives/Logo/Logo.styles.cjs.map +1 -1
  114. package/dist/cjs/components/primitives/MultiInput/MultiInput.cjs.map +1 -1
  115. package/dist/cjs/components/primitives/MultiInput/MultiInput.styles.cjs.map +1 -1
  116. package/dist/cjs/components/primitives/OtpField/OtpField.cjs.map +1 -1
  117. package/dist/cjs/components/primitives/OtpField/OtpField.styles.cjs.map +1 -1
  118. package/dist/cjs/components/primitives/PasswordField/PasswordField.cjs.map +1 -1
  119. package/dist/cjs/components/primitives/PasswordField/PasswordField.styles.cjs.map +1 -1
  120. package/dist/cjs/components/primitives/Select/Select.cjs.map +1 -1
  121. package/dist/cjs/components/primitives/Select/Select.styles.cjs.map +1 -1
  122. package/dist/cjs/components/primitives/Spinner/Spinner.cjs.map +1 -1
  123. package/dist/cjs/components/primitives/Spinner/Spinner.styles.cjs.map +1 -1
  124. package/dist/cjs/components/primitives/TextField/TextField.cjs.map +1 -1
  125. package/dist/cjs/components/primitives/TextField/TextField.styles.cjs.map +1 -1
  126. package/dist/cjs/components/primitives/Toggle/Toggle.cjs.map +1 -1
  127. package/dist/cjs/components/primitives/Toggle/Toggle.styles.cjs.map +1 -1
  128. package/dist/cjs/components/primitives/Tooltip/Tooltip.cjs.map +1 -1
  129. package/dist/cjs/components/primitives/Tooltip/Tooltip.styles.cjs.map +1 -1
  130. package/dist/cjs/components/primitives/Typography/Typography.cjs.map +1 -1
  131. package/dist/cjs/components/primitives/Typography/Typography.styles.cjs.map +1 -1
  132. package/dist/cjs/contexts/ComponentRenderer/ComponentRendererContext.cjs.map +1 -1
  133. package/dist/cjs/contexts/ComponentRenderer/ComponentRendererProvider.cjs.map +1 -1
  134. package/dist/cjs/contexts/Flow/FlowContext.cjs.map +1 -1
  135. package/dist/cjs/contexts/Flow/FlowProvider.cjs.map +1 -1
  136. package/dist/cjs/contexts/Flow/useFlow.cjs.map +1 -1
  137. package/dist/cjs/contexts/FlowMeta/FlowMetaContext.cjs.map +1 -1
  138. package/dist/cjs/contexts/FlowMeta/FlowMetaProvider.cjs.map +1 -1
  139. package/dist/cjs/contexts/FlowMeta/useFlowMeta.cjs.map +1 -1
  140. package/dist/cjs/contexts/I18n/ComponentPreferencesContext.cjs.map +1 -1
  141. package/dist/cjs/contexts/I18n/I18nContext.cjs.map +1 -1
  142. package/dist/cjs/contexts/I18n/I18nProvider.cjs.map +1 -1
  143. package/dist/cjs/contexts/I18n/useI18n.cjs.map +1 -1
  144. package/dist/cjs/contexts/Theme/ThemeContext.cjs.map +1 -1
  145. package/dist/cjs/contexts/Theme/ThemeProvider.cjs.map +1 -1
  146. package/dist/cjs/contexts/Theme/useTheme.cjs.map +1 -1
  147. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs.map +1 -1
  148. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  149. package/dist/cjs/contexts/ThunderID/useThunderID.cjs.map +1 -1
  150. package/dist/cjs/contexts/User/UserContext.cjs.map +1 -1
  151. package/dist/cjs/contexts/User/UserProvider.cjs.map +1 -1
  152. package/dist/cjs/contexts/User/useUser.cjs.map +1 -1
  153. package/dist/cjs/hooks/useBrowserUrl.cjs.map +1 -1
  154. package/dist/cjs/hooks/useForm.cjs.map +1 -1
  155. package/dist/cjs/hooks/useOAuthCallback.cjs.map +1 -1
  156. package/dist/cjs/hooks/useTranslation.cjs.map +1 -1
  157. package/dist/cjs/utils/applyThemeToDOM.cjs.map +1 -1
  158. package/dist/cjs/utils/buildThemeConfigFromFlowMeta.cjs.map +1 -1
  159. package/dist/cjs/utils/composeAffixedInputs.cjs.map +1 -1
  160. package/dist/cjs/utils/flowTransformer.cjs.map +1 -1
  161. package/dist/cjs/utils/getAuthComponentHeadings.cjs.map +1 -1
  162. package/dist/cjs/utils/getDisplayName.cjs.map +1 -1
  163. package/dist/cjs/utils/getMappedUserProfileValue.cjs.map +1 -1
  164. package/dist/cjs/utils/normalizeThemeConfig.cjs.map +1 -1
  165. package/dist/cjs/utils/oauth.cjs.map +1 -1
  166. package/dist/cjs/utils/passkey.cjs.map +1 -1
  167. package/dist/cjs/utils/resolveTranslationsInArray.cjs.map +1 -1
  168. package/dist/cjs/utils/resolveTranslationsInObject.cjs.map +1 -1
  169. package/dist/components/actions/SignInButton/BaseSignInButton.d.ts +0 -17
  170. package/dist/components/actions/SignInButton/BaseSignInButton.d.ts.map +1 -1
  171. package/dist/components/actions/SignInButton/BaseSignInButton.js.map +1 -1
  172. package/dist/components/actions/SignInButton/SignInButton.d.ts +0 -17
  173. package/dist/components/actions/SignInButton/SignInButton.d.ts.map +1 -1
  174. package/dist/components/actions/SignInButton/SignInButton.js.map +1 -1
  175. package/dist/components/actions/SignOutButton/BaseSignOutButton.d.ts +0 -17
  176. package/dist/components/actions/SignOutButton/BaseSignOutButton.d.ts.map +1 -1
  177. package/dist/components/actions/SignOutButton/BaseSignOutButton.js.map +1 -1
  178. package/dist/components/actions/SignOutButton/SignOutButton.d.ts +0 -17
  179. package/dist/components/actions/SignOutButton/SignOutButton.d.ts.map +1 -1
  180. package/dist/components/actions/SignOutButton/SignOutButton.js.map +1 -1
  181. package/dist/components/actions/SignUpButton/BaseSignUpButton.d.ts +0 -17
  182. package/dist/components/actions/SignUpButton/BaseSignUpButton.d.ts.map +1 -1
  183. package/dist/components/actions/SignUpButton/BaseSignUpButton.js.map +1 -1
  184. package/dist/components/actions/SignUpButton/SignUpButton.d.ts +0 -17
  185. package/dist/components/actions/SignUpButton/SignUpButton.d.ts.map +1 -1
  186. package/dist/components/actions/SignUpButton/SignUpButton.js.map +1 -1
  187. package/dist/components/adapters/Consent.d.ts +0 -17
  188. package/dist/components/adapters/Consent.d.ts.map +1 -1
  189. package/dist/components/adapters/Consent.js.map +1 -1
  190. package/dist/components/adapters/ConsentCheckboxList.d.ts +0 -17
  191. package/dist/components/adapters/ConsentCheckboxList.d.ts.map +1 -1
  192. package/dist/components/adapters/ConsentCheckboxList.js.map +1 -1
  193. package/dist/components/adapters/ConsentCheckboxList.styles.d.ts +0 -17
  194. package/dist/components/adapters/ConsentCheckboxList.styles.d.ts.map +1 -1
  195. package/dist/components/adapters/ConsentCheckboxList.styles.js.map +1 -1
  196. package/dist/components/adapters/FacebookButton.d.ts +0 -17
  197. package/dist/components/adapters/FacebookButton.d.ts.map +1 -1
  198. package/dist/components/adapters/FacebookButton.js.map +1 -1
  199. package/dist/components/adapters/FlowTimer.d.ts +0 -17
  200. package/dist/components/adapters/FlowTimer.d.ts.map +1 -1
  201. package/dist/components/adapters/FlowTimer.js.map +1 -1
  202. package/dist/components/adapters/GitHubButton.d.ts +0 -17
  203. package/dist/components/adapters/GitHubButton.d.ts.map +1 -1
  204. package/dist/components/adapters/GitHubButton.js.map +1 -1
  205. package/dist/components/adapters/GoogleButton.d.ts +0 -17
  206. package/dist/components/adapters/GoogleButton.d.ts.map +1 -1
  207. package/dist/components/adapters/GoogleButton.js.map +1 -1
  208. package/dist/components/adapters/ImageComponent.d.ts +0 -17
  209. package/dist/components/adapters/ImageComponent.d.ts.map +1 -1
  210. package/dist/components/adapters/ImageComponent.js.map +1 -1
  211. package/dist/components/adapters/LinkedInButton.d.ts +0 -17
  212. package/dist/components/adapters/LinkedInButton.d.ts.map +1 -1
  213. package/dist/components/adapters/LinkedInButton.js.map +1 -1
  214. package/dist/components/adapters/MicrosoftButton.d.ts +0 -17
  215. package/dist/components/adapters/MicrosoftButton.d.ts.map +1 -1
  216. package/dist/components/adapters/MicrosoftButton.js.map +1 -1
  217. package/dist/components/adapters/SignInWithEthereumButton.d.ts +0 -17
  218. package/dist/components/adapters/SignInWithEthereumButton.d.ts.map +1 -1
  219. package/dist/components/adapters/SignInWithEthereumButton.js.map +1 -1
  220. package/dist/components/adapters/SmsOtpButton.d.ts +0 -17
  221. package/dist/components/adapters/SmsOtpButton.d.ts.map +1 -1
  222. package/dist/components/adapters/SmsOtpButton.js.map +1 -1
  223. package/dist/components/auth/Callback/Callback.d.ts.map +1 -1
  224. package/dist/components/auth/Callback/Callback.js.map +1 -1
  225. package/dist/components/auth/Callback/OAuthCallback.d.ts +0 -17
  226. package/dist/components/auth/Callback/OAuthCallback.d.ts.map +1 -1
  227. package/dist/components/auth/Callback/OAuthCallback.js.map +1 -1
  228. package/dist/components/auth/Callback/TokenCallback.d.ts +0 -16
  229. package/dist/components/auth/Callback/TokenCallback.d.ts.map +1 -1
  230. package/dist/components/auth/Callback/TokenCallback.js.map +1 -1
  231. package/dist/components/control/Loading.d.ts +0 -17
  232. package/dist/components/control/Loading.d.ts.map +1 -1
  233. package/dist/components/control/Loading.js.map +1 -1
  234. package/dist/components/control/SignedIn.d.ts +0 -17
  235. package/dist/components/control/SignedIn.d.ts.map +1 -1
  236. package/dist/components/control/SignedIn.js.map +1 -1
  237. package/dist/components/control/SignedOut.d.ts +0 -17
  238. package/dist/components/control/SignedOut.d.ts.map +1 -1
  239. package/dist/components/control/SignedOut.js.map +1 -1
  240. package/dist/components/factories/FieldFactory.d.ts +0 -17
  241. package/dist/components/factories/FieldFactory.d.ts.map +1 -1
  242. package/dist/components/factories/FieldFactory.js.map +1 -1
  243. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.d.ts +0 -17
  244. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.d.ts.map +1 -1
  245. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js.map +1 -1
  246. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.d.ts +0 -17
  247. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.d.ts.map +1 -1
  248. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.js.map +1 -1
  249. package/dist/components/presentation/LanguageSwitcher/LanguageSwitcher.d.ts +0 -17
  250. package/dist/components/presentation/LanguageSwitcher/LanguageSwitcher.d.ts.map +1 -1
  251. package/dist/components/presentation/LanguageSwitcher/LanguageSwitcher.js.map +1 -1
  252. package/dist/components/presentation/User/BaseUser.d.ts +0 -17
  253. package/dist/components/presentation/User/BaseUser.d.ts.map +1 -1
  254. package/dist/components/presentation/User/BaseUser.js.map +1 -1
  255. package/dist/components/presentation/User/User.d.ts +0 -17
  256. package/dist/components/presentation/User/User.d.ts.map +1 -1
  257. package/dist/components/presentation/User/User.js.map +1 -1
  258. package/dist/components/presentation/UserAvatar/BaseUserAvatar.d.ts +0 -17
  259. package/dist/components/presentation/UserAvatar/BaseUserAvatar.d.ts.map +1 -1
  260. package/dist/components/presentation/UserAvatar/BaseUserAvatar.js.map +1 -1
  261. package/dist/components/presentation/UserAvatar/UserAvatar.d.ts +0 -17
  262. package/dist/components/presentation/UserAvatar/UserAvatar.d.ts.map +1 -1
  263. package/dist/components/presentation/UserAvatar/UserAvatar.js.map +1 -1
  264. package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts +0 -17
  265. package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts.map +1 -1
  266. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js.map +1 -1
  267. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.d.ts +0 -17
  268. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.d.ts.map +1 -1
  269. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.js.map +1 -1
  270. package/dist/components/presentation/UserDropdown/UserDropdown.d.ts +0 -17
  271. package/dist/components/presentation/UserDropdown/UserDropdown.d.ts.map +1 -1
  272. package/dist/components/presentation/UserDropdown/UserDropdown.js.map +1 -1
  273. package/dist/components/presentation/UserProfile/BaseUserProfile.d.ts +0 -17
  274. package/dist/components/presentation/UserProfile/BaseUserProfile.d.ts.map +1 -1
  275. package/dist/components/presentation/UserProfile/BaseUserProfile.js.map +1 -1
  276. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.d.ts +0 -17
  277. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.d.ts.map +1 -1
  278. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.js.map +1 -1
  279. package/dist/components/presentation/UserProfile/UserProfile.d.ts +0 -17
  280. package/dist/components/presentation/UserProfile/UserProfile.d.ts.map +1 -1
  281. package/dist/components/presentation/UserProfile/UserProfile.js.map +1 -1
  282. package/dist/components/presentation/auth/AcceptInvite/AcceptInvite.d.ts +0 -17
  283. package/dist/components/presentation/auth/AcceptInvite/AcceptInvite.d.ts.map +1 -1
  284. package/dist/components/presentation/auth/AcceptInvite/AcceptInvite.js +2 -4
  285. package/dist/components/presentation/auth/AcceptInvite/AcceptInvite.js.map +1 -1
  286. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.d.ts +0 -17
  287. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.d.ts.map +1 -1
  288. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.js +16 -12
  289. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.js.map +1 -1
  290. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.d.ts +0 -17
  291. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.d.ts.map +1 -1
  292. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.js.map +1 -1
  293. package/dist/components/presentation/auth/AcceptInvite/index.d.ts +0 -17
  294. package/dist/components/presentation/auth/AcceptInvite/index.d.ts.map +1 -1
  295. package/dist/components/presentation/auth/AuthOptionFactory.d.ts +0 -17
  296. package/dist/components/presentation/auth/AuthOptionFactory.d.ts.map +1 -1
  297. package/dist/components/presentation/auth/AuthOptionFactory.js +14 -10
  298. package/dist/components/presentation/auth/AuthOptionFactory.js.map +1 -1
  299. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.d.ts +0 -17
  300. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.d.ts.map +1 -1
  301. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.js.map +1 -1
  302. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.d.ts +0 -17
  303. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.d.ts.map +1 -1
  304. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.js.map +1 -1
  305. package/dist/components/presentation/auth/InviteUser/InviteUser.d.ts +0 -17
  306. package/dist/components/presentation/auth/InviteUser/InviteUser.d.ts.map +1 -1
  307. package/dist/components/presentation/auth/InviteUser/InviteUser.js.map +1 -1
  308. package/dist/components/presentation/auth/InviteUser/index.d.ts +0 -17
  309. package/dist/components/presentation/auth/InviteUser/index.d.ts.map +1 -1
  310. package/dist/components/presentation/auth/Recovery/BaseRecovery.d.ts +0 -17
  311. package/dist/components/presentation/auth/Recovery/BaseRecovery.d.ts.map +1 -1
  312. package/dist/components/presentation/auth/Recovery/BaseRecovery.js.map +1 -1
  313. package/dist/components/presentation/auth/Recovery/Recovery.d.ts +0 -17
  314. package/dist/components/presentation/auth/Recovery/Recovery.d.ts.map +1 -1
  315. package/dist/components/presentation/auth/Recovery/Recovery.js.map +1 -1
  316. package/dist/components/presentation/auth/SignIn/BaseSignIn.d.ts +0 -17
  317. package/dist/components/presentation/auth/SignIn/BaseSignIn.d.ts.map +1 -1
  318. package/dist/components/presentation/auth/SignIn/BaseSignIn.js.map +1 -1
  319. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.d.ts +0 -17
  320. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.d.ts.map +1 -1
  321. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.js.map +1 -1
  322. package/dist/components/presentation/auth/SignIn/SignIn.d.ts +0 -17
  323. package/dist/components/presentation/auth/SignIn/SignIn.d.ts.map +1 -1
  324. package/dist/components/presentation/auth/SignIn/SignIn.js +89 -41
  325. package/dist/components/presentation/auth/SignIn/SignIn.js.map +1 -1
  326. package/dist/components/presentation/auth/SignUp/BaseSignUp.d.ts +0 -17
  327. package/dist/components/presentation/auth/SignUp/BaseSignUp.d.ts.map +1 -1
  328. package/dist/components/presentation/auth/SignUp/BaseSignUp.js.map +1 -1
  329. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.d.ts +0 -17
  330. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.d.ts.map +1 -1
  331. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.js.map +1 -1
  332. package/dist/components/presentation/auth/SignUp/SignUp.d.ts +0 -17
  333. package/dist/components/presentation/auth/SignUp/SignUp.d.ts.map +1 -1
  334. package/dist/components/presentation/auth/SignUp/SignUp.js.map +1 -1
  335. package/dist/components/primitives/AffixedField/AffixedField.d.ts +0 -17
  336. package/dist/components/primitives/AffixedField/AffixedField.d.ts.map +1 -1
  337. package/dist/components/primitives/AffixedField/AffixedField.js.map +1 -1
  338. package/dist/components/primitives/AffixedField/AffixedField.styles.d.ts +0 -17
  339. package/dist/components/primitives/AffixedField/AffixedField.styles.d.ts.map +1 -1
  340. package/dist/components/primitives/AffixedField/AffixedField.styles.js.map +1 -1
  341. package/dist/components/primitives/AffixedField/index.d.ts +0 -17
  342. package/dist/components/primitives/AffixedField/index.d.ts.map +1 -1
  343. package/dist/components/primitives/Alert/Alert.d.ts +0 -17
  344. package/dist/components/primitives/Alert/Alert.d.ts.map +1 -1
  345. package/dist/components/primitives/Alert/Alert.js.map +1 -1
  346. package/dist/components/primitives/Alert/Alert.styles.d.ts +0 -17
  347. package/dist/components/primitives/Alert/Alert.styles.d.ts.map +1 -1
  348. package/dist/components/primitives/Alert/Alert.styles.js.map +1 -1
  349. package/dist/components/primitives/Avatar/Avatar.d.ts +0 -17
  350. package/dist/components/primitives/Avatar/Avatar.d.ts.map +1 -1
  351. package/dist/components/primitives/Avatar/Avatar.js.map +1 -1
  352. package/dist/components/primitives/Avatar/Avatar.styles.d.ts +0 -17
  353. package/dist/components/primitives/Avatar/Avatar.styles.d.ts.map +1 -1
  354. package/dist/components/primitives/Avatar/Avatar.styles.js.map +1 -1
  355. package/dist/components/primitives/Button/Button.d.ts +0 -17
  356. package/dist/components/primitives/Button/Button.d.ts.map +1 -1
  357. package/dist/components/primitives/Button/Button.js.map +1 -1
  358. package/dist/components/primitives/Button/Button.styles.d.ts +0 -17
  359. package/dist/components/primitives/Button/Button.styles.d.ts.map +1 -1
  360. package/dist/components/primitives/Button/Button.styles.js.map +1 -1
  361. package/dist/components/primitives/Card/Card.d.ts +0 -17
  362. package/dist/components/primitives/Card/Card.d.ts.map +1 -1
  363. package/dist/components/primitives/Card/Card.js.map +1 -1
  364. package/dist/components/primitives/Card/Card.styles.d.ts +0 -17
  365. package/dist/components/primitives/Card/Card.styles.d.ts.map +1 -1
  366. package/dist/components/primitives/Card/Card.styles.js.map +1 -1
  367. package/dist/components/primitives/Checkbox/Checkbox.d.ts +0 -17
  368. package/dist/components/primitives/Checkbox/Checkbox.d.ts.map +1 -1
  369. package/dist/components/primitives/Checkbox/Checkbox.js.map +1 -1
  370. package/dist/components/primitives/Checkbox/Checkbox.styles.d.ts +0 -17
  371. package/dist/components/primitives/Checkbox/Checkbox.styles.d.ts.map +1 -1
  372. package/dist/components/primitives/Checkbox/Checkbox.styles.js.map +1 -1
  373. package/dist/components/primitives/CopyableText/CopyableText.d.ts +0 -17
  374. package/dist/components/primitives/CopyableText/CopyableText.d.ts.map +1 -1
  375. package/dist/components/primitives/CopyableText/CopyableText.js.map +1 -1
  376. package/dist/components/primitives/CopyableText/CopyableText.styles.d.ts +0 -17
  377. package/dist/components/primitives/CopyableText/CopyableText.styles.d.ts.map +1 -1
  378. package/dist/components/primitives/CopyableText/CopyableText.styles.js.map +1 -1
  379. package/dist/components/primitives/CopyableText/index.d.ts +0 -17
  380. package/dist/components/primitives/CopyableText/index.d.ts.map +1 -1
  381. package/dist/components/primitives/DatePicker/DatePicker.d.ts +0 -17
  382. package/dist/components/primitives/DatePicker/DatePicker.d.ts.map +1 -1
  383. package/dist/components/primitives/DatePicker/DatePicker.js.map +1 -1
  384. package/dist/components/primitives/DatePicker/DatePicker.styles.d.ts +0 -17
  385. package/dist/components/primitives/DatePicker/DatePicker.styles.d.ts.map +1 -1
  386. package/dist/components/primitives/DatePicker/DatePicker.styles.js.map +1 -1
  387. package/dist/components/primitives/Dialog/Dialog.d.ts +0 -17
  388. package/dist/components/primitives/Dialog/Dialog.d.ts.map +1 -1
  389. package/dist/components/primitives/Dialog/Dialog.js.map +1 -1
  390. package/dist/components/primitives/Dialog/Dialog.styles.d.ts +0 -17
  391. package/dist/components/primitives/Dialog/Dialog.styles.d.ts.map +1 -1
  392. package/dist/components/primitives/Dialog/Dialog.styles.js.map +1 -1
  393. package/dist/components/primitives/Divider/Divider.d.ts +0 -17
  394. package/dist/components/primitives/Divider/Divider.d.ts.map +1 -1
  395. package/dist/components/primitives/Divider/Divider.js.map +1 -1
  396. package/dist/components/primitives/Divider/Divider.styles.d.ts +0 -17
  397. package/dist/components/primitives/Divider/Divider.styles.d.ts.map +1 -1
  398. package/dist/components/primitives/Divider/Divider.styles.js.map +1 -1
  399. package/dist/components/primitives/FormControl/FormControl.d.ts +0 -17
  400. package/dist/components/primitives/FormControl/FormControl.d.ts.map +1 -1
  401. package/dist/components/primitives/FormControl/FormControl.js.map +1 -1
  402. package/dist/components/primitives/FormControl/FormControl.styles.d.ts +0 -17
  403. package/dist/components/primitives/FormControl/FormControl.styles.d.ts.map +1 -1
  404. package/dist/components/primitives/FormControl/FormControl.styles.js.map +1 -1
  405. package/dist/components/primitives/Icons/ArrowLeftRight.d.ts +0 -17
  406. package/dist/components/primitives/Icons/ArrowLeftRight.d.ts.map +1 -1
  407. package/dist/components/primitives/Icons/ArrowLeftRight.js.map +1 -1
  408. package/dist/components/primitives/Icons/ArrowRightLeft.d.ts +0 -17
  409. package/dist/components/primitives/Icons/ArrowRightLeft.d.ts.map +1 -1
  410. package/dist/components/primitives/Icons/ArrowRightLeft.js.map +1 -1
  411. package/dist/components/primitives/Icons/Building.d.ts +0 -17
  412. package/dist/components/primitives/Icons/Building.d.ts.map +1 -1
  413. package/dist/components/primitives/Icons/BuildingAlt.d.ts +0 -17
  414. package/dist/components/primitives/Icons/BuildingAlt.d.ts.map +1 -1
  415. package/dist/components/primitives/Icons/BuildingAlt.js.map +1 -1
  416. package/dist/components/primitives/Icons/Check.d.ts +0 -17
  417. package/dist/components/primitives/Icons/Check.d.ts.map +1 -1
  418. package/dist/components/primitives/Icons/Check.js.map +1 -1
  419. package/dist/components/primitives/Icons/ChevronDown.d.ts +0 -17
  420. package/dist/components/primitives/Icons/ChevronDown.d.ts.map +1 -1
  421. package/dist/components/primitives/Icons/ChevronDown.js.map +1 -1
  422. package/dist/components/primitives/Icons/CircleAlert.d.ts +0 -17
  423. package/dist/components/primitives/Icons/CircleAlert.d.ts.map +1 -1
  424. package/dist/components/primitives/Icons/CircleAlert.js.map +1 -1
  425. package/dist/components/primitives/Icons/CircleCheck.d.ts +0 -17
  426. package/dist/components/primitives/Icons/CircleCheck.d.ts.map +1 -1
  427. package/dist/components/primitives/Icons/CircleCheck.js.map +1 -1
  428. package/dist/components/primitives/Icons/Eye.d.ts +0 -17
  429. package/dist/components/primitives/Icons/Eye.d.ts.map +1 -1
  430. package/dist/components/primitives/Icons/Eye.js.map +1 -1
  431. package/dist/components/primitives/Icons/EyeOff.d.ts +0 -17
  432. package/dist/components/primitives/Icons/EyeOff.d.ts.map +1 -1
  433. package/dist/components/primitives/Icons/EyeOff.js.map +1 -1
  434. package/dist/components/primitives/Icons/Info.d.ts +0 -17
  435. package/dist/components/primitives/Icons/Info.d.ts.map +1 -1
  436. package/dist/components/primitives/Icons/Info.js.map +1 -1
  437. package/dist/components/primitives/Icons/LogOut.d.ts +0 -17
  438. package/dist/components/primitives/Icons/LogOut.d.ts.map +1 -1
  439. package/dist/components/primitives/Icons/LogOut.js.map +1 -1
  440. package/dist/components/primitives/Icons/Plus.d.ts +0 -17
  441. package/dist/components/primitives/Icons/Plus.d.ts.map +1 -1
  442. package/dist/components/primitives/Icons/Plus.js.map +1 -1
  443. package/dist/components/primitives/Icons/TriangleAlert.d.ts +0 -17
  444. package/dist/components/primitives/Icons/TriangleAlert.d.ts.map +1 -1
  445. package/dist/components/primitives/Icons/TriangleAlert.js.map +1 -1
  446. package/dist/components/primitives/Icons/User.d.ts +0 -17
  447. package/dist/components/primitives/Icons/User.d.ts.map +1 -1
  448. package/dist/components/primitives/Icons/User.js.map +1 -1
  449. package/dist/components/primitives/Icons/X.d.ts +0 -17
  450. package/dist/components/primitives/Icons/X.d.ts.map +1 -1
  451. package/dist/components/primitives/Icons/X.js.map +1 -1
  452. package/dist/components/primitives/Icons/flowIconRegistry.d.ts +0 -17
  453. package/dist/components/primitives/Icons/flowIconRegistry.d.ts.map +1 -1
  454. package/dist/components/primitives/Icons/flowIconRegistry.js.map +1 -1
  455. package/dist/components/primitives/Icons/index.d.ts +0 -17
  456. package/dist/components/primitives/Icons/index.d.ts.map +1 -1
  457. package/dist/components/primitives/InputLabel/InputLabel.d.ts +0 -17
  458. package/dist/components/primitives/InputLabel/InputLabel.d.ts.map +1 -1
  459. package/dist/components/primitives/InputLabel/InputLabel.js.map +1 -1
  460. package/dist/components/primitives/InputLabel/InputLabel.styles.d.ts +0 -17
  461. package/dist/components/primitives/InputLabel/InputLabel.styles.d.ts.map +1 -1
  462. package/dist/components/primitives/InputLabel/InputLabel.styles.js.map +1 -1
  463. package/dist/components/primitives/KeyValueInput/KeyValueInput.d.ts +0 -17
  464. package/dist/components/primitives/KeyValueInput/KeyValueInput.d.ts.map +1 -1
  465. package/dist/components/primitives/KeyValueInput/KeyValueInput.js.map +1 -1
  466. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.d.ts +0 -17
  467. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.d.ts.map +1 -1
  468. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.js.map +1 -1
  469. package/dist/components/primitives/Logo/Logo.d.ts +0 -17
  470. package/dist/components/primitives/Logo/Logo.d.ts.map +1 -1
  471. package/dist/components/primitives/Logo/Logo.js.map +1 -1
  472. package/dist/components/primitives/Logo/Logo.styles.d.ts +0 -17
  473. package/dist/components/primitives/Logo/Logo.styles.d.ts.map +1 -1
  474. package/dist/components/primitives/Logo/Logo.styles.js.map +1 -1
  475. package/dist/components/primitives/MultiInput/MultiInput.d.ts +0 -17
  476. package/dist/components/primitives/MultiInput/MultiInput.d.ts.map +1 -1
  477. package/dist/components/primitives/MultiInput/MultiInput.js.map +1 -1
  478. package/dist/components/primitives/MultiInput/MultiInput.styles.d.ts +0 -17
  479. package/dist/components/primitives/MultiInput/MultiInput.styles.d.ts.map +1 -1
  480. package/dist/components/primitives/MultiInput/MultiInput.styles.js.map +1 -1
  481. package/dist/components/primitives/OtpField/OtpField.d.ts +0 -17
  482. package/dist/components/primitives/OtpField/OtpField.d.ts.map +1 -1
  483. package/dist/components/primitives/OtpField/OtpField.js.map +1 -1
  484. package/dist/components/primitives/OtpField/OtpField.styles.d.ts +0 -17
  485. package/dist/components/primitives/OtpField/OtpField.styles.d.ts.map +1 -1
  486. package/dist/components/primitives/OtpField/OtpField.styles.js.map +1 -1
  487. package/dist/components/primitives/PasswordField/PasswordField.d.ts +0 -17
  488. package/dist/components/primitives/PasswordField/PasswordField.d.ts.map +1 -1
  489. package/dist/components/primitives/PasswordField/PasswordField.js.map +1 -1
  490. package/dist/components/primitives/PasswordField/PasswordField.styles.d.ts +0 -17
  491. package/dist/components/primitives/PasswordField/PasswordField.styles.d.ts.map +1 -1
  492. package/dist/components/primitives/PasswordField/PasswordField.styles.js.map +1 -1
  493. package/dist/components/primitives/Select/Select.d.ts +0 -17
  494. package/dist/components/primitives/Select/Select.d.ts.map +1 -1
  495. package/dist/components/primitives/Select/Select.js.map +1 -1
  496. package/dist/components/primitives/Select/Select.styles.d.ts +0 -17
  497. package/dist/components/primitives/Select/Select.styles.d.ts.map +1 -1
  498. package/dist/components/primitives/Select/Select.styles.js.map +1 -1
  499. package/dist/components/primitives/Spinner/Spinner.d.ts +0 -17
  500. package/dist/components/primitives/Spinner/Spinner.d.ts.map +1 -1
  501. package/dist/components/primitives/Spinner/Spinner.js.map +1 -1
  502. package/dist/components/primitives/Spinner/Spinner.styles.d.ts +0 -17
  503. package/dist/components/primitives/Spinner/Spinner.styles.d.ts.map +1 -1
  504. package/dist/components/primitives/Spinner/Spinner.styles.js.map +1 -1
  505. package/dist/components/primitives/TextField/TextField.d.ts +0 -17
  506. package/dist/components/primitives/TextField/TextField.d.ts.map +1 -1
  507. package/dist/components/primitives/TextField/TextField.js.map +1 -1
  508. package/dist/components/primitives/TextField/TextField.styles.d.ts +0 -17
  509. package/dist/components/primitives/TextField/TextField.styles.d.ts.map +1 -1
  510. package/dist/components/primitives/TextField/TextField.styles.js.map +1 -1
  511. package/dist/components/primitives/Toggle/Toggle.d.ts +0 -17
  512. package/dist/components/primitives/Toggle/Toggle.d.ts.map +1 -1
  513. package/dist/components/primitives/Toggle/Toggle.js.map +1 -1
  514. package/dist/components/primitives/Toggle/Toggle.styles.d.ts +0 -17
  515. package/dist/components/primitives/Toggle/Toggle.styles.d.ts.map +1 -1
  516. package/dist/components/primitives/Toggle/Toggle.styles.js.map +1 -1
  517. package/dist/components/primitives/Tooltip/Tooltip.d.ts +0 -17
  518. package/dist/components/primitives/Tooltip/Tooltip.d.ts.map +1 -1
  519. package/dist/components/primitives/Tooltip/Tooltip.js.map +1 -1
  520. package/dist/components/primitives/Tooltip/Tooltip.styles.d.ts +0 -17
  521. package/dist/components/primitives/Tooltip/Tooltip.styles.d.ts.map +1 -1
  522. package/dist/components/primitives/Tooltip/Tooltip.styles.js.map +1 -1
  523. package/dist/components/primitives/Typography/Typography.d.ts +0 -17
  524. package/dist/components/primitives/Typography/Typography.d.ts.map +1 -1
  525. package/dist/components/primitives/Typography/Typography.js.map +1 -1
  526. package/dist/components/primitives/Typography/Typography.styles.d.ts +0 -17
  527. package/dist/components/primitives/Typography/Typography.styles.d.ts.map +1 -1
  528. package/dist/components/primitives/Typography/Typography.styles.js.map +1 -1
  529. package/dist/contexts/ComponentRenderer/ComponentRendererContext.d.ts +0 -17
  530. package/dist/contexts/ComponentRenderer/ComponentRendererContext.d.ts.map +1 -1
  531. package/dist/contexts/ComponentRenderer/ComponentRendererContext.js.map +1 -1
  532. package/dist/contexts/ComponentRenderer/ComponentRendererProvider.d.ts +0 -17
  533. package/dist/contexts/ComponentRenderer/ComponentRendererProvider.d.ts.map +1 -1
  534. package/dist/contexts/ComponentRenderer/ComponentRendererProvider.js.map +1 -1
  535. package/dist/contexts/Flow/FlowContext.d.ts +0 -17
  536. package/dist/contexts/Flow/FlowContext.d.ts.map +1 -1
  537. package/dist/contexts/Flow/FlowContext.js.map +1 -1
  538. package/dist/contexts/Flow/FlowProvider.d.ts +0 -17
  539. package/dist/contexts/Flow/FlowProvider.d.ts.map +1 -1
  540. package/dist/contexts/Flow/FlowProvider.js.map +1 -1
  541. package/dist/contexts/Flow/useFlow.d.ts +0 -17
  542. package/dist/contexts/Flow/useFlow.d.ts.map +1 -1
  543. package/dist/contexts/Flow/useFlow.js.map +1 -1
  544. package/dist/contexts/FlowMeta/FlowMetaContext.d.ts +0 -17
  545. package/dist/contexts/FlowMeta/FlowMetaContext.d.ts.map +1 -1
  546. package/dist/contexts/FlowMeta/FlowMetaContext.js.map +1 -1
  547. package/dist/contexts/FlowMeta/FlowMetaProvider.d.ts +0 -17
  548. package/dist/contexts/FlowMeta/FlowMetaProvider.d.ts.map +1 -1
  549. package/dist/contexts/FlowMeta/FlowMetaProvider.js.map +1 -1
  550. package/dist/contexts/FlowMeta/useFlowMeta.d.ts +0 -17
  551. package/dist/contexts/FlowMeta/useFlowMeta.d.ts.map +1 -1
  552. package/dist/contexts/FlowMeta/useFlowMeta.js.map +1 -1
  553. package/dist/contexts/I18n/ComponentPreferencesContext.d.ts +0 -17
  554. package/dist/contexts/I18n/ComponentPreferencesContext.d.ts.map +1 -1
  555. package/dist/contexts/I18n/ComponentPreferencesContext.js.map +1 -1
  556. package/dist/contexts/I18n/I18nContext.d.ts +0 -17
  557. package/dist/contexts/I18n/I18nContext.d.ts.map +1 -1
  558. package/dist/contexts/I18n/I18nContext.js.map +1 -1
  559. package/dist/contexts/I18n/I18nProvider.d.ts +0 -17
  560. package/dist/contexts/I18n/I18nProvider.d.ts.map +1 -1
  561. package/dist/contexts/I18n/I18nProvider.js.map +1 -1
  562. package/dist/contexts/I18n/useI18n.d.ts +0 -17
  563. package/dist/contexts/I18n/useI18n.d.ts.map +1 -1
  564. package/dist/contexts/I18n/useI18n.js.map +1 -1
  565. package/dist/contexts/Theme/ThemeContext.d.ts +0 -17
  566. package/dist/contexts/Theme/ThemeContext.d.ts.map +1 -1
  567. package/dist/contexts/Theme/ThemeContext.js.map +1 -1
  568. package/dist/contexts/Theme/ThemeProvider.d.ts +0 -17
  569. package/dist/contexts/Theme/ThemeProvider.d.ts.map +1 -1
  570. package/dist/contexts/Theme/ThemeProvider.js.map +1 -1
  571. package/dist/contexts/Theme/types.d.ts +0 -17
  572. package/dist/contexts/Theme/types.d.ts.map +1 -1
  573. package/dist/contexts/Theme/useTheme.d.ts +0 -17
  574. package/dist/contexts/Theme/useTheme.d.ts.map +1 -1
  575. package/dist/contexts/Theme/useTheme.js.map +1 -1
  576. package/dist/contexts/ThunderID/ThunderIDContext.d.ts +0 -17
  577. package/dist/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -1
  578. package/dist/contexts/ThunderID/ThunderIDContext.js.map +1 -1
  579. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts +0 -17
  580. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  581. package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  582. package/dist/contexts/ThunderID/useThunderID.d.ts +0 -17
  583. package/dist/contexts/ThunderID/useThunderID.d.ts.map +1 -1
  584. package/dist/contexts/ThunderID/useThunderID.js.map +1 -1
  585. package/dist/contexts/User/UserContext.d.ts +0 -17
  586. package/dist/contexts/User/UserContext.d.ts.map +1 -1
  587. package/dist/contexts/User/UserContext.js.map +1 -1
  588. package/dist/contexts/User/UserProvider.d.ts +0 -17
  589. package/dist/contexts/User/UserProvider.d.ts.map +1 -1
  590. package/dist/contexts/User/UserProvider.js.map +1 -1
  591. package/dist/contexts/User/useUser.d.ts +0 -17
  592. package/dist/contexts/User/useUser.d.ts.map +1 -1
  593. package/dist/contexts/User/useUser.js.map +1 -1
  594. package/dist/hooks/useBrowserUrl.d.ts +0 -17
  595. package/dist/hooks/useBrowserUrl.d.ts.map +1 -1
  596. package/dist/hooks/useBrowserUrl.js.map +1 -1
  597. package/dist/hooks/useForm.d.ts +0 -17
  598. package/dist/hooks/useForm.d.ts.map +1 -1
  599. package/dist/hooks/useForm.js.map +1 -1
  600. package/dist/hooks/useOAuthCallback.d.ts +0 -17
  601. package/dist/hooks/useOAuthCallback.d.ts.map +1 -1
  602. package/dist/hooks/useOAuthCallback.js.map +1 -1
  603. package/dist/hooks/useTranslation.d.ts +0 -17
  604. package/dist/hooks/useTranslation.d.ts.map +1 -1
  605. package/dist/hooks/useTranslation.js.map +1 -1
  606. package/dist/index.d.ts +0 -17
  607. package/dist/index.d.ts.map +1 -1
  608. package/dist/models/adapters.d.ts +0 -17
  609. package/dist/models/adapters.d.ts.map +1 -1
  610. package/dist/models/config.d.ts +0 -17
  611. package/dist/models/config.d.ts.map +1 -1
  612. package/dist/utils/applyThemeToDOM.d.ts +0 -17
  613. package/dist/utils/applyThemeToDOM.d.ts.map +1 -1
  614. package/dist/utils/applyThemeToDOM.js.map +1 -1
  615. package/dist/utils/buildThemeConfigFromFlowMeta.d.ts +0 -17
  616. package/dist/utils/buildThemeConfigFromFlowMeta.d.ts.map +1 -1
  617. package/dist/utils/buildThemeConfigFromFlowMeta.js.map +1 -1
  618. package/dist/utils/composeAffixedInputs.d.ts +0 -17
  619. package/dist/utils/composeAffixedInputs.d.ts.map +1 -1
  620. package/dist/utils/composeAffixedInputs.js.map +1 -1
  621. package/dist/utils/flowTransformer.d.ts +0 -17
  622. package/dist/utils/flowTransformer.d.ts.map +1 -1
  623. package/dist/utils/flowTransformer.js.map +1 -1
  624. package/dist/utils/getAuthComponentHeadings.d.ts +0 -17
  625. package/dist/utils/getAuthComponentHeadings.d.ts.map +1 -1
  626. package/dist/utils/getAuthComponentHeadings.js.map +1 -1
  627. package/dist/utils/getDisplayName.d.ts +0 -17
  628. package/dist/utils/getDisplayName.d.ts.map +1 -1
  629. package/dist/utils/getDisplayName.js.map +1 -1
  630. package/dist/utils/getMappedUserProfileValue.d.ts +0 -17
  631. package/dist/utils/getMappedUserProfileValue.d.ts.map +1 -1
  632. package/dist/utils/getMappedUserProfileValue.js.map +1 -1
  633. package/dist/utils/normalizeThemeConfig.d.ts +0 -17
  634. package/dist/utils/normalizeThemeConfig.d.ts.map +1 -1
  635. package/dist/utils/normalizeThemeConfig.js.map +1 -1
  636. package/dist/utils/oauth.d.ts +0 -17
  637. package/dist/utils/oauth.d.ts.map +1 -1
  638. package/dist/utils/oauth.js.map +1 -1
  639. package/dist/utils/passkey.d.ts +0 -17
  640. package/dist/utils/passkey.d.ts.map +1 -1
  641. package/dist/utils/passkey.js.map +1 -1
  642. package/dist/utils/resolveTranslationsInArray.d.ts +0 -17
  643. package/dist/utils/resolveTranslationsInArray.d.ts.map +1 -1
  644. package/dist/utils/resolveTranslationsInArray.js.map +1 -1
  645. package/dist/utils/resolveTranslationsInObject.d.ts +0 -17
  646. package/dist/utils/resolveTranslationsInObject.d.ts.map +1 -1
  647. package/dist/utils/resolveTranslationsInObject.js.map +1 -1
  648. package/package.json +3 -3
@@ -1,20 +1,3 @@
1
- /**
2
- * Copyright (c) 2025-2026, WSO2 LLC. (https://www.wso2.com).
3
- *
4
- * WSO2 LLC. licenses this file to you under the Apache License,
5
- * Version 2.0 (the "License"); you may not use this file except
6
- * in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing,
12
- * software distributed under the License is distributed on an
13
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- * KIND, either express or implied. See the License for the
15
- * specific language governing permissions and limitations
16
- * under the License.
17
- */
18
1
  import { ThunderIDBrowserClient, UserProfile, SignInOptions, User, SignUpOptions, IdToken, TokenResponse, HttpRequestConfig, HttpResponse, TokenExchangeRequestConfig, EmbeddedSignInFlowResponse } from '@thunderid/browser';
19
2
  import { ThunderIDReactConfig } from './models/config';
20
3
  declare class ThunderIDReactClient<T extends ThunderIDReactConfig = ThunderIDReactConfig> extends ThunderIDBrowserClient<T> {
@@ -1 +1 @@
1
- {"version":3,"file":"ThunderIDReactClient.d.ts","sourceRoot":"","sources":["../src/ThunderIDReactClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,IAAI,EACJ,aAAa,EAGb,OAAO,EAEP,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,0BAA0B,EAE1B,0BAA0B,EAM3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAErD,cAAM,oBAAoB,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,sBAAsB,CAAC,CAAC,CAAC;IACjH,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,iBAAiB,CAAmC;gBAEhD,UAAU,SAAI;IAI1B,OAAO,CAAC,UAAU;YAIJ,WAAW;IAUhB,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAY1D,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB/D,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAW5C,SAAS,IAAI,OAAO;IAId,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAI9B,aAAa,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAC;IAIpF,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,0BAA0B,CAAC;IAmFlE,cAAc,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;IAIhE,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAoDlC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAUnC,iBAAiB,IAAI,GAAG;IAIlC,OAAO,CAAC,aAAa,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAItE,UAAU,CAAC,cAAc,CAAC,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;CAGrF;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"ThunderIDReactClient.d.ts","sourceRoot":"","sources":["../src/ThunderIDReactClient.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,IAAI,EACJ,aAAa,EAGb,OAAO,EAEP,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,0BAA0B,EAE1B,0BAA0B,EAM3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAErD,cAAM,oBAAoB,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,sBAAsB,CAAC,CAAC,CAAC;IACjH,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,iBAAiB,CAAmC;gBAEhD,UAAU,SAAI;IAI1B,OAAO,CAAC,UAAU;YAIJ,WAAW;IAUhB,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAY1D,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB/D,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAW5C,SAAS,IAAI,OAAO;IAId,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAI9B,aAAa,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAC;IAIpF,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,0BAA0B,CAAC;IAmFlE,cAAc,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;IAIhE,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAoDlC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAUnC,iBAAiB,IAAI,GAAG;IAIlC,OAAO,CAAC,aAAa,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAItE,UAAU,CAAC,cAAc,CAAC,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;CAGrF;AAED,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThunderIDReactClient.js","names":["isInitialized: boolean","claims: User","arg1: any","arg2: any","config: ThunderIDReactConfig | undefined","authIdFromUrl: string","authIdFromStorage: string","response: EmbeddedSignInFlowResponse","decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }","createdAt: number","expiresIn: number","config: ThunderIDReactConfig","firstArg: any","baseUrl: string","response: any","decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }"],"sources":["../src/ThunderIDReactClient.ts"],"sourcesContent":["/**\n * Copyright (c) 2025-2026, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {\n ThunderIDBrowserClient,\n UserProfile,\n SignInOptions,\n User,\n SignUpOptions,\n ThunderIDRuntimeError,\n executeEmbeddedSignInFlow,\n IdToken,\n extractUserClaimsFromIdToken,\n TokenResponse,\n HttpRequestConfig,\n HttpResponse,\n TokenExchangeRequestConfig,\n isEmpty,\n EmbeddedSignInFlowResponse,\n executeEmbeddedSignUpFlow,\n executeEmbeddedRecoveryFlow,\n EmbeddedSignInFlowStatus,\n EmbeddedSignUpFlowStatus,\n resolveResourceEndpoint,\n} from '@thunderid/browser';\nimport {ThunderIDReactConfig} from './models/config';\n\nclass ThunderIDReactClient<T extends ThunderIDReactConfig = ThunderIDReactConfig> extends ThunderIDBrowserClient<T> {\n private loadingState = false;\n\n private _initializeConfig: ThunderIDReactConfig | undefined;\n\n constructor(instanceId = 0) {\n super(instanceId);\n }\n\n private setLoading(loading: boolean): void {\n this.loadingState = loading;\n }\n\n private async withLoading<TResult>(operation: () => Promise<TResult>): Promise<TResult> {\n this.setLoading(true);\n try {\n const result: TResult = await operation();\n return result;\n } finally {\n this.setLoading(false);\n }\n }\n\n override initialize(config: ThunderIDReactConfig): Promise<boolean> {\n return this.withLoading(async () => {\n this._initializeConfig = {\n ...config,\n periodicTokenRefresh:\n config?.tokenLifecycle?.refreshToken?.autoRefresh ?? (config as any)?.periodicTokenRefresh,\n } as any;\n\n return super.initialize(this._initializeConfig as unknown as T);\n });\n }\n\n override reInitialize(config: Partial<ThunderIDReactConfig>): Promise<boolean> {\n return this.withLoading(async () => {\n let isInitialized: boolean;\n\n try {\n await super.reInitialize(config as Partial<T>);\n isInitialized = true;\n } catch (error) {\n throw new ThunderIDRuntimeError(\n `Failed to check if the client is initialized: ${error instanceof Error ? error.message : String(error)}`,\n 'ThunderIDReactClient-reInitialize-RuntimeError-001',\n 'react',\n 'An error occurred while checking the initialization status of the client.',\n );\n }\n\n return isInitialized;\n });\n }\n\n override async updateUserProfile(): Promise<User> {\n throw new Error('Not implemented');\n }\n\n override async getUser(): Promise<User> {\n return extractUserClaimsFromIdToken(await this.getDecodedIdToken());\n }\n\n override async getDecodedIdToken(sessionId?: string): Promise<IdToken> {\n return super.getDecodedIdToken(sessionId);\n }\n\n override async getIdToken(): Promise<string> {\n return this.withLoading(async () => super.getIdToken());\n }\n\n override async getUserProfile(): Promise<UserProfile> {\n return this.withLoading(async () => {\n const claims: User = extractUserClaimsFromIdToken(await this.getDecodedIdToken());\n return {\n flattenedProfile: claims,\n profile: claims,\n schemas: [],\n };\n });\n }\n\n override isLoading(): boolean {\n return this.loadingState;\n }\n\n override async isSignedIn(): Promise<boolean> {\n return super.isSignedIn();\n }\n\n override async exchangeToken(config: TokenExchangeRequestConfig): Promise<TokenResponse | Response> {\n return this.withLoading(async () => super.exchangeToken(config) as unknown as TokenResponse | Response);\n }\n\n override async signIn(...args: any[]): Promise<User | EmbeddedSignInFlowResponse> {\n return this.withLoading(async () => {\n const arg1: any = args[0];\n const arg2: any = args[1];\n\n let config: ThunderIDReactConfig | undefined = (await this.getStorageManager().getConfigData()) as\n | ThunderIDReactConfig\n | undefined;\n\n // NOTE: With React 19 strict mode, the initialization logic runs twice, and there's an intermittent\n // issue where the config object is not getting stored in the storage layer with Vite scaffolding.\n // Hence, we need to check if the client is initialized but the config object is empty, and reinitialize.\n if (!config || Object.keys(config).length === 0) {\n await this.initialize(this._initializeConfig!);\n // Reload the config persisted by initialization so downstream endpoint resolution\n // (baseUrl and the flowExecute override) uses the recovered values, not the stale empty config.\n config = (await this.getStorageManager().getConfigData()) as ThunderIDReactConfig | undefined;\n }\n\n if (typeof arg1 === 'object' && arg1 !== null && arg1.callOnlyOnRedirect === true) {\n return undefined as any;\n }\n\n if (\n typeof arg1 === 'object' &&\n arg1 !== null &&\n !isEmpty(arg1) &&\n ('executionId' in arg1 || 'applicationId' in arg1)\n ) {\n const authIdFromUrl: string = new URL(window.location.href).searchParams.get('authId') ?? '';\n const authIdFromStorage: string =\n ((await this.getStorageManager().getHybridDataParameter('authId')) as string) ?? '';\n const authId: string = authIdFromUrl || authIdFromStorage;\n const baseUrl: string = config?.baseUrl ?? '';\n\n const response: EmbeddedSignInFlowResponse = await executeEmbeddedSignInFlow({\n authId,\n baseUrl,\n payload: arg1,\n url: resolveResourceEndpoint('flowExecute', config, arg2?.url),\n });\n\n if (\n response &&\n typeof response === 'object' &&\n response.flowStatus === EmbeddedSignInFlowStatus.Complete &&\n response.assertion\n ) {\n const decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n } = await this.decodeJwtToken<{\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }>(response.assertion);\n\n const createdAt: number = decodedAssertion.iat ? decodedAssertion.iat * 1000 : Date.now();\n const expiresIn: number =\n decodedAssertion.exp && decodedAssertion.iat ? decodedAssertion.exp - decodedAssertion.iat : 3600;\n\n await this.setSession({\n access_token: response.assertion,\n created_at: createdAt,\n expires_in: expiresIn,\n id_token: response.assertion,\n scope: decodedAssertion.scope,\n token_type: 'Bearer',\n });\n\n this.notifySignIn(extractUserClaimsFromIdToken(decodedAssertion as IdToken) as User);\n }\n\n return response;\n }\n\n return (await super.signIn(...args)) as unknown as User;\n });\n }\n\n override async signInSilently(options?: SignInOptions): Promise<User | boolean> {\n return super.signInSilently(options as Record<string, string | boolean>) as Promise<User | boolean>;\n }\n\n override async signUp(options?: SignUpOptions): Promise<void>;\n override async signUp(payload: any): Promise<any>;\n override async signUp(...args: any[]): Promise<void | any> {\n const config: ThunderIDReactConfig = (await this.getStorageManager().getConfigData()) as ThunderIDReactConfig;\n const firstArg: any = args[0];\n const baseUrl: string = config?.baseUrl ?? '';\n\n const authId: string = new URL(window.location.href).searchParams.get('authId') ?? '';\n\n const response: any = await executeEmbeddedSignUpFlow({\n authId,\n baseUrl,\n payload: typeof firstArg === 'object' && 'flowType' in firstArg ? {...firstArg, verbose: true} : firstArg,\n url: resolveResourceEndpoint('flowExecute', config),\n });\n\n if (\n response &&\n typeof response === 'object' &&\n response.flowStatus === EmbeddedSignUpFlowStatus.Complete &&\n response.assertion\n ) {\n const decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n } = await this.decodeJwtToken<{\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }>(response.assertion);\n\n const createdAt: number = decodedAssertion.iat ? decodedAssertion.iat * 1000 : Date.now();\n const expiresIn: number =\n decodedAssertion.exp && decodedAssertion.iat ? decodedAssertion.exp - decodedAssertion.iat : 3600;\n\n await this.setSession({\n access_token: response.assertion,\n created_at: createdAt,\n expires_in: expiresIn,\n id_token: response.assertion,\n scope: decodedAssertion.scope,\n token_type: 'Bearer',\n });\n\n this.notifySignIn(extractUserClaimsFromIdToken(decodedAssertion as IdToken) as User);\n }\n\n return response;\n }\n\n override async recover(payload?: any): Promise<any> {\n const config: ThunderIDReactConfig = (await this.getStorageManager().getConfigData()) as ThunderIDReactConfig;\n\n return executeEmbeddedRecoveryFlow({\n baseUrl: config?.baseUrl,\n payload: {...payload, verbose: true},\n url: resolveResourceEndpoint('flowExecute', config),\n }) as any;\n }\n\n public override getStorageManager(): any {\n return super.getStorageManager();\n }\n\n async request(requestConfig?: HttpRequestConfig): Promise<HttpResponse<any>> {\n return super.httpRequest(requestConfig!) as Promise<HttpResponse<any>>;\n }\n\n async requestAll(requestConfigs?: HttpRequestConfig[]): Promise<HttpResponse<any>[]> {\n return super.httpRequestAll(requestConfigs!) as Promise<HttpResponse<any>[]>;\n }\n}\n\nexport default ThunderIDReactClient;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ThunderIDReactClient.js","names":["isInitialized: boolean","claims: User","arg1: any","arg2: any","config: ThunderIDReactConfig | undefined","authIdFromUrl: string","authIdFromStorage: string","response: EmbeddedSignInFlowResponse","decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }","createdAt: number","expiresIn: number","config: ThunderIDReactConfig","firstArg: any","baseUrl: string","response: any","decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }"],"sources":["../src/ThunderIDReactClient.ts"],"sourcesContent":["// Copyright 2025-2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n ThunderIDBrowserClient,\n UserProfile,\n SignInOptions,\n User,\n SignUpOptions,\n ThunderIDRuntimeError,\n executeEmbeddedSignInFlow,\n IdToken,\n extractUserClaimsFromIdToken,\n TokenResponse,\n HttpRequestConfig,\n HttpResponse,\n TokenExchangeRequestConfig,\n isEmpty,\n EmbeddedSignInFlowResponse,\n executeEmbeddedSignUpFlow,\n executeEmbeddedRecoveryFlow,\n EmbeddedSignInFlowStatus,\n EmbeddedSignUpFlowStatus,\n resolveResourceEndpoint,\n} from '@thunderid/browser';\nimport {ThunderIDReactConfig} from './models/config';\n\nclass ThunderIDReactClient<T extends ThunderIDReactConfig = ThunderIDReactConfig> extends ThunderIDBrowserClient<T> {\n private loadingState = false;\n\n private _initializeConfig: ThunderIDReactConfig | undefined;\n\n constructor(instanceId = 0) {\n super(instanceId);\n }\n\n private setLoading(loading: boolean): void {\n this.loadingState = loading;\n }\n\n private async withLoading<TResult>(operation: () => Promise<TResult>): Promise<TResult> {\n this.setLoading(true);\n try {\n const result: TResult = await operation();\n return result;\n } finally {\n this.setLoading(false);\n }\n }\n\n override initialize(config: ThunderIDReactConfig): Promise<boolean> {\n return this.withLoading(async () => {\n this._initializeConfig = {\n ...config,\n periodicTokenRefresh:\n config?.tokenLifecycle?.refreshToken?.autoRefresh ?? (config as any)?.periodicTokenRefresh,\n } as any;\n\n return super.initialize(this._initializeConfig as unknown as T);\n });\n }\n\n override reInitialize(config: Partial<ThunderIDReactConfig>): Promise<boolean> {\n return this.withLoading(async () => {\n let isInitialized: boolean;\n\n try {\n await super.reInitialize(config as Partial<T>);\n isInitialized = true;\n } catch (error) {\n throw new ThunderIDRuntimeError(\n `Failed to check if the client is initialized: ${error instanceof Error ? error.message : String(error)}`,\n 'ThunderIDReactClient-reInitialize-RuntimeError-001',\n 'react',\n 'An error occurred while checking the initialization status of the client.',\n );\n }\n\n return isInitialized;\n });\n }\n\n override async updateUserProfile(): Promise<User> {\n throw new Error('Not implemented');\n }\n\n override async getUser(): Promise<User> {\n return extractUserClaimsFromIdToken(await this.getDecodedIdToken());\n }\n\n override async getDecodedIdToken(sessionId?: string): Promise<IdToken> {\n return super.getDecodedIdToken(sessionId);\n }\n\n override async getIdToken(): Promise<string> {\n return this.withLoading(async () => super.getIdToken());\n }\n\n override async getUserProfile(): Promise<UserProfile> {\n return this.withLoading(async () => {\n const claims: User = extractUserClaimsFromIdToken(await this.getDecodedIdToken());\n return {\n flattenedProfile: claims,\n profile: claims,\n schemas: [],\n };\n });\n }\n\n override isLoading(): boolean {\n return this.loadingState;\n }\n\n override async isSignedIn(): Promise<boolean> {\n return super.isSignedIn();\n }\n\n override async exchangeToken(config: TokenExchangeRequestConfig): Promise<TokenResponse | Response> {\n return this.withLoading(async () => super.exchangeToken(config) as unknown as TokenResponse | Response);\n }\n\n override async signIn(...args: any[]): Promise<User | EmbeddedSignInFlowResponse> {\n return this.withLoading(async () => {\n const arg1: any = args[0];\n const arg2: any = args[1];\n\n let config: ThunderIDReactConfig | undefined = (await this.getStorageManager().getConfigData()) as\n | ThunderIDReactConfig\n | undefined;\n\n // NOTE: With React 19 strict mode, the initialization logic runs twice, and there's an intermittent\n // issue where the config object is not getting stored in the storage layer with Vite scaffolding.\n // Hence, we need to check if the client is initialized but the config object is empty, and reinitialize.\n if (!config || Object.keys(config).length === 0) {\n await this.initialize(this._initializeConfig!);\n // Reload the config persisted by initialization so downstream endpoint resolution\n // (baseUrl and the flowExecute override) uses the recovered values, not the stale empty config.\n config = (await this.getStorageManager().getConfigData()) as ThunderIDReactConfig | undefined;\n }\n\n if (typeof arg1 === 'object' && arg1 !== null && arg1.callOnlyOnRedirect === true) {\n return undefined as any;\n }\n\n if (\n typeof arg1 === 'object' &&\n arg1 !== null &&\n !isEmpty(arg1) &&\n ('executionId' in arg1 || 'applicationId' in arg1)\n ) {\n const authIdFromUrl: string = new URL(window.location.href).searchParams.get('authId') ?? '';\n const authIdFromStorage: string =\n ((await this.getStorageManager().getHybridDataParameter('authId')) as string) ?? '';\n const authId: string = authIdFromUrl || authIdFromStorage;\n const baseUrl: string = config?.baseUrl ?? '';\n\n const response: EmbeddedSignInFlowResponse = await executeEmbeddedSignInFlow({\n authId,\n baseUrl,\n payload: arg1,\n url: resolveResourceEndpoint('flowExecute', config, arg2?.url),\n });\n\n if (\n response &&\n typeof response === 'object' &&\n response.flowStatus === EmbeddedSignInFlowStatus.Complete &&\n response.assertion\n ) {\n const decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n } = await this.decodeJwtToken<{\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }>(response.assertion);\n\n const createdAt: number = decodedAssertion.iat ? decodedAssertion.iat * 1000 : Date.now();\n const expiresIn: number =\n decodedAssertion.exp && decodedAssertion.iat ? decodedAssertion.exp - decodedAssertion.iat : 3600;\n\n await this.setSession({\n access_token: response.assertion,\n created_at: createdAt,\n expires_in: expiresIn,\n id_token: response.assertion,\n scope: decodedAssertion.scope,\n token_type: 'Bearer',\n });\n\n this.notifySignIn(extractUserClaimsFromIdToken(decodedAssertion as IdToken) as User);\n }\n\n return response;\n }\n\n return (await super.signIn(...args)) as unknown as User;\n });\n }\n\n override async signInSilently(options?: SignInOptions): Promise<User | boolean> {\n return super.signInSilently(options as Record<string, string | boolean>) as Promise<User | boolean>;\n }\n\n override async signUp(options?: SignUpOptions): Promise<void>;\n override async signUp(payload: any): Promise<any>;\n override async signUp(...args: any[]): Promise<void | any> {\n const config: ThunderIDReactConfig = (await this.getStorageManager().getConfigData()) as ThunderIDReactConfig;\n const firstArg: any = args[0];\n const baseUrl: string = config?.baseUrl ?? '';\n\n const authId: string = new URL(window.location.href).searchParams.get('authId') ?? '';\n\n const response: any = await executeEmbeddedSignUpFlow({\n authId,\n baseUrl,\n payload: typeof firstArg === 'object' && 'flowType' in firstArg ? {...firstArg, verbose: true} : firstArg,\n url: resolveResourceEndpoint('flowExecute', config),\n });\n\n if (\n response &&\n typeof response === 'object' &&\n response.flowStatus === EmbeddedSignUpFlowStatus.Complete &&\n response.assertion\n ) {\n const decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n } = await this.decodeJwtToken<{\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }>(response.assertion);\n\n const createdAt: number = decodedAssertion.iat ? decodedAssertion.iat * 1000 : Date.now();\n const expiresIn: number =\n decodedAssertion.exp && decodedAssertion.iat ? decodedAssertion.exp - decodedAssertion.iat : 3600;\n\n await this.setSession({\n access_token: response.assertion,\n created_at: createdAt,\n expires_in: expiresIn,\n id_token: response.assertion,\n scope: decodedAssertion.scope,\n token_type: 'Bearer',\n });\n\n this.notifySignIn(extractUserClaimsFromIdToken(decodedAssertion as IdToken) as User);\n }\n\n return response;\n }\n\n override async recover(payload?: any): Promise<any> {\n const config: ThunderIDReactConfig = (await this.getStorageManager().getConfigData()) as ThunderIDReactConfig;\n\n return executeEmbeddedRecoveryFlow({\n baseUrl: config?.baseUrl,\n payload: {...payload, verbose: true},\n url: resolveResourceEndpoint('flowExecute', config),\n }) as any;\n }\n\n public override getStorageManager(): any {\n return super.getStorageManager();\n }\n\n async request(requestConfig?: HttpRequestConfig): Promise<HttpResponse<any>> {\n return super.httpRequest(requestConfig!) as Promise<HttpResponse<any>>;\n }\n\n async requestAll(requestConfigs?: HttpRequestConfig[]): Promise<HttpResponse<any>[]> {\n return super.httpRequestAll(requestConfigs!) as Promise<HttpResponse<any>[]>;\n }\n}\n\nexport default ThunderIDReactClient;\n"],"mappings":"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"}
@@ -1,20 +1,3 @@
1
- /**
2
- * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).
3
- *
4
- * WSO2 LLC. licenses this file to you under the Apache License,
5
- * Version 2.0 (the "License"); you may not use this file except
6
- * in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing,
12
- * software distributed under the License is distributed on an
13
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- * KIND, either express or implied. See the License for the
15
- * specific language governing permissions and limitations
16
- * under the License.
17
- */
18
1
  import { User, GetUsersMeConfig as BaseGetUsersMeConfig } from '@thunderid/browser';
19
2
  /**
20
3
  * Configuration for the getUsersMe request (React-specific)
@@ -1 +1 @@
1
- {"version":3,"file":"getUsersMe.d.ts","sourceRoot":"","sources":["../../src/api/getUsersMe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,IAAI,EAKJ,gBAAgB,IAAI,oBAAoB,EACzC,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC;IAC7E;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,QAAA,MAAM,UAAU,GAAU,2CAA6C,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAsBrG,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"getUsersMe.d.ts","sourceRoot":"","sources":["../../src/api/getUsersMe.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,IAAI,EAKJ,gBAAgB,IAAI,oBAAoB,EACzC,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC;IAC7E;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,QAAA,MAAM,UAAU,GAAU,2CAA6C,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAsBrG,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getUsersMe.js","names":["getUsersMe","response: HttpResponse<any>","baseGetUsersMe"],"sources":["../../src/api/getUsersMe.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 {\n User,\n HttpResponse,\n FetchHttpClient,\n HttpRequestConfig,\n getUsersMe as baseGetUsersMe,\n GetUsersMeConfig as BaseGetUsersMeConfig,\n} from '@thunderid/browser';\n\n/**\n * Configuration for the getUsersMe request (React-specific)\n */\nexport interface GetUsersMeConfig extends Omit<BaseGetUsersMeConfig, 'fetcher'> {\n /**\n * Optional custom fetcher function. If not provided, the ThunderID SPA client's httpClient will be used\n * which is a wrapper around axios http.request\n */\n fetcher?: (url: string, config: RequestInit) => Promise<Response>;\n /**\n * Optional instance ID for multi-instance support. Defaults to 0.\n */\n instanceId?: number;\n}\n\n/**\n * Retrieves the user profile information from the specified /users/me endpoint.\n * This function uses the ThunderID SPA client's httpClient by default, but allows for custom fetchers.\n *\n * @param requestConfig - Request configuration object.\n * @returns A promise that resolves with the user profile information.\n * @example\n * ```typescript\n * // Using default ThunderID SPA client httpClient\n * try {\n * const userProfile = await getUsersMe({\n * url: \"https://localhost:8090/users/me\",\n * });\n * console.log(userProfile);\n * } catch (error) {\n * if (error instanceof ThunderIDAPIError) {\n * console.error('Failed to get user profile:', error.message);\n * }\n * }\n * ```\n *\n * @example\n * ```typescript\n * // Using custom fetcher\n * try {\n * const userProfile = await getUsersMe({\n * url: \"https://localhost:8090/users/me\",\n * fetcher: customFetchFunction\n * });\n * console.log(userProfile);\n * } catch (error) {\n * if (error instanceof ThunderIDAPIError) {\n * console.error('Failed to get user profile:', error.message);\n * }\n * }\n * ```\n */\nconst getUsersMe = async ({fetcher, instanceId = 0, ...requestConfig}: GetUsersMeConfig): Promise<User> => {\n const defaultFetcher = async (url: string, config: RequestInit): Promise<Response> => {\n const httpClient: FetchHttpClient = FetchHttpClient.getInstance(instanceId);\n const response: HttpResponse<any> = await httpClient.request({\n headers: config.headers as Record<string, string>,\n method: config.method || 'GET',\n url,\n } as HttpRequestConfig);\n\n return {\n json: () => Promise.resolve(response.data),\n ok: response.status >= 200 && response.status < 300,\n status: response.status,\n statusText: response.statusText || '',\n text: () => Promise.resolve(typeof response.data === 'string' ? response.data : JSON.stringify(response.data)),\n } as Response;\n };\n\n return baseGetUsersMe({\n ...requestConfig,\n fetcher: fetcher || defaultFetcher,\n });\n};\n\nexport default getUsersMe;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EA,MAAMA,eAAa,OAAO,EAAC,SAAS,aAAa,EAAG,GAAG,oBAAoD;CACzG,MAAM,iBAAiB,OAAO,KAAa,WAA2C;EAEpF,MAAMC,WAA8B,MADA,gBAAgB,YAAY,WAAW,CACtB,QAAQ;GAC3D,SAAS,OAAO;GAChB,QAAQ,OAAO,UAAU;GACzB;GACD,CAAsB;AAEvB,SAAO;GACL,YAAY,QAAQ,QAAQ,SAAS,KAAK;GAC1C,IAAI,SAAS,UAAU,OAAO,SAAS,SAAS;GAChD,QAAQ,SAAS;GACjB,YAAY,SAAS,cAAc;GACnC,YAAY,QAAQ,QAAQ,OAAO,SAAS,SAAS,WAAW,SAAS,OAAO,KAAK,UAAU,SAAS,KAAK,CAAC;GAC/G;;AAGH,QAAOC,WAAe;EACpB,GAAG;EACH,SAAS,WAAW;EACrB,CAAC;;AAGJ,yBAAeF"}
1
+ {"version":3,"file":"getUsersMe.js","names":["getUsersMe","response: HttpResponse<any>","baseGetUsersMe"],"sources":["../../src/api/getUsersMe.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n User,\n HttpResponse,\n FetchHttpClient,\n HttpRequestConfig,\n getUsersMe as baseGetUsersMe,\n GetUsersMeConfig as BaseGetUsersMeConfig,\n} from '@thunderid/browser';\n\n/**\n * Configuration for the getUsersMe request (React-specific)\n */\nexport interface GetUsersMeConfig extends Omit<BaseGetUsersMeConfig, 'fetcher'> {\n /**\n * Optional custom fetcher function. If not provided, the ThunderID SPA client's httpClient will be used\n * which is a wrapper around axios http.request\n */\n fetcher?: (url: string, config: RequestInit) => Promise<Response>;\n /**\n * Optional instance ID for multi-instance support. Defaults to 0.\n */\n instanceId?: number;\n}\n\n/**\n * Retrieves the user profile information from the specified /users/me endpoint.\n * This function uses the ThunderID SPA client's httpClient by default, but allows for custom fetchers.\n *\n * @param requestConfig - Request configuration object.\n * @returns A promise that resolves with the user profile information.\n * @example\n * ```typescript\n * // Using default ThunderID SPA client httpClient\n * try {\n * const userProfile = await getUsersMe({\n * url: \"https://localhost:8090/users/me\",\n * });\n * console.log(userProfile);\n * } catch (error) {\n * if (error instanceof ThunderIDAPIError) {\n * console.error('Failed to get user profile:', error.message);\n * }\n * }\n * ```\n *\n * @example\n * ```typescript\n * // Using custom fetcher\n * try {\n * const userProfile = await getUsersMe({\n * url: \"https://localhost:8090/users/me\",\n * fetcher: customFetchFunction\n * });\n * console.log(userProfile);\n * } catch (error) {\n * if (error instanceof ThunderIDAPIError) {\n * console.error('Failed to get user profile:', error.message);\n * }\n * }\n * ```\n */\nconst getUsersMe = async ({fetcher, instanceId = 0, ...requestConfig}: GetUsersMeConfig): Promise<User> => {\n const defaultFetcher = async (url: string, config: RequestInit): Promise<Response> => {\n const httpClient: FetchHttpClient = FetchHttpClient.getInstance(instanceId);\n const response: HttpResponse<any> = await httpClient.request({\n headers: config.headers as Record<string, string>,\n method: config.method || 'GET',\n url,\n } as HttpRequestConfig);\n\n return {\n json: () => Promise.resolve(response.data),\n ok: response.status >= 200 && response.status < 300,\n status: response.status,\n statusText: response.statusText || '',\n text: () => Promise.resolve(typeof response.data === 'string' ? response.data : JSON.stringify(response.data)),\n } as Response;\n };\n\n return baseGetUsersMe({\n ...requestConfig,\n fetcher: fetcher || defaultFetcher,\n });\n};\n\nexport default getUsersMe;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,MAAMA,eAAa,OAAO,EAAC,SAAS,aAAa,EAAG,GAAG,oBAAoD;CACzG,MAAM,iBAAiB,OAAO,KAAa,WAA2C;EAEpF,MAAMC,WAA8B,MADA,gBAAgB,YAAY,WAAW,CACtB,QAAQ;GAC3D,SAAS,OAAO;GAChB,QAAQ,OAAO,UAAU;GACzB;GACD,CAAsB;AAEvB,SAAO;GACL,YAAY,QAAQ,QAAQ,SAAS,KAAK;GAC1C,IAAI,SAAS,UAAU,OAAO,SAAS,SAAS;GAChD,QAAQ,SAAS;GACjB,YAAY,SAAS,cAAc;GACnC,YAAY,QAAQ,QAAQ,OAAO,SAAS,SAAS,WAAW,SAAS,OAAO,KAAK,UAAU,SAAS,KAAK,CAAC;GAC/G;;AAGH,QAAOC,WAAe;EACpB,GAAG;EACH,SAAS,WAAW;EACrB,CAAC;;AAGJ,yBAAeF"}
@@ -1,20 +1,3 @@
1
- /**
2
- * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).
3
- *
4
- * WSO2 LLC. licenses this file to you under the Apache License,
5
- * Version 2.0 (the "License"); you may not use this file except
6
- * in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing,
12
- * software distributed under the License is distributed on an
13
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- * KIND, either express or implied. See the License for the
15
- * specific language governing permissions and limitations
16
- * under the License.
17
- */
18
1
  import { User, UpdateMeProfileConfig as BaseUpdateMeProfileConfig } from '@thunderid/browser';
19
2
  /**
20
3
  * Configuration for the updateMeProfile request (React-specific)
@@ -1 +1 @@
1
- {"version":3,"file":"updateMeProfile.d.ts","sourceRoot":"","sources":["../../src/api/updateMeProfile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,IAAI,EAKJ,qBAAqB,IAAI,yBAAyB,EACnD,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC;IACvF;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,QAAA,MAAM,eAAe,GAAU,2CAA6C,qBAAqB,KAAG,OAAO,CAAC,IAAI,CAuB/G,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"updateMeProfile.d.ts","sourceRoot":"","sources":["../../src/api/updateMeProfile.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,IAAI,EAKJ,qBAAqB,IAAI,yBAAyB,EACnD,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC;IACvF;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClE;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,QAAA,MAAM,eAAe,GAAU,2CAA6C,qBAAqB,KAAG,OAAO,CAAC,IAAI,CAuB/G,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateMeProfile.js","names":["updateMeProfile","response: HttpResponse<any>","baseUpdateMeProfile"],"sources":["../../src/api/updateMeProfile.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 {\n User,\n HttpResponse,\n FetchHttpClient,\n HttpRequestConfig,\n updateMeProfile as baseUpdateMeProfile,\n UpdateMeProfileConfig as BaseUpdateMeProfileConfig,\n} from '@thunderid/browser';\n\n/**\n * Configuration for the updateMeProfile request (React-specific)\n */\nexport interface UpdateMeProfileConfig extends Omit<BaseUpdateMeProfileConfig, 'fetcher'> {\n /**\n * Optional custom fetcher function. If not provided, the ThunderID SPA client's httpClient will be used\n * which is a wrapper around axios http.request\n */\n fetcher?: (url: string, config: RequestInit) => Promise<Response>;\n /**\n * Optional instance ID for multi-instance support. Defaults to 0.\n */\n instanceId?: number;\n}\n\n/**\n * Updates the user profile information at the specified /users/me endpoint.\n * This function uses the ThunderID SPA client's httpClient by default, but allows for custom fetchers.\n *\n * @param config - Configuration object with URL, payload and optional request config.\n * @returns A promise that resolves with the updated user profile information.\n * @example\n * ```typescript\n * // Using default ThunderID SPA client httpClient\n * await updateMeProfile({\n * url: \"https://localhost:8090/users/me\",\n * payload: { picture: \"https://example.com/pic.jpg\" }\n * });\n * ```\n *\n * @example\n * ```typescript\n * // Using custom fetcher\n * await updateMeProfile({\n * url: \"https://localhost:8090/users/me\",\n * payload: { picture: \"https://example.com/pic.jpg\" },\n * fetcher: customFetchFunction\n * });\n * ```\n */\nconst updateMeProfile = async ({fetcher, instanceId = 0, ...requestConfig}: UpdateMeProfileConfig): Promise<User> => {\n const defaultFetcher = async (url: string, config: RequestInit): Promise<Response> => {\n const httpClient: FetchHttpClient = FetchHttpClient.getInstance(instanceId);\n const response: HttpResponse<any> = await httpClient.request({\n data: config.body ? JSON.parse(config.body as string) : undefined,\n headers: config.headers as Record<string, string>,\n method: config.method || 'PUT',\n url,\n } as HttpRequestConfig);\n\n return {\n json: () => Promise.resolve(response.data),\n ok: response.status >= 200 && response.status < 300,\n status: response.status,\n statusText: response.statusText || '',\n text: () => Promise.resolve(typeof response.data === 'string' ? response.data : JSON.stringify(response.data)),\n } as Response;\n };\n\n return baseUpdateMeProfile({\n ...requestConfig,\n fetcher: fetcher || defaultFetcher,\n });\n};\n\nexport default updateMeProfile;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEA,MAAMA,oBAAkB,OAAO,EAAC,SAAS,aAAa,EAAG,GAAG,oBAAyD;CACnH,MAAM,iBAAiB,OAAO,KAAa,WAA2C;EAEpF,MAAMC,WAA8B,MADA,gBAAgB,YAAY,WAAW,CACtB,QAAQ;GAC3D,MAAM,OAAO,OAAO,KAAK,MAAM,OAAO,KAAe,GAAG;GACxD,SAAS,OAAO;GAChB,QAAQ,OAAO,UAAU;GACzB;GACD,CAAsB;AAEvB,SAAO;GACL,YAAY,QAAQ,QAAQ,SAAS,KAAK;GAC1C,IAAI,SAAS,UAAU,OAAO,SAAS,SAAS;GAChD,QAAQ,SAAS;GACjB,YAAY,SAAS,cAAc;GACnC,YAAY,QAAQ,QAAQ,OAAO,SAAS,SAAS,WAAW,SAAS,OAAO,KAAK,UAAU,SAAS,KAAK,CAAC;GAC/G;;AAGH,QAAOC,gBAAoB;EACzB,GAAG;EACH,SAAS,WAAW;EACrB,CAAC;;AAGJ,8BAAeF"}
1
+ {"version":3,"file":"updateMeProfile.js","names":["updateMeProfile","response: HttpResponse<any>","baseUpdateMeProfile"],"sources":["../../src/api/updateMeProfile.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n User,\n HttpResponse,\n FetchHttpClient,\n HttpRequestConfig,\n updateMeProfile as baseUpdateMeProfile,\n UpdateMeProfileConfig as BaseUpdateMeProfileConfig,\n} from '@thunderid/browser';\n\n/**\n * Configuration for the updateMeProfile request (React-specific)\n */\nexport interface UpdateMeProfileConfig extends Omit<BaseUpdateMeProfileConfig, 'fetcher'> {\n /**\n * Optional custom fetcher function. If not provided, the ThunderID SPA client's httpClient will be used\n * which is a wrapper around axios http.request\n */\n fetcher?: (url: string, config: RequestInit) => Promise<Response>;\n /**\n * Optional instance ID for multi-instance support. Defaults to 0.\n */\n instanceId?: number;\n}\n\n/**\n * Updates the user profile information at the specified /users/me endpoint.\n * This function uses the ThunderID SPA client's httpClient by default, but allows for custom fetchers.\n *\n * @param config - Configuration object with URL, payload and optional request config.\n * @returns A promise that resolves with the updated user profile information.\n * @example\n * ```typescript\n * // Using default ThunderID SPA client httpClient\n * await updateMeProfile({\n * url: \"https://localhost:8090/users/me\",\n * payload: { picture: \"https://example.com/pic.jpg\" }\n * });\n * ```\n *\n * @example\n * ```typescript\n * // Using custom fetcher\n * await updateMeProfile({\n * url: \"https://localhost:8090/users/me\",\n * payload: { picture: \"https://example.com/pic.jpg\" },\n * fetcher: customFetchFunction\n * });\n * ```\n */\nconst updateMeProfile = async ({fetcher, instanceId = 0, ...requestConfig}: UpdateMeProfileConfig): Promise<User> => {\n const defaultFetcher = async (url: string, config: RequestInit): Promise<Response> => {\n const httpClient: FetchHttpClient = FetchHttpClient.getInstance(instanceId);\n const response: HttpResponse<any> = await httpClient.request({\n data: config.body ? JSON.parse(config.body as string) : undefined,\n headers: config.headers as Record<string, string>,\n method: config.method || 'PUT',\n url,\n } as HttpRequestConfig);\n\n return {\n json: () => Promise.resolve(response.data),\n ok: response.status >= 200 && response.status < 300,\n status: response.status,\n statusText: response.statusText || '',\n text: () => Promise.resolve(typeof response.data === 'string' ? response.data : JSON.stringify(response.data)),\n } as Response;\n };\n\n return baseUpdateMeProfile({\n ...requestConfig,\n fetcher: fetcher || defaultFetcher,\n });\n};\n\nexport default updateMeProfile;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAMA,oBAAkB,OAAO,EAAC,SAAS,aAAa,EAAG,GAAG,oBAAyD;CACnH,MAAM,iBAAiB,OAAO,KAAa,WAA2C;EAEpF,MAAMC,WAA8B,MADA,gBAAgB,YAAY,WAAW,CACtB,QAAQ;GAC3D,MAAM,OAAO,OAAO,KAAK,MAAM,OAAO,KAAe,GAAG;GACxD,SAAS,OAAO;GAChB,QAAQ,OAAO,UAAU;GACzB;GACD,CAAsB;AAEvB,SAAO;GACL,YAAY,QAAQ,QAAQ,SAAS,KAAK;GAC1C,IAAI,SAAS,UAAU,OAAO,SAAS,SAAS;GAChD,QAAQ,SAAS;GACjB,YAAY,SAAS,cAAc;GACnC,YAAY,QAAQ,QAAQ,OAAO,SAAS,SAAS,WAAW,SAAS,OAAO,KAAK,UAAU,SAAS,KAAK,CAAC;GAC/G;;AAGH,QAAOC,gBAAoB;EACzB,GAAG;EACH,SAAS,WAAW;EACrB,CAAC;;AAGJ,8BAAeF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThunderIDReactClient.cjs","names":["ThunderIDBrowserClient","isInitialized: boolean","ThunderIDRuntimeError","claims: User","arg1: any","arg2: any","config: ThunderIDReactConfig | undefined","authIdFromUrl: string","authIdFromStorage: string","response: EmbeddedSignInFlowResponse","EmbeddedSignInFlowStatus","decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }","createdAt: number","expiresIn: number","config: ThunderIDReactConfig","firstArg: any","baseUrl: string","response: any","EmbeddedSignUpFlowStatus","decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }"],"sources":["../../src/ThunderIDReactClient.ts"],"sourcesContent":["/**\n * Copyright (c) 2025-2026, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {\n ThunderIDBrowserClient,\n UserProfile,\n SignInOptions,\n User,\n SignUpOptions,\n ThunderIDRuntimeError,\n executeEmbeddedSignInFlow,\n IdToken,\n extractUserClaimsFromIdToken,\n TokenResponse,\n HttpRequestConfig,\n HttpResponse,\n TokenExchangeRequestConfig,\n isEmpty,\n EmbeddedSignInFlowResponse,\n executeEmbeddedSignUpFlow,\n executeEmbeddedRecoveryFlow,\n EmbeddedSignInFlowStatus,\n EmbeddedSignUpFlowStatus,\n resolveResourceEndpoint,\n} from '@thunderid/browser';\nimport {ThunderIDReactConfig} from './models/config';\n\nclass ThunderIDReactClient<T extends ThunderIDReactConfig = ThunderIDReactConfig> extends ThunderIDBrowserClient<T> {\n private loadingState = false;\n\n private _initializeConfig: ThunderIDReactConfig | undefined;\n\n constructor(instanceId = 0) {\n super(instanceId);\n }\n\n private setLoading(loading: boolean): void {\n this.loadingState = loading;\n }\n\n private async withLoading<TResult>(operation: () => Promise<TResult>): Promise<TResult> {\n this.setLoading(true);\n try {\n const result: TResult = await operation();\n return result;\n } finally {\n this.setLoading(false);\n }\n }\n\n override initialize(config: ThunderIDReactConfig): Promise<boolean> {\n return this.withLoading(async () => {\n this._initializeConfig = {\n ...config,\n periodicTokenRefresh:\n config?.tokenLifecycle?.refreshToken?.autoRefresh ?? (config as any)?.periodicTokenRefresh,\n } as any;\n\n return super.initialize(this._initializeConfig as unknown as T);\n });\n }\n\n override reInitialize(config: Partial<ThunderIDReactConfig>): Promise<boolean> {\n return this.withLoading(async () => {\n let isInitialized: boolean;\n\n try {\n await super.reInitialize(config as Partial<T>);\n isInitialized = true;\n } catch (error) {\n throw new ThunderIDRuntimeError(\n `Failed to check if the client is initialized: ${error instanceof Error ? error.message : String(error)}`,\n 'ThunderIDReactClient-reInitialize-RuntimeError-001',\n 'react',\n 'An error occurred while checking the initialization status of the client.',\n );\n }\n\n return isInitialized;\n });\n }\n\n override async updateUserProfile(): Promise<User> {\n throw new Error('Not implemented');\n }\n\n override async getUser(): Promise<User> {\n return extractUserClaimsFromIdToken(await this.getDecodedIdToken());\n }\n\n override async getDecodedIdToken(sessionId?: string): Promise<IdToken> {\n return super.getDecodedIdToken(sessionId);\n }\n\n override async getIdToken(): Promise<string> {\n return this.withLoading(async () => super.getIdToken());\n }\n\n override async getUserProfile(): Promise<UserProfile> {\n return this.withLoading(async () => {\n const claims: User = extractUserClaimsFromIdToken(await this.getDecodedIdToken());\n return {\n flattenedProfile: claims,\n profile: claims,\n schemas: [],\n };\n });\n }\n\n override isLoading(): boolean {\n return this.loadingState;\n }\n\n override async isSignedIn(): Promise<boolean> {\n return super.isSignedIn();\n }\n\n override async exchangeToken(config: TokenExchangeRequestConfig): Promise<TokenResponse | Response> {\n return this.withLoading(async () => super.exchangeToken(config) as unknown as TokenResponse | Response);\n }\n\n override async signIn(...args: any[]): Promise<User | EmbeddedSignInFlowResponse> {\n return this.withLoading(async () => {\n const arg1: any = args[0];\n const arg2: any = args[1];\n\n let config: ThunderIDReactConfig | undefined = (await this.getStorageManager().getConfigData()) as\n | ThunderIDReactConfig\n | undefined;\n\n // NOTE: With React 19 strict mode, the initialization logic runs twice, and there's an intermittent\n // issue where the config object is not getting stored in the storage layer with Vite scaffolding.\n // Hence, we need to check if the client is initialized but the config object is empty, and reinitialize.\n if (!config || Object.keys(config).length === 0) {\n await this.initialize(this._initializeConfig!);\n // Reload the config persisted by initialization so downstream endpoint resolution\n // (baseUrl and the flowExecute override) uses the recovered values, not the stale empty config.\n config = (await this.getStorageManager().getConfigData()) as ThunderIDReactConfig | undefined;\n }\n\n if (typeof arg1 === 'object' && arg1 !== null && arg1.callOnlyOnRedirect === true) {\n return undefined as any;\n }\n\n if (\n typeof arg1 === 'object' &&\n arg1 !== null &&\n !isEmpty(arg1) &&\n ('executionId' in arg1 || 'applicationId' in arg1)\n ) {\n const authIdFromUrl: string = new URL(window.location.href).searchParams.get('authId') ?? '';\n const authIdFromStorage: string =\n ((await this.getStorageManager().getHybridDataParameter('authId')) as string) ?? '';\n const authId: string = authIdFromUrl || authIdFromStorage;\n const baseUrl: string = config?.baseUrl ?? '';\n\n const response: EmbeddedSignInFlowResponse = await executeEmbeddedSignInFlow({\n authId,\n baseUrl,\n payload: arg1,\n url: resolveResourceEndpoint('flowExecute', config, arg2?.url),\n });\n\n if (\n response &&\n typeof response === 'object' &&\n response.flowStatus === EmbeddedSignInFlowStatus.Complete &&\n response.assertion\n ) {\n const decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n } = await this.decodeJwtToken<{\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }>(response.assertion);\n\n const createdAt: number = decodedAssertion.iat ? decodedAssertion.iat * 1000 : Date.now();\n const expiresIn: number =\n decodedAssertion.exp && decodedAssertion.iat ? decodedAssertion.exp - decodedAssertion.iat : 3600;\n\n await this.setSession({\n access_token: response.assertion,\n created_at: createdAt,\n expires_in: expiresIn,\n id_token: response.assertion,\n scope: decodedAssertion.scope,\n token_type: 'Bearer',\n });\n\n this.notifySignIn(extractUserClaimsFromIdToken(decodedAssertion as IdToken) as User);\n }\n\n return response;\n }\n\n return (await super.signIn(...args)) as unknown as User;\n });\n }\n\n override async signInSilently(options?: SignInOptions): Promise<User | boolean> {\n return super.signInSilently(options as Record<string, string | boolean>) as Promise<User | boolean>;\n }\n\n override async signUp(options?: SignUpOptions): Promise<void>;\n override async signUp(payload: any): Promise<any>;\n override async signUp(...args: any[]): Promise<void | any> {\n const config: ThunderIDReactConfig = (await this.getStorageManager().getConfigData()) as ThunderIDReactConfig;\n const firstArg: any = args[0];\n const baseUrl: string = config?.baseUrl ?? '';\n\n const authId: string = new URL(window.location.href).searchParams.get('authId') ?? '';\n\n const response: any = await executeEmbeddedSignUpFlow({\n authId,\n baseUrl,\n payload: typeof firstArg === 'object' && 'flowType' in firstArg ? {...firstArg, verbose: true} : firstArg,\n url: resolveResourceEndpoint('flowExecute', config),\n });\n\n if (\n response &&\n typeof response === 'object' &&\n response.flowStatus === EmbeddedSignUpFlowStatus.Complete &&\n response.assertion\n ) {\n const decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n } = await this.decodeJwtToken<{\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }>(response.assertion);\n\n const createdAt: number = decodedAssertion.iat ? decodedAssertion.iat * 1000 : Date.now();\n const expiresIn: number =\n decodedAssertion.exp && decodedAssertion.iat ? decodedAssertion.exp - decodedAssertion.iat : 3600;\n\n await this.setSession({\n access_token: response.assertion,\n created_at: createdAt,\n expires_in: expiresIn,\n id_token: response.assertion,\n scope: decodedAssertion.scope,\n token_type: 'Bearer',\n });\n\n this.notifySignIn(extractUserClaimsFromIdToken(decodedAssertion as IdToken) as User);\n }\n\n return response;\n }\n\n override async recover(payload?: any): Promise<any> {\n const config: ThunderIDReactConfig = (await this.getStorageManager().getConfigData()) as ThunderIDReactConfig;\n\n return executeEmbeddedRecoveryFlow({\n baseUrl: config?.baseUrl,\n payload: {...payload, verbose: true},\n url: resolveResourceEndpoint('flowExecute', config),\n }) as any;\n }\n\n public override getStorageManager(): any {\n return super.getStorageManager();\n }\n\n async request(requestConfig?: HttpRequestConfig): Promise<HttpResponse<any>> {\n return super.httpRequest(requestConfig!) as Promise<HttpResponse<any>>;\n }\n\n async requestAll(requestConfigs?: HttpRequestConfig[]): Promise<HttpResponse<any>[]> {\n return super.httpRequestAll(requestConfigs!) as Promise<HttpResponse<any>[]>;\n }\n}\n\nexport default ThunderIDReactClient;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ThunderIDReactClient.cjs","names":["ThunderIDBrowserClient","isInitialized: boolean","ThunderIDRuntimeError","claims: User","arg1: any","arg2: any","config: ThunderIDReactConfig | undefined","authIdFromUrl: string","authIdFromStorage: string","response: EmbeddedSignInFlowResponse","EmbeddedSignInFlowStatus","decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }","createdAt: number","expiresIn: number","config: ThunderIDReactConfig","firstArg: any","baseUrl: string","response: any","EmbeddedSignUpFlowStatus","decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }"],"sources":["../../src/ThunderIDReactClient.ts"],"sourcesContent":["// Copyright 2025-2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n ThunderIDBrowserClient,\n UserProfile,\n SignInOptions,\n User,\n SignUpOptions,\n ThunderIDRuntimeError,\n executeEmbeddedSignInFlow,\n IdToken,\n extractUserClaimsFromIdToken,\n TokenResponse,\n HttpRequestConfig,\n HttpResponse,\n TokenExchangeRequestConfig,\n isEmpty,\n EmbeddedSignInFlowResponse,\n executeEmbeddedSignUpFlow,\n executeEmbeddedRecoveryFlow,\n EmbeddedSignInFlowStatus,\n EmbeddedSignUpFlowStatus,\n resolveResourceEndpoint,\n} from '@thunderid/browser';\nimport {ThunderIDReactConfig} from './models/config';\n\nclass ThunderIDReactClient<T extends ThunderIDReactConfig = ThunderIDReactConfig> extends ThunderIDBrowserClient<T> {\n private loadingState = false;\n\n private _initializeConfig: ThunderIDReactConfig | undefined;\n\n constructor(instanceId = 0) {\n super(instanceId);\n }\n\n private setLoading(loading: boolean): void {\n this.loadingState = loading;\n }\n\n private async withLoading<TResult>(operation: () => Promise<TResult>): Promise<TResult> {\n this.setLoading(true);\n try {\n const result: TResult = await operation();\n return result;\n } finally {\n this.setLoading(false);\n }\n }\n\n override initialize(config: ThunderIDReactConfig): Promise<boolean> {\n return this.withLoading(async () => {\n this._initializeConfig = {\n ...config,\n periodicTokenRefresh:\n config?.tokenLifecycle?.refreshToken?.autoRefresh ?? (config as any)?.periodicTokenRefresh,\n } as any;\n\n return super.initialize(this._initializeConfig as unknown as T);\n });\n }\n\n override reInitialize(config: Partial<ThunderIDReactConfig>): Promise<boolean> {\n return this.withLoading(async () => {\n let isInitialized: boolean;\n\n try {\n await super.reInitialize(config as Partial<T>);\n isInitialized = true;\n } catch (error) {\n throw new ThunderIDRuntimeError(\n `Failed to check if the client is initialized: ${error instanceof Error ? error.message : String(error)}`,\n 'ThunderIDReactClient-reInitialize-RuntimeError-001',\n 'react',\n 'An error occurred while checking the initialization status of the client.',\n );\n }\n\n return isInitialized;\n });\n }\n\n override async updateUserProfile(): Promise<User> {\n throw new Error('Not implemented');\n }\n\n override async getUser(): Promise<User> {\n return extractUserClaimsFromIdToken(await this.getDecodedIdToken());\n }\n\n override async getDecodedIdToken(sessionId?: string): Promise<IdToken> {\n return super.getDecodedIdToken(sessionId);\n }\n\n override async getIdToken(): Promise<string> {\n return this.withLoading(async () => super.getIdToken());\n }\n\n override async getUserProfile(): Promise<UserProfile> {\n return this.withLoading(async () => {\n const claims: User = extractUserClaimsFromIdToken(await this.getDecodedIdToken());\n return {\n flattenedProfile: claims,\n profile: claims,\n schemas: [],\n };\n });\n }\n\n override isLoading(): boolean {\n return this.loadingState;\n }\n\n override async isSignedIn(): Promise<boolean> {\n return super.isSignedIn();\n }\n\n override async exchangeToken(config: TokenExchangeRequestConfig): Promise<TokenResponse | Response> {\n return this.withLoading(async () => super.exchangeToken(config) as unknown as TokenResponse | Response);\n }\n\n override async signIn(...args: any[]): Promise<User | EmbeddedSignInFlowResponse> {\n return this.withLoading(async () => {\n const arg1: any = args[0];\n const arg2: any = args[1];\n\n let config: ThunderIDReactConfig | undefined = (await this.getStorageManager().getConfigData()) as\n | ThunderIDReactConfig\n | undefined;\n\n // NOTE: With React 19 strict mode, the initialization logic runs twice, and there's an intermittent\n // issue where the config object is not getting stored in the storage layer with Vite scaffolding.\n // Hence, we need to check if the client is initialized but the config object is empty, and reinitialize.\n if (!config || Object.keys(config).length === 0) {\n await this.initialize(this._initializeConfig!);\n // Reload the config persisted by initialization so downstream endpoint resolution\n // (baseUrl and the flowExecute override) uses the recovered values, not the stale empty config.\n config = (await this.getStorageManager().getConfigData()) as ThunderIDReactConfig | undefined;\n }\n\n if (typeof arg1 === 'object' && arg1 !== null && arg1.callOnlyOnRedirect === true) {\n return undefined as any;\n }\n\n if (\n typeof arg1 === 'object' &&\n arg1 !== null &&\n !isEmpty(arg1) &&\n ('executionId' in arg1 || 'applicationId' in arg1)\n ) {\n const authIdFromUrl: string = new URL(window.location.href).searchParams.get('authId') ?? '';\n const authIdFromStorage: string =\n ((await this.getStorageManager().getHybridDataParameter('authId')) as string) ?? '';\n const authId: string = authIdFromUrl || authIdFromStorage;\n const baseUrl: string = config?.baseUrl ?? '';\n\n const response: EmbeddedSignInFlowResponse = await executeEmbeddedSignInFlow({\n authId,\n baseUrl,\n payload: arg1,\n url: resolveResourceEndpoint('flowExecute', config, arg2?.url),\n });\n\n if (\n response &&\n typeof response === 'object' &&\n response.flowStatus === EmbeddedSignInFlowStatus.Complete &&\n response.assertion\n ) {\n const decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n } = await this.decodeJwtToken<{\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }>(response.assertion);\n\n const createdAt: number = decodedAssertion.iat ? decodedAssertion.iat * 1000 : Date.now();\n const expiresIn: number =\n decodedAssertion.exp && decodedAssertion.iat ? decodedAssertion.exp - decodedAssertion.iat : 3600;\n\n await this.setSession({\n access_token: response.assertion,\n created_at: createdAt,\n expires_in: expiresIn,\n id_token: response.assertion,\n scope: decodedAssertion.scope,\n token_type: 'Bearer',\n });\n\n this.notifySignIn(extractUserClaimsFromIdToken(decodedAssertion as IdToken) as User);\n }\n\n return response;\n }\n\n return (await super.signIn(...args)) as unknown as User;\n });\n }\n\n override async signInSilently(options?: SignInOptions): Promise<User | boolean> {\n return super.signInSilently(options as Record<string, string | boolean>) as Promise<User | boolean>;\n }\n\n override async signUp(options?: SignUpOptions): Promise<void>;\n override async signUp(payload: any): Promise<any>;\n override async signUp(...args: any[]): Promise<void | any> {\n const config: ThunderIDReactConfig = (await this.getStorageManager().getConfigData()) as ThunderIDReactConfig;\n const firstArg: any = args[0];\n const baseUrl: string = config?.baseUrl ?? '';\n\n const authId: string = new URL(window.location.href).searchParams.get('authId') ?? '';\n\n const response: any = await executeEmbeddedSignUpFlow({\n authId,\n baseUrl,\n payload: typeof firstArg === 'object' && 'flowType' in firstArg ? {...firstArg, verbose: true} : firstArg,\n url: resolveResourceEndpoint('flowExecute', config),\n });\n\n if (\n response &&\n typeof response === 'object' &&\n response.flowStatus === EmbeddedSignUpFlowStatus.Complete &&\n response.assertion\n ) {\n const decodedAssertion: {\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n } = await this.decodeJwtToken<{\n [key: string]: unknown;\n exp?: number;\n iat?: number;\n scope?: string;\n }>(response.assertion);\n\n const createdAt: number = decodedAssertion.iat ? decodedAssertion.iat * 1000 : Date.now();\n const expiresIn: number =\n decodedAssertion.exp && decodedAssertion.iat ? decodedAssertion.exp - decodedAssertion.iat : 3600;\n\n await this.setSession({\n access_token: response.assertion,\n created_at: createdAt,\n expires_in: expiresIn,\n id_token: response.assertion,\n scope: decodedAssertion.scope,\n token_type: 'Bearer',\n });\n\n this.notifySignIn(extractUserClaimsFromIdToken(decodedAssertion as IdToken) as User);\n }\n\n return response;\n }\n\n override async recover(payload?: any): Promise<any> {\n const config: ThunderIDReactConfig = (await this.getStorageManager().getConfigData()) as ThunderIDReactConfig;\n\n return executeEmbeddedRecoveryFlow({\n baseUrl: config?.baseUrl,\n payload: {...payload, verbose: true},\n url: resolveResourceEndpoint('flowExecute', config),\n }) as any;\n }\n\n public override getStorageManager(): any {\n return super.getStorageManager();\n }\n\n async request(requestConfig?: HttpRequestConfig): Promise<HttpResponse<any>> {\n return super.httpRequest(requestConfig!) as Promise<HttpResponse<any>>;\n }\n\n async requestAll(requestConfigs?: HttpRequestConfig[]): Promise<HttpResponse<any>[]> {\n return super.httpRequestAll(requestConfigs!) as Promise<HttpResponse<any>[]>;\n }\n}\n\nexport default ThunderIDReactClient;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getUsersMe.cjs","names":["response: HttpResponse<any>","FetchHttpClient"],"sources":["../../../src/api/getUsersMe.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 {\n User,\n HttpResponse,\n FetchHttpClient,\n HttpRequestConfig,\n getUsersMe as baseGetUsersMe,\n GetUsersMeConfig as BaseGetUsersMeConfig,\n} from '@thunderid/browser';\n\n/**\n * Configuration for the getUsersMe request (React-specific)\n */\nexport interface GetUsersMeConfig extends Omit<BaseGetUsersMeConfig, 'fetcher'> {\n /**\n * Optional custom fetcher function. If not provided, the ThunderID SPA client's httpClient will be used\n * which is a wrapper around axios http.request\n */\n fetcher?: (url: string, config: RequestInit) => Promise<Response>;\n /**\n * Optional instance ID for multi-instance support. Defaults to 0.\n */\n instanceId?: number;\n}\n\n/**\n * Retrieves the user profile information from the specified /users/me endpoint.\n * This function uses the ThunderID SPA client's httpClient by default, but allows for custom fetchers.\n *\n * @param requestConfig - Request configuration object.\n * @returns A promise that resolves with the user profile information.\n * @example\n * ```typescript\n * // Using default ThunderID SPA client httpClient\n * try {\n * const userProfile = await getUsersMe({\n * url: \"https://localhost:8090/users/me\",\n * });\n * console.log(userProfile);\n * } catch (error) {\n * if (error instanceof ThunderIDAPIError) {\n * console.error('Failed to get user profile:', error.message);\n * }\n * }\n * ```\n *\n * @example\n * ```typescript\n * // Using custom fetcher\n * try {\n * const userProfile = await getUsersMe({\n * url: \"https://localhost:8090/users/me\",\n * fetcher: customFetchFunction\n * });\n * console.log(userProfile);\n * } catch (error) {\n * if (error instanceof ThunderIDAPIError) {\n * console.error('Failed to get user profile:', error.message);\n * }\n * }\n * ```\n */\nconst getUsersMe = async ({fetcher, instanceId = 0, ...requestConfig}: GetUsersMeConfig): Promise<User> => {\n const defaultFetcher = async (url: string, config: RequestInit): Promise<Response> => {\n const httpClient: FetchHttpClient = FetchHttpClient.getInstance(instanceId);\n const response: HttpResponse<any> = await httpClient.request({\n headers: config.headers as Record<string, string>,\n method: config.method || 'GET',\n url,\n } as HttpRequestConfig);\n\n return {\n json: () => Promise.resolve(response.data),\n ok: response.status >= 200 && response.status < 300,\n status: response.status,\n statusText: response.statusText || '',\n text: () => Promise.resolve(typeof response.data === 'string' ? response.data : JSON.stringify(response.data)),\n } as Response;\n };\n\n return baseGetUsersMe({\n ...requestConfig,\n fetcher: fetcher || defaultFetcher,\n });\n};\n\nexport default getUsersMe;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EA,MAAM,aAAa,OAAO,EAAC,SAAS,aAAa,EAAG,GAAG,oBAAoD;CACzG,MAAM,iBAAiB,OAAO,KAAa,WAA2C;EAEpF,MAAMA,WAA8B,MADAC,oCAAgB,YAAY,WAAW,CACtB,QAAQ;GAC3D,SAAS,OAAO;GAChB,QAAQ,OAAO,UAAU;GACzB;GACD,CAAsB;AAEvB,SAAO;GACL,YAAY,QAAQ,QAAQ,SAAS,KAAK;GAC1C,IAAI,SAAS,UAAU,OAAO,SAAS,SAAS;GAChD,QAAQ,SAAS;GACjB,YAAY,SAAS,cAAc;GACnC,YAAY,QAAQ,QAAQ,OAAO,SAAS,SAAS,WAAW,SAAS,OAAO,KAAK,UAAU,SAAS,KAAK,CAAC;GAC/G;;AAGH,4CAAsB;EACpB,GAAG;EACH,SAAS,WAAW;EACrB,CAAC;;AAGJ,yBAAe"}
1
+ {"version":3,"file":"getUsersMe.cjs","names":["response: HttpResponse<any>","FetchHttpClient"],"sources":["../../../src/api/getUsersMe.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n User,\n HttpResponse,\n FetchHttpClient,\n HttpRequestConfig,\n getUsersMe as baseGetUsersMe,\n GetUsersMeConfig as BaseGetUsersMeConfig,\n} from '@thunderid/browser';\n\n/**\n * Configuration for the getUsersMe request (React-specific)\n */\nexport interface GetUsersMeConfig extends Omit<BaseGetUsersMeConfig, 'fetcher'> {\n /**\n * Optional custom fetcher function. If not provided, the ThunderID SPA client's httpClient will be used\n * which is a wrapper around axios http.request\n */\n fetcher?: (url: string, config: RequestInit) => Promise<Response>;\n /**\n * Optional instance ID for multi-instance support. Defaults to 0.\n */\n instanceId?: number;\n}\n\n/**\n * Retrieves the user profile information from the specified /users/me endpoint.\n * This function uses the ThunderID SPA client's httpClient by default, but allows for custom fetchers.\n *\n * @param requestConfig - Request configuration object.\n * @returns A promise that resolves with the user profile information.\n * @example\n * ```typescript\n * // Using default ThunderID SPA client httpClient\n * try {\n * const userProfile = await getUsersMe({\n * url: \"https://localhost:8090/users/me\",\n * });\n * console.log(userProfile);\n * } catch (error) {\n * if (error instanceof ThunderIDAPIError) {\n * console.error('Failed to get user profile:', error.message);\n * }\n * }\n * ```\n *\n * @example\n * ```typescript\n * // Using custom fetcher\n * try {\n * const userProfile = await getUsersMe({\n * url: \"https://localhost:8090/users/me\",\n * fetcher: customFetchFunction\n * });\n * console.log(userProfile);\n * } catch (error) {\n * if (error instanceof ThunderIDAPIError) {\n * console.error('Failed to get user profile:', error.message);\n * }\n * }\n * ```\n */\nconst getUsersMe = async ({fetcher, instanceId = 0, ...requestConfig}: GetUsersMeConfig): Promise<User> => {\n const defaultFetcher = async (url: string, config: RequestInit): Promise<Response> => {\n const httpClient: FetchHttpClient = FetchHttpClient.getInstance(instanceId);\n const response: HttpResponse<any> = await httpClient.request({\n headers: config.headers as Record<string, string>,\n method: config.method || 'GET',\n url,\n } as HttpRequestConfig);\n\n return {\n json: () => Promise.resolve(response.data),\n ok: response.status >= 200 && response.status < 300,\n status: response.status,\n statusText: response.statusText || '',\n text: () => Promise.resolve(typeof response.data === 'string' ? response.data : JSON.stringify(response.data)),\n } as Response;\n };\n\n return baseGetUsersMe({\n ...requestConfig,\n fetcher: fetcher || defaultFetcher,\n });\n};\n\nexport default getUsersMe;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,MAAM,aAAa,OAAO,EAAC,SAAS,aAAa,EAAG,GAAG,oBAAoD;CACzG,MAAM,iBAAiB,OAAO,KAAa,WAA2C;EAEpF,MAAMA,WAA8B,MADAC,oCAAgB,YAAY,WAAW,CACtB,QAAQ;GAC3D,SAAS,OAAO;GAChB,QAAQ,OAAO,UAAU;GACzB;GACD,CAAsB;AAEvB,SAAO;GACL,YAAY,QAAQ,QAAQ,SAAS,KAAK;GAC1C,IAAI,SAAS,UAAU,OAAO,SAAS,SAAS;GAChD,QAAQ,SAAS;GACjB,YAAY,SAAS,cAAc;GACnC,YAAY,QAAQ,QAAQ,OAAO,SAAS,SAAS,WAAW,SAAS,OAAO,KAAK,UAAU,SAAS,KAAK,CAAC;GAC/G;;AAGH,4CAAsB;EACpB,GAAG;EACH,SAAS,WAAW;EACrB,CAAC;;AAGJ,yBAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateMeProfile.cjs","names":["response: HttpResponse<any>","FetchHttpClient"],"sources":["../../../src/api/updateMeProfile.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 {\n User,\n HttpResponse,\n FetchHttpClient,\n HttpRequestConfig,\n updateMeProfile as baseUpdateMeProfile,\n UpdateMeProfileConfig as BaseUpdateMeProfileConfig,\n} from '@thunderid/browser';\n\n/**\n * Configuration for the updateMeProfile request (React-specific)\n */\nexport interface UpdateMeProfileConfig extends Omit<BaseUpdateMeProfileConfig, 'fetcher'> {\n /**\n * Optional custom fetcher function. If not provided, the ThunderID SPA client's httpClient will be used\n * which is a wrapper around axios http.request\n */\n fetcher?: (url: string, config: RequestInit) => Promise<Response>;\n /**\n * Optional instance ID for multi-instance support. Defaults to 0.\n */\n instanceId?: number;\n}\n\n/**\n * Updates the user profile information at the specified /users/me endpoint.\n * This function uses the ThunderID SPA client's httpClient by default, but allows for custom fetchers.\n *\n * @param config - Configuration object with URL, payload and optional request config.\n * @returns A promise that resolves with the updated user profile information.\n * @example\n * ```typescript\n * // Using default ThunderID SPA client httpClient\n * await updateMeProfile({\n * url: \"https://localhost:8090/users/me\",\n * payload: { picture: \"https://example.com/pic.jpg\" }\n * });\n * ```\n *\n * @example\n * ```typescript\n * // Using custom fetcher\n * await updateMeProfile({\n * url: \"https://localhost:8090/users/me\",\n * payload: { picture: \"https://example.com/pic.jpg\" },\n * fetcher: customFetchFunction\n * });\n * ```\n */\nconst updateMeProfile = async ({fetcher, instanceId = 0, ...requestConfig}: UpdateMeProfileConfig): Promise<User> => {\n const defaultFetcher = async (url: string, config: RequestInit): Promise<Response> => {\n const httpClient: FetchHttpClient = FetchHttpClient.getInstance(instanceId);\n const response: HttpResponse<any> = await httpClient.request({\n data: config.body ? JSON.parse(config.body as string) : undefined,\n headers: config.headers as Record<string, string>,\n method: config.method || 'PUT',\n url,\n } as HttpRequestConfig);\n\n return {\n json: () => Promise.resolve(response.data),\n ok: response.status >= 200 && response.status < 300,\n status: response.status,\n statusText: response.statusText || '',\n text: () => Promise.resolve(typeof response.data === 'string' ? response.data : JSON.stringify(response.data)),\n } as Response;\n };\n\n return baseUpdateMeProfile({\n ...requestConfig,\n fetcher: fetcher || defaultFetcher,\n });\n};\n\nexport default updateMeProfile;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEA,MAAM,kBAAkB,OAAO,EAAC,SAAS,aAAa,EAAG,GAAG,oBAAyD;CACnH,MAAM,iBAAiB,OAAO,KAAa,WAA2C;EAEpF,MAAMA,WAA8B,MADAC,oCAAgB,YAAY,WAAW,CACtB,QAAQ;GAC3D,MAAM,OAAO,OAAO,KAAK,MAAM,OAAO,KAAe,GAAG;GACxD,SAAS,OAAO;GAChB,QAAQ,OAAO,UAAU;GACzB;GACD,CAAsB;AAEvB,SAAO;GACL,YAAY,QAAQ,QAAQ,SAAS,KAAK;GAC1C,IAAI,SAAS,UAAU,OAAO,SAAS,SAAS;GAChD,QAAQ,SAAS;GACjB,YAAY,SAAS,cAAc;GACnC,YAAY,QAAQ,QAAQ,OAAO,SAAS,SAAS,WAAW,SAAS,OAAO,KAAK,UAAU,SAAS,KAAK,CAAC;GAC/G;;AAGH,iDAA2B;EACzB,GAAG;EACH,SAAS,WAAW;EACrB,CAAC;;AAGJ,8BAAe"}
1
+ {"version":3,"file":"updateMeProfile.cjs","names":["response: HttpResponse<any>","FetchHttpClient"],"sources":["../../../src/api/updateMeProfile.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n User,\n HttpResponse,\n FetchHttpClient,\n HttpRequestConfig,\n updateMeProfile as baseUpdateMeProfile,\n UpdateMeProfileConfig as BaseUpdateMeProfileConfig,\n} from '@thunderid/browser';\n\n/**\n * Configuration for the updateMeProfile request (React-specific)\n */\nexport interface UpdateMeProfileConfig extends Omit<BaseUpdateMeProfileConfig, 'fetcher'> {\n /**\n * Optional custom fetcher function. If not provided, the ThunderID SPA client's httpClient will be used\n * which is a wrapper around axios http.request\n */\n fetcher?: (url: string, config: RequestInit) => Promise<Response>;\n /**\n * Optional instance ID for multi-instance support. Defaults to 0.\n */\n instanceId?: number;\n}\n\n/**\n * Updates the user profile information at the specified /users/me endpoint.\n * This function uses the ThunderID SPA client's httpClient by default, but allows for custom fetchers.\n *\n * @param config - Configuration object with URL, payload and optional request config.\n * @returns A promise that resolves with the updated user profile information.\n * @example\n * ```typescript\n * // Using default ThunderID SPA client httpClient\n * await updateMeProfile({\n * url: \"https://localhost:8090/users/me\",\n * payload: { picture: \"https://example.com/pic.jpg\" }\n * });\n * ```\n *\n * @example\n * ```typescript\n * // Using custom fetcher\n * await updateMeProfile({\n * url: \"https://localhost:8090/users/me\",\n * payload: { picture: \"https://example.com/pic.jpg\" },\n * fetcher: customFetchFunction\n * });\n * ```\n */\nconst updateMeProfile = async ({fetcher, instanceId = 0, ...requestConfig}: UpdateMeProfileConfig): Promise<User> => {\n const defaultFetcher = async (url: string, config: RequestInit): Promise<Response> => {\n const httpClient: FetchHttpClient = FetchHttpClient.getInstance(instanceId);\n const response: HttpResponse<any> = await httpClient.request({\n data: config.body ? JSON.parse(config.body as string) : undefined,\n headers: config.headers as Record<string, string>,\n method: config.method || 'PUT',\n url,\n } as HttpRequestConfig);\n\n return {\n json: () => Promise.resolve(response.data),\n ok: response.status >= 200 && response.status < 300,\n status: response.status,\n statusText: response.statusText || '',\n text: () => Promise.resolve(typeof response.data === 'string' ? response.data : JSON.stringify(response.data)),\n } as Response;\n };\n\n return baseUpdateMeProfile({\n ...requestConfig,\n fetcher: fetcher || defaultFetcher,\n });\n};\n\nexport default updateMeProfile;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAM,kBAAkB,OAAO,EAAC,SAAS,aAAa,EAAG,GAAG,oBAAyD;CACnH,MAAM,iBAAiB,OAAO,KAAa,WAA2C;EAEpF,MAAMA,WAA8B,MADAC,oCAAgB,YAAY,WAAW,CACtB,QAAQ;GAC3D,MAAM,OAAO,OAAO,KAAK,MAAM,OAAO,KAAe,GAAG;GACxD,SAAS,OAAO;GAChB,QAAQ,OAAO,UAAU;GACzB;GACD,CAAsB;AAEvB,SAAO;GACL,YAAY,QAAQ,QAAQ,SAAS,KAAK;GAC1C,IAAI,SAAS,UAAU,OAAO,SAAS,SAAS;GAChD,QAAQ,SAAS;GACjB,YAAY,SAAS,cAAc;GACnC,YAAY,QAAQ,QAAQ,OAAO,SAAS,SAAS,WAAW,SAAS,OAAO,KAAK,UAAU,SAAS,KAAK,CAAC;GAC/G;;AAGH,iDAA2B;EACzB,GAAG;EACH,SAAS,WAAW;EACrB,CAAC;;AAGJ,8BAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSignInButton.cjs","names":["BaseSignInButton: ForwardRefExoticComponent<BaseSignInButtonProps & RefAttributes<HTMLButtonElement>>","Button"],"sources":["../../../../../src/components/actions/SignInButton/BaseSignInButton.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {cx} from '@emotion/css';\nimport {FlowMetadataResponse, WithPreferences, withVendorCSSClassPrefix} from '@thunderid/browser';\nimport {\n ButtonHTMLAttributes,\n forwardRef,\n ForwardRefExoticComponent,\n ReactElement,\n ReactNode,\n Ref,\n RefAttributes,\n} from 'react';\nimport Button from '../../primitives/Button/Button';\n\n/**\n * Common props shared by all {@link BaseSignInButton} components.\n */\nexport interface CommonBaseSignInButtonProps {\n /**\n * Loading state during sign-in process\n */\n isLoading?: boolean;\n /**\n * Flow metadata returned by the platform (v2 only). `null` while loading or unavailable.\n */\n meta?: FlowMetadataResponse | null;\n /**\n * Function to initiate the sign-in process\n */\n signIn: () => Promise<void>;\n}\n\n/**\n * Props passed to the render function of {@link BaseSignInButton}\n */\nexport type BaseSignInButtonRenderProps = CommonBaseSignInButtonProps;\n\n/**\n * Props interface of {@link BaseSignInButton}\n */\nexport interface BaseSignInButtonProps\n extends Partial<CommonBaseSignInButtonProps>,\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'>,\n WithPreferences {\n /**\n * Render prop function that receives sign-in props, or traditional ReactNode children\n */\n children?: ((props: BaseSignInButtonRenderProps) => ReactNode) | ReactNode;\n}\n\n/**\n * Base SignInButton component that supports both render props and traditional props patterns.\n *\n * @example Using render props\n * ```tsx\n * <BaseSignInButton>\n * {({signIn, isLoading}) => (\n * <button onClick={signIn} disabled={isLoading}>\n * {isLoading ? 'Signing in...' : 'Sign In'}\n * </button>\n * )}\n * </BaseSignInButton>\n * ```\n *\n * @example Using traditional props\n * ```tsx\n * <BaseSignInButton className=\"custom-button\">Sign In</BaseSignInButton>\n * ```\n */\nconst BaseSignInButton: ForwardRefExoticComponent<BaseSignInButtonProps & RefAttributes<HTMLButtonElement>> =\n forwardRef<HTMLButtonElement, BaseSignInButtonProps>(\n (\n {children, className, style, signIn, isLoading, meta, preferences, ...rest}: BaseSignInButtonProps,\n ref: Ref<HTMLButtonElement>,\n ): ReactElement => {\n if (typeof children === 'function') {\n return <>{children({isLoading, meta, signIn: signIn!})}</>;\n }\n\n return (\n <Button\n ref={ref}\n className={cx(withVendorCSSClassPrefix('sign-in-button'), className)}\n style={style}\n disabled={isLoading}\n loading={isLoading}\n type=\"button\"\n {...rest}\n >\n {children}\n </Button>\n );\n },\n );\n\nBaseSignInButton.displayName = 'BaseSignInButton';\n\nexport default BaseSignInButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsFA,MAAMA,0CAGA,EAAC,UAAU,WAAW,OAAO,QAAQ,WAAW,MAAM,YAAa,GAAG,QACtE,QACiB;AACjB,KAAI,OAAO,aAAa,WACtB,QAAO,mFAAG,SAAS;EAAC;EAAW;EAAc;EAAQ,CAAC,GAAI;AAG5D,QACE,2CAACC;EACM;EACL,mFAAuC,iBAAiB,EAAE,UAAU;EAC7D;EACP,UAAU;EACV,SAAS;EACT,MAAK;EACL,GAAI;EAEH;GACM;EAGd;AAEH,iBAAiB,cAAc;AAE/B,+BAAe"}
1
+ {"version":3,"file":"BaseSignInButton.cjs","names":["BaseSignInButton: ForwardRefExoticComponent<BaseSignInButtonProps & RefAttributes<HTMLButtonElement>>","Button"],"sources":["../../../../../src/components/actions/SignInButton/BaseSignInButton.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {cx} from '@emotion/css';\nimport {FlowMetadataResponse, WithPreferences, withVendorCSSClassPrefix} from '@thunderid/browser';\nimport {\n ButtonHTMLAttributes,\n forwardRef,\n ForwardRefExoticComponent,\n ReactElement,\n ReactNode,\n Ref,\n RefAttributes,\n} from 'react';\nimport Button from '../../primitives/Button/Button';\n\n/**\n * Common props shared by all {@link BaseSignInButton} components.\n */\nexport interface CommonBaseSignInButtonProps {\n /**\n * Loading state during sign-in process\n */\n isLoading?: boolean;\n /**\n * Flow metadata returned by the platform (v2 only). `null` while loading or unavailable.\n */\n meta?: FlowMetadataResponse | null;\n /**\n * Function to initiate the sign-in process\n */\n signIn: () => Promise<void>;\n}\n\n/**\n * Props passed to the render function of {@link BaseSignInButton}\n */\nexport type BaseSignInButtonRenderProps = CommonBaseSignInButtonProps;\n\n/**\n * Props interface of {@link BaseSignInButton}\n */\nexport interface BaseSignInButtonProps\n extends Partial<CommonBaseSignInButtonProps>,\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'>,\n WithPreferences {\n /**\n * Render prop function that receives sign-in props, or traditional ReactNode children\n */\n children?: ((props: BaseSignInButtonRenderProps) => ReactNode) | ReactNode;\n}\n\n/**\n * Base SignInButton component that supports both render props and traditional props patterns.\n *\n * @example Using render props\n * ```tsx\n * <BaseSignInButton>\n * {({signIn, isLoading}) => (\n * <button onClick={signIn} disabled={isLoading}>\n * {isLoading ? 'Signing in...' : 'Sign In'}\n * </button>\n * )}\n * </BaseSignInButton>\n * ```\n *\n * @example Using traditional props\n * ```tsx\n * <BaseSignInButton className=\"custom-button\">Sign In</BaseSignInButton>\n * ```\n */\nconst BaseSignInButton: ForwardRefExoticComponent<BaseSignInButtonProps & RefAttributes<HTMLButtonElement>> =\n forwardRef<HTMLButtonElement, BaseSignInButtonProps>(\n (\n {children, className, style, signIn, isLoading, meta, preferences, ...rest}: BaseSignInButtonProps,\n ref: Ref<HTMLButtonElement>,\n ): ReactElement => {\n if (typeof children === 'function') {\n return <>{children({isLoading, meta, signIn: signIn!})}</>;\n }\n\n return (\n <Button\n ref={ref}\n className={cx(withVendorCSSClassPrefix('sign-in-button'), className)}\n style={style}\n disabled={isLoading}\n loading={isLoading}\n type=\"button\"\n {...rest}\n >\n {children}\n </Button>\n );\n },\n );\n\nBaseSignInButton.displayName = 'BaseSignInButton';\n\nexport default BaseSignInButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,MAAMA,0CAGA,EAAC,UAAU,WAAW,OAAO,QAAQ,WAAW,MAAM,YAAa,GAAG,QACtE,QACiB;AACjB,KAAI,OAAO,aAAa,WACtB,QAAO,mFAAG,SAAS;EAAC;EAAW;EAAc;EAAQ,CAAC,GAAI;AAG5D,QACE,2CAACC;EACM;EACL,mFAAuC,iBAAiB,EAAE,UAAU;EAC7D;EACP,UAAU;EACV,SAAS;EACT,MAAK;EACL,GAAI;EAEH;GACM;EAGd;AAEH,iBAAiB,cAAc;AAE/B,+BAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"SignInButton.cjs","names":["SignInButton: ForwardRefExoticComponent<SignInButtonProps & RefAttributes<HTMLButtonElement>>","useThunderID","useTranslation","ThunderIDRuntimeError","BaseSignInButton"],"sources":["../../../../../src/components/actions/SignInButton/SignInButton.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 {ThunderIDRuntimeError, navigate} from '@thunderid/browser';\nimport {forwardRef, ForwardRefExoticComponent, MouseEvent, ReactElement, Ref, RefAttributes, useState} from 'react';\nimport BaseSignInButton, {BaseSignInButtonProps} from './BaseSignInButton';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\nimport useTranslation from '../../../hooks/useTranslation';\n\n/**\n * Props interface of {@link SignInButton}\n */\nexport type SignInButtonProps = BaseSignInButtonProps & {\n /**\n * Additional parameters to pass to the `authorize` request.\n */\n signInOptions?: Record<string, any>;\n /**\n * Additional parameters to pass to the token request body.\n */\n tokenRequest?: {params?: Record<string, unknown>};\n};\n\n/**\n * SignInButton component that supports both render props and traditional props patterns.\n *\n * @remarks This component is only supported in browser based React applications (CSR).\n *\n * @example Using render props\n * ```tsx\n * <SignInButton>\n * {({signIn, isLoading}) => (\n * <button onClick={signIn} disabled={isLoading}>\n * {isLoading ? 'Signing in...' : 'Sign In'}\n * </button>\n * )}\n * </SignInButton>\n * ```\n *\n * @example Using traditional props\n * ```tsx\n * <SignInButton className=\"custom-button\">Sign In</SignInButton>\n * ```\n *\n * @example Using component-level preferences\n * ```tsx\n * <SignInButton\n * preferences={{\n * i18n: {\n * bundles: {\n * 'en-US': {\n * translations: {\n * 'buttons.signIn': 'Custom Sign In Text'\n * }\n * }\n * }\n * }\n * }}\n * >\n * Custom Sign In\n * </SignInButton>\n * ```\n */\nconst SignInButton: ForwardRefExoticComponent<SignInButtonProps & RefAttributes<HTMLButtonElement>> = forwardRef<\n HTMLButtonElement,\n SignInButtonProps\n>(\n (\n {\n children,\n onClick,\n preferences,\n signInOptions: overriddenSignInOptions,\n tokenRequest: overriddenTokenRequest,\n ...rest\n }: SignInButtonProps,\n ref: Ref<HTMLButtonElement>,\n ): ReactElement => {\n const {signIn, signInUrl, signInOptions, tokenRequest, meta} = useThunderID();\n const {t} = useTranslation(preferences?.i18n);\n\n const [isLoading, setIsLoading] = useState(false);\n\n const handleSignIn = async (e?: MouseEvent<HTMLButtonElement>): Promise<void> => {\n try {\n setIsLoading(true);\n\n // If a custom `signInUrl` is provided, use it for navigation.\n if (signInUrl) {\n navigate(signInUrl);\n } else {\n const mergedParams = (overriddenTokenRequest ?? tokenRequest)?.params;\n await signIn(\n overriddenSignInOptions ?? signInOptions,\n undefined,\n undefined,\n undefined,\n mergedParams && Object.keys(mergedParams).length > 0 ? {params: mergedParams} : undefined,\n );\n }\n\n if (onClick) {\n onClick(e!);\n }\n } catch (error) {\n throw new ThunderIDRuntimeError(\n `Sign in failed: ${error instanceof Error ? error.message : String(JSON.stringify(error))}`,\n 'SignInButton-handleSignIn-RuntimeError-001',\n 'react',\n 'Something went wrong while trying to sign in. Please try again later.',\n );\n } finally {\n setIsLoading(false);\n }\n };\n\n return (\n <BaseSignInButton\n ref={ref}\n onClick={handleSignIn}\n isLoading={isLoading}\n meta={meta}\n signIn={handleSignIn}\n preferences={preferences}\n {...rest}\n >\n {children ?? t('elements.buttons.signin.text')}\n </BaseSignInButton>\n );\n },\n);\n\nSignInButton.displayName = 'SignInButton';\n\nexport default SignInButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EA,MAAMA,sCAKF,EACE,UACA,SACA,aACA,eAAe,yBACf,cAAc,uBACd,GAAG,QAEL,QACiB;CACjB,MAAM,EAAC,QAAQ,WAAW,eAAe,cAAc,SAAQC,8BAAc;CAC7E,MAAM,EAAC,MAAKC,+BAAe,aAAa,KAAK;CAE7C,MAAM,CAAC,WAAW,oCAAyB,MAAM;CAEjD,MAAM,eAAe,OAAO,MAAqD;AAC/E,MAAI;AACF,gBAAa,KAAK;AAGlB,OAAI,UACF,mCAAS,UAAU;QACd;IACL,MAAM,gBAAgB,0BAA0B,eAAe;AAC/D,UAAM,OACJ,2BAA2B,eAC3B,QACA,QACA,QACA,gBAAgB,OAAO,KAAK,aAAa,CAAC,SAAS,IAAI,EAAC,QAAQ,cAAa,GAAG,OACjF;;AAGH,OAAI,QACF,SAAQ,EAAG;WAEN,OAAO;AACd,SAAM,IAAIC,0CACR,mBAAmB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,UAAU,MAAM,CAAC,IACzF,8CACA,SACA,wEACD;YACO;AACR,gBAAa,MAAM;;;AAIvB,QACE,2CAACC;EACM;EACL,SAAS;EACE;EACL;EACN,QAAQ;EACK;EACb,GAAI;YAEH,YAAY,EAAE,+BAA+B;GAC7B;EAGxB;AAED,aAAa,cAAc;AAE3B,2BAAe"}
1
+ {"version":3,"file":"SignInButton.cjs","names":["SignInButton: ForwardRefExoticComponent<SignInButtonProps & RefAttributes<HTMLButtonElement>>","useThunderID","useTranslation","ThunderIDRuntimeError","BaseSignInButton"],"sources":["../../../../../src/components/actions/SignInButton/SignInButton.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {ThunderIDRuntimeError, navigate} from '@thunderid/browser';\nimport {forwardRef, ForwardRefExoticComponent, MouseEvent, ReactElement, Ref, RefAttributes, useState} from 'react';\nimport BaseSignInButton, {BaseSignInButtonProps} from './BaseSignInButton';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\nimport useTranslation from '../../../hooks/useTranslation';\n\n/**\n * Props interface of {@link SignInButton}\n */\nexport type SignInButtonProps = BaseSignInButtonProps & {\n /**\n * Additional parameters to pass to the `authorize` request.\n */\n signInOptions?: Record<string, any>;\n /**\n * Additional parameters to pass to the token request body.\n */\n tokenRequest?: {params?: Record<string, unknown>};\n};\n\n/**\n * SignInButton component that supports both render props and traditional props patterns.\n *\n * @remarks This component is only supported in browser based React applications (CSR).\n *\n * @example Using render props\n * ```tsx\n * <SignInButton>\n * {({signIn, isLoading}) => (\n * <button onClick={signIn} disabled={isLoading}>\n * {isLoading ? 'Signing in...' : 'Sign In'}\n * </button>\n * )}\n * </SignInButton>\n * ```\n *\n * @example Using traditional props\n * ```tsx\n * <SignInButton className=\"custom-button\">Sign In</SignInButton>\n * ```\n *\n * @example Using component-level preferences\n * ```tsx\n * <SignInButton\n * preferences={{\n * i18n: {\n * bundles: {\n * 'en-US': {\n * translations: {\n * 'buttons.signIn': 'Custom Sign In Text'\n * }\n * }\n * }\n * }\n * }}\n * >\n * Custom Sign In\n * </SignInButton>\n * ```\n */\nconst SignInButton: ForwardRefExoticComponent<SignInButtonProps & RefAttributes<HTMLButtonElement>> = forwardRef<\n HTMLButtonElement,\n SignInButtonProps\n>(\n (\n {\n children,\n onClick,\n preferences,\n signInOptions: overriddenSignInOptions,\n tokenRequest: overriddenTokenRequest,\n ...rest\n }: SignInButtonProps,\n ref: Ref<HTMLButtonElement>,\n ): ReactElement => {\n const {signIn, signInUrl, signInOptions, tokenRequest, meta} = useThunderID();\n const {t} = useTranslation(preferences?.i18n);\n\n const [isLoading, setIsLoading] = useState(false);\n\n const handleSignIn = async (e?: MouseEvent<HTMLButtonElement>): Promise<void> => {\n try {\n setIsLoading(true);\n\n // If a custom `signInUrl` is provided, use it for navigation.\n if (signInUrl) {\n navigate(signInUrl);\n } else {\n const mergedParams = (overriddenTokenRequest ?? tokenRequest)?.params;\n await signIn(\n overriddenSignInOptions ?? signInOptions,\n undefined,\n undefined,\n undefined,\n mergedParams && Object.keys(mergedParams).length > 0 ? {params: mergedParams} : undefined,\n );\n }\n\n if (onClick) {\n onClick(e!);\n }\n } catch (error) {\n throw new ThunderIDRuntimeError(\n `Sign in failed: ${error instanceof Error ? error.message : String(JSON.stringify(error))}`,\n 'SignInButton-handleSignIn-RuntimeError-001',\n 'react',\n 'Something went wrong while trying to sign in. Please try again later.',\n );\n } finally {\n setIsLoading(false);\n }\n };\n\n return (\n <BaseSignInButton\n ref={ref}\n onClick={handleSignIn}\n isLoading={isLoading}\n meta={meta}\n signIn={handleSignIn}\n preferences={preferences}\n {...rest}\n >\n {children ?? t('elements.buttons.signin.text')}\n </BaseSignInButton>\n );\n },\n);\n\nSignInButton.displayName = 'SignInButton';\n\nexport default SignInButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA,MAAMA,sCAKF,EACE,UACA,SACA,aACA,eAAe,yBACf,cAAc,uBACd,GAAG,QAEL,QACiB;CACjB,MAAM,EAAC,QAAQ,WAAW,eAAe,cAAc,SAAQC,8BAAc;CAC7E,MAAM,EAAC,MAAKC,+BAAe,aAAa,KAAK;CAE7C,MAAM,CAAC,WAAW,oCAAyB,MAAM;CAEjD,MAAM,eAAe,OAAO,MAAqD;AAC/E,MAAI;AACF,gBAAa,KAAK;AAGlB,OAAI,UACF,mCAAS,UAAU;QACd;IACL,MAAM,gBAAgB,0BAA0B,eAAe;AAC/D,UAAM,OACJ,2BAA2B,eAC3B,QACA,QACA,QACA,gBAAgB,OAAO,KAAK,aAAa,CAAC,SAAS,IAAI,EAAC,QAAQ,cAAa,GAAG,OACjF;;AAGH,OAAI,QACF,SAAQ,EAAG;WAEN,OAAO;AACd,SAAM,IAAIC,0CACR,mBAAmB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,UAAU,MAAM,CAAC,IACzF,8CACA,SACA,wEACD;YACO;AACR,gBAAa,MAAM;;;AAIvB,QACE,2CAACC;EACM;EACL,SAAS;EACE;EACL;EACN,QAAQ;EACK;EACb,GAAI;YAEH,YAAY,EAAE,+BAA+B;GAC7B;EAGxB;AAED,aAAa,cAAc;AAE3B,2BAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSignOutButton.cjs","names":["BaseSignOutButton: ForwardRefExoticComponent<BaseSignOutButtonProps & RefAttributes<HTMLButtonElement>>","Button"],"sources":["../../../../../src/components/actions/SignOutButton/BaseSignOutButton.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {cx} from '@emotion/css';\nimport {FlowMetadataResponse, WithPreferences, withVendorCSSClassPrefix} from '@thunderid/browser';\nimport {\n forwardRef,\n ForwardRefExoticComponent,\n ButtonHTMLAttributes,\n ReactElement,\n ReactNode,\n Ref,\n RefAttributes,\n} from 'react';\nimport Button from '../../primitives/Button/Button';\n\n/**\n * Common props shared by all {@link BaseSignOutButton} components.\n */\nexport interface CommonBaseSignOutButtonProps {\n /**\n * Loading state during sign-out process\n */\n isLoading?: boolean;\n /**\n * Flow metadata returned by the platform (v2 only). `null` while loading or unavailable.\n */\n meta?: FlowMetadataResponse | null;\n /**\n * Function to initiate the sign-out process\n */\n signOut: () => Promise<void>;\n}\n\n/**\n * Props passed to the render function of {@link BaseSignOutButton}\n */\nexport type BaseSignOutButtonRenderProps = CommonBaseSignOutButtonProps;\n\n/**\n * Props interface of {@link BaseSignOutButton}\n */\nexport interface BaseSignOutButtonProps\n extends Partial<CommonBaseSignOutButtonProps>,\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'>,\n WithPreferences {\n /**\n * Render prop function that receives sign-out props, or traditional ReactNode children\n */\n children?: ((props: BaseSignOutButtonRenderProps) => ReactNode) | ReactNode;\n}\n\n/**\n * Base SignOutButton component that supports both render props and traditional props patterns.\n *\n * @example Using render props\n * ```tsx\n * <BaseSignOutButton>\n * {({signOut, isLoading}) => (\n * <button onClick={signOut} disabled={isLoading}>\n * {isLoading ? 'Signing out...' : 'Sign Out'}\n * </button>\n * )}\n * </BaseSignOutButton>\n * ```\n *\n * @example Using traditional props\n * ```tsx\n * <BaseSignOutButton className=\"custom-button\">Sign Out</BaseSignOutButton>\n * ```\n */\nconst BaseSignOutButton: ForwardRefExoticComponent<BaseSignOutButtonProps & RefAttributes<HTMLButtonElement>> =\n forwardRef<HTMLButtonElement, BaseSignOutButtonProps>(\n (\n {children, className, style, signOut, isLoading, meta, preferences, ...rest}: BaseSignOutButtonProps,\n ref: Ref<HTMLButtonElement>,\n ): ReactElement => {\n if (typeof children === 'function') {\n return <>{children({isLoading, meta, signOut: signOut!})}</>;\n }\n\n return (\n <Button\n ref={ref}\n className={cx(withVendorCSSClassPrefix('sign-out-button'), className)}\n style={style}\n disabled={isLoading}\n loading={isLoading}\n type=\"button\"\n {...rest}\n >\n {children}\n </Button>\n );\n },\n );\n\nBaseSignOutButton.displayName = 'BaseSignOutButton';\n\nexport default BaseSignOutButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsFA,MAAMA,2CAGA,EAAC,UAAU,WAAW,OAAO,SAAS,WAAW,MAAM,YAAa,GAAG,QACvE,QACiB;AACjB,KAAI,OAAO,aAAa,WACtB,QAAO,mFAAG,SAAS;EAAC;EAAW;EAAe;EAAS,CAAC,GAAI;AAG9D,QACE,2CAACC;EACM;EACL,mFAAuC,kBAAkB,EAAE,UAAU;EAC9D;EACP,UAAU;EACV,SAAS;EACT,MAAK;EACL,GAAI;EAEH;GACM;EAGd;AAEH,kBAAkB,cAAc;AAEhC,gCAAe"}
1
+ {"version":3,"file":"BaseSignOutButton.cjs","names":["BaseSignOutButton: ForwardRefExoticComponent<BaseSignOutButtonProps & RefAttributes<HTMLButtonElement>>","Button"],"sources":["../../../../../src/components/actions/SignOutButton/BaseSignOutButton.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {cx} from '@emotion/css';\nimport {FlowMetadataResponse, WithPreferences, withVendorCSSClassPrefix} from '@thunderid/browser';\nimport {\n forwardRef,\n ForwardRefExoticComponent,\n ButtonHTMLAttributes,\n ReactElement,\n ReactNode,\n Ref,\n RefAttributes,\n} from 'react';\nimport Button from '../../primitives/Button/Button';\n\n/**\n * Common props shared by all {@link BaseSignOutButton} components.\n */\nexport interface CommonBaseSignOutButtonProps {\n /**\n * Loading state during sign-out process\n */\n isLoading?: boolean;\n /**\n * Flow metadata returned by the platform (v2 only). `null` while loading or unavailable.\n */\n meta?: FlowMetadataResponse | null;\n /**\n * Function to initiate the sign-out process\n */\n signOut: () => Promise<void>;\n}\n\n/**\n * Props passed to the render function of {@link BaseSignOutButton}\n */\nexport type BaseSignOutButtonRenderProps = CommonBaseSignOutButtonProps;\n\n/**\n * Props interface of {@link BaseSignOutButton}\n */\nexport interface BaseSignOutButtonProps\n extends Partial<CommonBaseSignOutButtonProps>,\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'>,\n WithPreferences {\n /**\n * Render prop function that receives sign-out props, or traditional ReactNode children\n */\n children?: ((props: BaseSignOutButtonRenderProps) => ReactNode) | ReactNode;\n}\n\n/**\n * Base SignOutButton component that supports both render props and traditional props patterns.\n *\n * @example Using render props\n * ```tsx\n * <BaseSignOutButton>\n * {({signOut, isLoading}) => (\n * <button onClick={signOut} disabled={isLoading}>\n * {isLoading ? 'Signing out...' : 'Sign Out'}\n * </button>\n * )}\n * </BaseSignOutButton>\n * ```\n *\n * @example Using traditional props\n * ```tsx\n * <BaseSignOutButton className=\"custom-button\">Sign Out</BaseSignOutButton>\n * ```\n */\nconst BaseSignOutButton: ForwardRefExoticComponent<BaseSignOutButtonProps & RefAttributes<HTMLButtonElement>> =\n forwardRef<HTMLButtonElement, BaseSignOutButtonProps>(\n (\n {children, className, style, signOut, isLoading, meta, preferences, ...rest}: BaseSignOutButtonProps,\n ref: Ref<HTMLButtonElement>,\n ): ReactElement => {\n if (typeof children === 'function') {\n return <>{children({isLoading, meta, signOut: signOut!})}</>;\n }\n\n return (\n <Button\n ref={ref}\n className={cx(withVendorCSSClassPrefix('sign-out-button'), className)}\n style={style}\n disabled={isLoading}\n loading={isLoading}\n type=\"button\"\n {...rest}\n >\n {children}\n </Button>\n );\n },\n );\n\nBaseSignOutButton.displayName = 'BaseSignOutButton';\n\nexport default BaseSignOutButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,MAAMA,2CAGA,EAAC,UAAU,WAAW,OAAO,SAAS,WAAW,MAAM,YAAa,GAAG,QACvE,QACiB;AACjB,KAAI,OAAO,aAAa,WACtB,QAAO,mFAAG,SAAS;EAAC;EAAW;EAAe;EAAS,CAAC,GAAI;AAG9D,QACE,2CAACC;EACM;EACL,mFAAuC,kBAAkB,EAAE,UAAU;EAC9D;EACP,UAAU;EACV,SAAS;EACT,MAAK;EACL,GAAI;EAEH;GACM;EAGd;AAEH,kBAAkB,cAAc;AAEhC,gCAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"SignOutButton.cjs","names":["SignOutButton: ForwardRefExoticComponent<SignOutButtonProps & RefAttributes<HTMLButtonElement>>","useThunderID","useTranslation","ThunderIDRuntimeError","BaseSignOutButton"],"sources":["../../../../../src/components/actions/SignOutButton/SignOutButton.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 {ThunderIDRuntimeError} from '@thunderid/browser';\nimport {forwardRef, ForwardRefExoticComponent, MouseEvent, ReactElement, Ref, RefAttributes, useState} from 'react';\nimport BaseSignOutButton, {BaseSignOutButtonProps} from './BaseSignOutButton';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\nimport useTranslation from '../../../hooks/useTranslation';\n\n/**\n * Props interface of {@link SignOutButton}\n */\nexport type SignOutButtonProps = BaseSignOutButtonProps;\n\n/**\n * SignOutButton component that supports both render props and traditional props patterns.\n *\n * @remarks This component is only supported in browser based React applications (CSR).\n *\n * @example Using render props pattern\n * ```tsx\n * <SignOutButton>\n * {({signOut, isLoading}) => (\n * <button onClick={signOut} disabled={isLoading}>\n * {isLoading ? 'Signing out...' : 'Sign Out'}\n * </button>\n * )}\n * </SignOutButton>\n * ```\n *\n * @example Using traditional props pattern\n * ```tsx\n * <SignOutButton className=\"custom-button\">Sign Out</SignOutButton>\n * ```\n *\n * @example Using component-level preferences\n * ```tsx\n * <SignOutButton\n * preferences={{\n * i18n: {\n * bundles: {\n * 'en-US': {\n * translations: {\n * 'buttons.signOut': 'Custom Sign Out Text'\n * }\n * }\n * }\n * }\n * }}\n * >\n * Custom Sign Out\n * </SignOutButton>\n * ```\n */\nconst SignOutButton: ForwardRefExoticComponent<SignOutButtonProps & RefAttributes<HTMLButtonElement>> = forwardRef<\n HTMLButtonElement,\n SignOutButtonProps\n>(({children, onClick, preferences, ...rest}: SignOutButtonProps, ref: Ref<HTMLButtonElement>): ReactElement => {\n const {signOut, meta} = useThunderID();\n const {t} = useTranslation(preferences?.i18n);\n\n const [isLoading, setIsLoading] = useState(false);\n\n const handleSignOut = async (e?: MouseEvent<HTMLButtonElement>): Promise<void> => {\n try {\n setIsLoading(true);\n\n await signOut();\n\n if (onClick) {\n onClick(e!);\n }\n } catch (error) {\n throw new ThunderIDRuntimeError(\n `Sign out failed: ${error instanceof Error ? error.message : String(error)}`,\n 'SignOutButton-handleSignOut-RuntimeError-001',\n 'react',\n 'Something went wrong while trying to sign out. Please try again later.',\n );\n } finally {\n setIsLoading(false);\n }\n };\n\n return (\n <BaseSignOutButton\n ref={ref}\n onClick={handleSignOut}\n isLoading={isLoading}\n meta={meta}\n signOut={handleSignOut}\n preferences={preferences}\n {...rest}\n >\n {children ?? t('elements.buttons.signout.text')}\n </BaseSignOutButton>\n );\n});\n\nSignOutButton.displayName = 'SignOutButton';\n\nexport default SignOutButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEA,MAAMA,uCAGH,EAAC,UAAU,SAAS,YAAa,GAAG,QAA2B,QAA8C;CAC9G,MAAM,EAAC,SAAS,SAAQC,8BAAc;CACtC,MAAM,EAAC,MAAKC,+BAAe,aAAa,KAAK;CAE7C,MAAM,CAAC,WAAW,oCAAyB,MAAM;CAEjD,MAAM,gBAAgB,OAAO,MAAqD;AAChF,MAAI;AACF,gBAAa,KAAK;AAElB,SAAM,SAAS;AAEf,OAAI,QACF,SAAQ,EAAG;WAEN,OAAO;AACd,SAAM,IAAIC,0CACR,oBAAoB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,IAC1E,gDACA,SACA,yEACD;YACO;AACR,gBAAa,MAAM;;;AAIvB,QACE,2CAACC;EACM;EACL,SAAS;EACE;EACL;EACN,SAAS;EACI;EACb,GAAI;YAEH,YAAY,EAAE,gCAAgC;GAC7B;EAEtB;AAEF,cAAc,cAAc;AAE5B,4BAAe"}
1
+ {"version":3,"file":"SignOutButton.cjs","names":["SignOutButton: ForwardRefExoticComponent<SignOutButtonProps & RefAttributes<HTMLButtonElement>>","useThunderID","useTranslation","ThunderIDRuntimeError","BaseSignOutButton"],"sources":["../../../../../src/components/actions/SignOutButton/SignOutButton.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {ThunderIDRuntimeError} from '@thunderid/browser';\nimport {forwardRef, ForwardRefExoticComponent, MouseEvent, ReactElement, Ref, RefAttributes, useState} from 'react';\nimport BaseSignOutButton, {BaseSignOutButtonProps} from './BaseSignOutButton';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\nimport useTranslation from '../../../hooks/useTranslation';\n\n/**\n * Props interface of {@link SignOutButton}\n */\nexport type SignOutButtonProps = BaseSignOutButtonProps;\n\n/**\n * SignOutButton component that supports both render props and traditional props patterns.\n *\n * @remarks This component is only supported in browser based React applications (CSR).\n *\n * @example Using render props pattern\n * ```tsx\n * <SignOutButton>\n * {({signOut, isLoading}) => (\n * <button onClick={signOut} disabled={isLoading}>\n * {isLoading ? 'Signing out...' : 'Sign Out'}\n * </button>\n * )}\n * </SignOutButton>\n * ```\n *\n * @example Using traditional props pattern\n * ```tsx\n * <SignOutButton className=\"custom-button\">Sign Out</SignOutButton>\n * ```\n *\n * @example Using component-level preferences\n * ```tsx\n * <SignOutButton\n * preferences={{\n * i18n: {\n * bundles: {\n * 'en-US': {\n * translations: {\n * 'buttons.signOut': 'Custom Sign Out Text'\n * }\n * }\n * }\n * }\n * }}\n * >\n * Custom Sign Out\n * </SignOutButton>\n * ```\n */\nconst SignOutButton: ForwardRefExoticComponent<SignOutButtonProps & RefAttributes<HTMLButtonElement>> = forwardRef<\n HTMLButtonElement,\n SignOutButtonProps\n>(({children, onClick, preferences, ...rest}: SignOutButtonProps, ref: Ref<HTMLButtonElement>): ReactElement => {\n const {signOut, meta} = useThunderID();\n const {t} = useTranslation(preferences?.i18n);\n\n const [isLoading, setIsLoading] = useState(false);\n\n const handleSignOut = async (e?: MouseEvent<HTMLButtonElement>): Promise<void> => {\n try {\n setIsLoading(true);\n\n await signOut();\n\n if (onClick) {\n onClick(e!);\n }\n } catch (error) {\n throw new ThunderIDRuntimeError(\n `Sign out failed: ${error instanceof Error ? error.message : String(error)}`,\n 'SignOutButton-handleSignOut-RuntimeError-001',\n 'react',\n 'Something went wrong while trying to sign out. Please try again later.',\n );\n } finally {\n setIsLoading(false);\n }\n };\n\n return (\n <BaseSignOutButton\n ref={ref}\n onClick={handleSignOut}\n isLoading={isLoading}\n meta={meta}\n signOut={handleSignOut}\n preferences={preferences}\n {...rest}\n >\n {children ?? t('elements.buttons.signout.text')}\n </BaseSignOutButton>\n );\n});\n\nSignOutButton.displayName = 'SignOutButton';\n\nexport default SignOutButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,MAAMA,uCAGH,EAAC,UAAU,SAAS,YAAa,GAAG,QAA2B,QAA8C;CAC9G,MAAM,EAAC,SAAS,SAAQC,8BAAc;CACtC,MAAM,EAAC,MAAKC,+BAAe,aAAa,KAAK;CAE7C,MAAM,CAAC,WAAW,oCAAyB,MAAM;CAEjD,MAAM,gBAAgB,OAAO,MAAqD;AAChF,MAAI;AACF,gBAAa,KAAK;AAElB,SAAM,SAAS;AAEf,OAAI,QACF,SAAQ,EAAG;WAEN,OAAO;AACd,SAAM,IAAIC,0CACR,oBAAoB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,IAC1E,gDACA,SACA,yEACD;YACO;AACR,gBAAa,MAAM;;;AAIvB,QACE,2CAACC;EACM;EACL,SAAS;EACE;EACL;EACN,SAAS;EACI;EACb,GAAI;YAEH,YAAY,EAAE,gCAAgC;GAC7B;EAEtB;AAEF,cAAc,cAAc;AAE5B,4BAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSignUpButton.cjs","names":["BaseSignUpButton: ForwardRefExoticComponent<BaseSignUpButtonProps & RefAttributes<HTMLButtonElement>>","Button"],"sources":["../../../../../src/components/actions/SignUpButton/BaseSignUpButton.tsx"],"sourcesContent":["/**\n * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com).\n *\n * WSO2 LLC. licenses this file to you under the Apache License,\n * Version 2.0 (the \"License\"); you may not use this file except\n * in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport {cx} from '@emotion/css';\nimport {FlowMetadataResponse, WithPreferences, withVendorCSSClassPrefix} from '@thunderid/browser';\nimport {\n forwardRef,\n ForwardRefExoticComponent,\n ButtonHTMLAttributes,\n ReactElement,\n ReactNode,\n Ref,\n RefAttributes,\n} from 'react';\nimport Button from '../../primitives/Button/Button';\n\n/**\n * Common props shared by all {@link BaseSignUpButton} components.\n */\nexport interface CommonBaseSignUpButtonProps {\n /**\n * Loading state during sign-up process\n */\n isLoading?: boolean;\n /**\n * Flow metadata returned by the platform (v2 only). `null` while loading or unavailable.\n */\n meta?: FlowMetadataResponse | null;\n /**\n * Function to initiate the sign-up process\n */\n signUp?: () => Promise<void>;\n}\n\n/**\n * Props passed to the render function of {@link BaseSignUpButton}\n */\nexport type BaseSignUpButtonRenderProps = CommonBaseSignUpButtonProps;\n\n/**\n * Props interface of {@link BaseSignUpButton}\n */\nexport interface BaseSignUpButtonProps\n extends CommonBaseSignUpButtonProps,\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'>,\n WithPreferences {\n /**\n * Render prop function that receives sign-up props, or traditional ReactNode children\n */\n children?: ((props: BaseSignUpButtonRenderProps) => ReactNode) | ReactNode;\n}\n\n/**\n * Base SignUpButton component that supports both render props and traditional props patterns.\n *\n * @example Using render props\n * ```tsx\n * <BaseSignUpButton>\n * {({ signUp, isLoading }) => (\n * <button onClick={signUp} disabled={isLoading}>\n * {isLoading ? 'Creating account...' : 'Create Account'}\n * </button>\n * )}\n * </BaseSignUpButton>\n * ```\n *\n * @example Using traditional props\n * ```tsx\n * <BaseSignUpButton className=\"custom-button\">Create Account</BaseSignUpButton>\n * ```\n */\nconst BaseSignUpButton: ForwardRefExoticComponent<BaseSignUpButtonProps & RefAttributes<HTMLButtonElement>> =\n forwardRef<HTMLButtonElement, BaseSignUpButtonProps>(\n (\n {children, className, style, signUp, isLoading, meta, preferences, ...rest}: BaseSignUpButtonProps,\n ref: Ref<HTMLButtonElement>,\n ): ReactElement => {\n if (typeof children === 'function') {\n return <>{children({isLoading, meta, signUp})}</>;\n }\n\n return (\n <Button\n ref={ref}\n className={cx(withVendorCSSClassPrefix('sign-up-button'), className)}\n style={style}\n disabled={isLoading}\n loading={isLoading}\n type=\"button\"\n color=\"primary\"\n variant=\"solid\"\n {...rest}\n >\n {children}\n </Button>\n );\n },\n );\n\nBaseSignUpButton.displayName = 'BaseSignUpButton';\n\nexport default BaseSignUpButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsFA,MAAMA,0CAGA,EAAC,UAAU,WAAW,OAAO,QAAQ,WAAW,MAAM,YAAa,GAAG,QACtE,QACiB;AACjB,KAAI,OAAO,aAAa,WACtB,QAAO,mFAAG,SAAS;EAAC;EAAW;EAAM;EAAO,CAAC,GAAI;AAGnD,QACE,2CAACC;EACM;EACL,mFAAuC,iBAAiB,EAAE,UAAU;EAC7D;EACP,UAAU;EACV,SAAS;EACT,MAAK;EACL,OAAM;EACN,SAAQ;EACR,GAAI;EAEH;GACM;EAGd;AAEH,iBAAiB,cAAc;AAE/B,+BAAe"}
1
+ {"version":3,"file":"BaseSignUpButton.cjs","names":["BaseSignUpButton: ForwardRefExoticComponent<BaseSignUpButtonProps & RefAttributes<HTMLButtonElement>>","Button"],"sources":["../../../../../src/components/actions/SignUpButton/BaseSignUpButton.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {cx} from '@emotion/css';\nimport {FlowMetadataResponse, WithPreferences, withVendorCSSClassPrefix} from '@thunderid/browser';\nimport {\n forwardRef,\n ForwardRefExoticComponent,\n ButtonHTMLAttributes,\n ReactElement,\n ReactNode,\n Ref,\n RefAttributes,\n} from 'react';\nimport Button from '../../primitives/Button/Button';\n\n/**\n * Common props shared by all {@link BaseSignUpButton} components.\n */\nexport interface CommonBaseSignUpButtonProps {\n /**\n * Loading state during sign-up process\n */\n isLoading?: boolean;\n /**\n * Flow metadata returned by the platform (v2 only). `null` while loading or unavailable.\n */\n meta?: FlowMetadataResponse | null;\n /**\n * Function to initiate the sign-up process\n */\n signUp?: () => Promise<void>;\n}\n\n/**\n * Props passed to the render function of {@link BaseSignUpButton}\n */\nexport type BaseSignUpButtonRenderProps = CommonBaseSignUpButtonProps;\n\n/**\n * Props interface of {@link BaseSignUpButton}\n */\nexport interface BaseSignUpButtonProps\n extends CommonBaseSignUpButtonProps,\n Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'>,\n WithPreferences {\n /**\n * Render prop function that receives sign-up props, or traditional ReactNode children\n */\n children?: ((props: BaseSignUpButtonRenderProps) => ReactNode) | ReactNode;\n}\n\n/**\n * Base SignUpButton component that supports both render props and traditional props patterns.\n *\n * @example Using render props\n * ```tsx\n * <BaseSignUpButton>\n * {({ signUp, isLoading }) => (\n * <button onClick={signUp} disabled={isLoading}>\n * {isLoading ? 'Creating account...' : 'Create Account'}\n * </button>\n * )}\n * </BaseSignUpButton>\n * ```\n *\n * @example Using traditional props\n * ```tsx\n * <BaseSignUpButton className=\"custom-button\">Create Account</BaseSignUpButton>\n * ```\n */\nconst BaseSignUpButton: ForwardRefExoticComponent<BaseSignUpButtonProps & RefAttributes<HTMLButtonElement>> =\n forwardRef<HTMLButtonElement, BaseSignUpButtonProps>(\n (\n {children, className, style, signUp, isLoading, meta, preferences, ...rest}: BaseSignUpButtonProps,\n ref: Ref<HTMLButtonElement>,\n ): ReactElement => {\n if (typeof children === 'function') {\n return <>{children({isLoading, meta, signUp})}</>;\n }\n\n return (\n <Button\n ref={ref}\n className={cx(withVendorCSSClassPrefix('sign-up-button'), className)}\n style={style}\n disabled={isLoading}\n loading={isLoading}\n type=\"button\"\n color=\"primary\"\n variant=\"solid\"\n {...rest}\n >\n {children}\n </Button>\n );\n },\n );\n\nBaseSignUpButton.displayName = 'BaseSignUpButton';\n\nexport default BaseSignUpButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,MAAMA,0CAGA,EAAC,UAAU,WAAW,OAAO,QAAQ,WAAW,MAAM,YAAa,GAAG,QACtE,QACiB;AACjB,KAAI,OAAO,aAAa,WACtB,QAAO,mFAAG,SAAS;EAAC;EAAW;EAAM;EAAO,CAAC,GAAI;AAGnD,QACE,2CAACC;EACM;EACL,mFAAuC,iBAAiB,EAAE,UAAU;EAC7D;EACP,UAAU;EACV,SAAS;EACT,MAAK;EACL,OAAM;EACN,SAAQ;EACR,GAAI;EAEH;GACM;EAGd;AAEH,iBAAiB,cAAc;AAE/B,+BAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"SignUpButton.cjs","names":["SignUpButton: ForwardRefExoticComponent<SignUpButtonProps & RefAttributes<HTMLButtonElement>>","useThunderID","useTranslation","ThunderIDRuntimeError","BaseSignUpButton"],"sources":["../../../../../src/components/actions/SignUpButton/SignUpButton.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 {ThunderIDRuntimeError, navigate} from '@thunderid/browser';\nimport {forwardRef, ForwardRefExoticComponent, MouseEvent, ReactElement, Ref, RefAttributes, useState} from 'react';\nimport BaseSignUpButton, {BaseSignUpButtonProps} from './BaseSignUpButton';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\nimport useTranslation from '../../../hooks/useTranslation';\n\n/**\n * Props interface of {@link SignUpButton}\n */\nexport type SignUpButtonProps = BaseSignUpButtonProps;\n\n/**\n * SignUpButton component that supports both render props and traditional props patterns.\n * It redirects the user to the ThunderID sign-up page configured for the application.\n *\n * @remarks This component is only supported in browser based React applications (CSR).\n *\n * @example Using render props pattern\n * ```tsx\n * <SignUpButton>\n * {({ signUp, isLoading }) => (\n * <button onClick={signUp} disabled={isLoading}>\n * {isLoading ? 'Creating Account...' : 'Create Account'}\n * </button>\n * )}\n * </SignUpButton>\n * ```\n *\n * @example Using traditional props pattern\n * ```tsx\n * <SignUpButton className=\"custom-button\">Create Account</SignUpButton>\n * ```\n *\n * @example Using component-level preferences\n * ```tsx\n * <SignUpButton\n * preferences={{\n * i18n: {\n * bundles: {\n * 'en-US': {\n * translations: {\n * 'buttons.signUp': 'Custom Sign Up Text'\n * }\n * }\n * }\n * }\n * }}\n * >\n * Custom Sign Up\n * </SignUpButton>\n * ```\n */\nconst SignUpButton: ForwardRefExoticComponent<SignUpButtonProps & RefAttributes<HTMLButtonElement>> = forwardRef<\n HTMLButtonElement,\n SignUpButtonProps\n>(({children, onClick, preferences, ...rest}: SignUpButtonProps, ref: Ref<HTMLButtonElement>): ReactElement => {\n const {signUp, signUpUrl, meta} = useThunderID();\n const {t} = useTranslation(preferences?.i18n);\n\n const [isLoading, setIsLoading] = useState(false);\n\n const handleSignUp = async (e?: MouseEvent<HTMLButtonElement>): Promise<void> => {\n try {\n setIsLoading(true);\n\n // If a custom `signUpUrl` is provided, use it for navigation.\n if (signUpUrl) {\n navigate(signUpUrl);\n } else {\n await signUp();\n }\n\n if (onClick) {\n onClick(e!);\n }\n } catch (error) {\n throw new ThunderIDRuntimeError(\n `Sign up failed: ${error instanceof Error ? error.message : String(error)}`,\n 'SignUpButton-handleSignUp-RuntimeError-001',\n 'react',\n 'Something went wrong while trying to sign up. Please try again later.',\n );\n } finally {\n setIsLoading(false);\n }\n };\n\n return (\n <BaseSignUpButton\n ref={ref}\n onClick={handleSignUp}\n isLoading={isLoading}\n meta={meta}\n signUp={handleSignUp}\n preferences={preferences}\n {...rest}\n >\n {children ?? t('elements.buttons.signup.text')}\n </BaseSignUpButton>\n );\n});\n\nSignUpButton.displayName = 'SignUpButton';\n\nexport default SignUpButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEA,MAAMA,sCAGH,EAAC,UAAU,SAAS,YAAa,GAAG,QAA0B,QAA8C;CAC7G,MAAM,EAAC,QAAQ,WAAW,SAAQC,8BAAc;CAChD,MAAM,EAAC,MAAKC,+BAAe,aAAa,KAAK;CAE7C,MAAM,CAAC,WAAW,oCAAyB,MAAM;CAEjD,MAAM,eAAe,OAAO,MAAqD;AAC/E,MAAI;AACF,gBAAa,KAAK;AAGlB,OAAI,UACF,mCAAS,UAAU;OAEnB,OAAM,QAAQ;AAGhB,OAAI,QACF,SAAQ,EAAG;WAEN,OAAO;AACd,SAAM,IAAIC,0CACR,mBAAmB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,IACzE,8CACA,SACA,wEACD;YACO;AACR,gBAAa,MAAM;;;AAIvB,QACE,2CAACC;EACM;EACL,SAAS;EACE;EACL;EACN,QAAQ;EACK;EACb,GAAI;YAEH,YAAY,EAAE,+BAA+B;GAC7B;EAErB;AAEF,aAAa,cAAc;AAE3B,2BAAe"}
1
+ {"version":3,"file":"SignUpButton.cjs","names":["SignUpButton: ForwardRefExoticComponent<SignUpButtonProps & RefAttributes<HTMLButtonElement>>","useThunderID","useTranslation","ThunderIDRuntimeError","BaseSignUpButton"],"sources":["../../../../../src/components/actions/SignUpButton/SignUpButton.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {ThunderIDRuntimeError, navigate} from '@thunderid/browser';\nimport {forwardRef, ForwardRefExoticComponent, MouseEvent, ReactElement, Ref, RefAttributes, useState} from 'react';\nimport BaseSignUpButton, {BaseSignUpButtonProps} from './BaseSignUpButton';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\nimport useTranslation from '../../../hooks/useTranslation';\n\n/**\n * Props interface of {@link SignUpButton}\n */\nexport type SignUpButtonProps = BaseSignUpButtonProps;\n\n/**\n * SignUpButton component that supports both render props and traditional props patterns.\n * It redirects the user to the ThunderID sign-up page configured for the application.\n *\n * @remarks This component is only supported in browser based React applications (CSR).\n *\n * @example Using render props pattern\n * ```tsx\n * <SignUpButton>\n * {({ signUp, isLoading }) => (\n * <button onClick={signUp} disabled={isLoading}>\n * {isLoading ? 'Creating Account...' : 'Create Account'}\n * </button>\n * )}\n * </SignUpButton>\n * ```\n *\n * @example Using traditional props pattern\n * ```tsx\n * <SignUpButton className=\"custom-button\">Create Account</SignUpButton>\n * ```\n *\n * @example Using component-level preferences\n * ```tsx\n * <SignUpButton\n * preferences={{\n * i18n: {\n * bundles: {\n * 'en-US': {\n * translations: {\n * 'buttons.signUp': 'Custom Sign Up Text'\n * }\n * }\n * }\n * }\n * }}\n * >\n * Custom Sign Up\n * </SignUpButton>\n * ```\n */\nconst SignUpButton: ForwardRefExoticComponent<SignUpButtonProps & RefAttributes<HTMLButtonElement>> = forwardRef<\n HTMLButtonElement,\n SignUpButtonProps\n>(({children, onClick, preferences, ...rest}: SignUpButtonProps, ref: Ref<HTMLButtonElement>): ReactElement => {\n const {signUp, signUpUrl, meta} = useThunderID();\n const {t} = useTranslation(preferences?.i18n);\n\n const [isLoading, setIsLoading] = useState(false);\n\n const handleSignUp = async (e?: MouseEvent<HTMLButtonElement>): Promise<void> => {\n try {\n setIsLoading(true);\n\n // If a custom `signUpUrl` is provided, use it for navigation.\n if (signUpUrl) {\n navigate(signUpUrl);\n } else {\n await signUp();\n }\n\n if (onClick) {\n onClick(e!);\n }\n } catch (error) {\n throw new ThunderIDRuntimeError(\n `Sign up failed: ${error instanceof Error ? error.message : String(error)}`,\n 'SignUpButton-handleSignUp-RuntimeError-001',\n 'react',\n 'Something went wrong while trying to sign up. Please try again later.',\n );\n } finally {\n setIsLoading(false);\n }\n };\n\n return (\n <BaseSignUpButton\n ref={ref}\n onClick={handleSignUp}\n isLoading={isLoading}\n meta={meta}\n signUp={handleSignUp}\n preferences={preferences}\n {...rest}\n >\n {children ?? t('elements.buttons.signup.text')}\n </BaseSignUpButton>\n );\n});\n\nSignUpButton.displayName = 'SignUpButton';\n\nexport default SignUpButton;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA,MAAMA,sCAGH,EAAC,UAAU,SAAS,YAAa,GAAG,QAA0B,QAA8C;CAC7G,MAAM,EAAC,QAAQ,WAAW,SAAQC,8BAAc;CAChD,MAAM,EAAC,MAAKC,+BAAe,aAAa,KAAK;CAE7C,MAAM,CAAC,WAAW,oCAAyB,MAAM;CAEjD,MAAM,eAAe,OAAO,MAAqD;AAC/E,MAAI;AACF,gBAAa,KAAK;AAGlB,OAAI,UACF,mCAAS,UAAU;OAEnB,OAAM,QAAQ;AAGhB,OAAI,QACF,SAAQ,EAAG;WAEN,OAAO;AACd,SAAM,IAAIC,0CACR,mBAAmB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM,IACzE,8CACA,SACA,wEACD;YACO;AACR,gBAAa,MAAM;;;AAIvB,QACE,2CAACC;EACM;EACL,SAAS;EACE;EACL;EACN,QAAQ;EACK;EACb,GAAI;YAEH,YAAY,EAAE,+BAA+B;GAC7B;EAErB;AAEF,aAAa,cAAc;AAE3B,2BAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"Consent.cjs","names":["defaultConfig: Required<Pick<ConsentConfig, 'essential' | 'optional'>>","Consent: FC<ConsentProps>","config: ConsentConfig","getConsentOptionalKey","purposes: ConsentPurposeData[]","parsed: ConsentPurposeData[] | {purposes: ConsentPurposeData[]}","Typography","Tooltip","Info","ConsentCheckboxList","Toggle"],"sources":["../../../../src/components/adapters/Consent.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 {\n type ConsentPurposeData,\n FlowMetadataResponse,\n PromptElement,\n resolveFlowTemplateLiterals,\n} from '@thunderid/browser';\nimport {type ChangeEvent, FC, ReactNode} from 'react';\nimport ConsentCheckboxList, {getConsentOptionalKey} from './ConsentCheckboxList';\nimport Typography from '../primitives/Typography/Typography';\nimport Toggle from '../primitives/Toggle/Toggle';\nimport {Info} from '../primitives/Icons';\nimport Tooltip from '../primitives/Tooltip/Tooltip';\nimport {UseTranslation} from '../../hooks/useTranslation';\n\n/**\n * Backward-compatible consent purpose type exported by @thunderid/react.\n *\n * Some consumers import this name directly; keep it as an alias to the v2 model.\n */\nexport type ConsentPurpose = ConsentPurposeData;\n\n/**\n * Render props exposed by Consent when using the render-prop pattern.\n */\nexport interface ConsentRenderProps {\n /** Current form values - used to read optional checkbox state. */\n formValues: Record<string, string>;\n /** Callback invoked when a user toggles an optional attribute. */\n onInputChange: (name: string, value: string) => void;\n /** The resolved list of consent purposes parsed from `consentData`. */\n purposes: ConsentPurposeData[];\n}\n\n/**\n * Interface for consent configuration\n */\nexport interface ConsentConfig {\n essential?: string;\n optional?: string;\n essentialInfo?: string;\n optionalInfo?: string;\n}\n\n/**\n * Props for the Consent component.\n */\nexport interface ConsentProps {\n /**\n * Render-props callback. When provided, the default consent UI is replaced with\n * whatever JSX the callback returns. The parsed `purposes` list is injected so\n * consumers do not need to re-parse `consentData` themselves.\n *\n * @example\n * ```tsx\n * <Consent consentData={raw} formValues={formInputs} onInputChange={onChange} t={t}>\n * {({ purposes, formValues, onInputChange, t }) => (\n * <div>\n * {purposes.map(p => <MyConsentSection key={p.purposeId} purpose={p} />)}\n * </div>\n * )}\n * </Consent>\n * ```\n */\n children?: (props: ConsentRenderProps) => ReactNode;\n /**\n * The raw JSON string returned by the backend in `additionalData.consentPrompt`.\n */\n consentData?: string | ConsentPurposeData[] | {purposes: ConsentPurposeData[]};\n /**\n * Current form values - used to read optional checkbox state.\n */\n formValues: Record<string, string>;\n /**\n * Callback invoked when a user toggles an optional attribute.\n */\n onInputChange: (name: string, value: string) => void;\n /**\n * Config to modified detail in consent page\n */\n config?: Record<string, unknown>;\n\n /**\n * Config of meta response\n */\n meta?: FlowMetadataResponse | null;\n\n /**\n * translation data\n */\n t?: UseTranslation['t'];\n}\n\nconst defaultConfig: Required<Pick<ConsentConfig, 'essential' | 'optional'>> = {\n essential: 'Essential Attributtes',\n optional: 'Optional Attributes',\n};\n\n/**\n * Consent component renders the list of purposes and their associated attributes (essential and optional)\n * based on the data provided by the backend. It allows users to toggle optional attributes while essential\n * attributes are displayed as read-only.\n */\nconst Consent: FC<ConsentProps> = ({\n consentData,\n formValues,\n config: suppliedConfig = {},\n onInputChange,\n children,\n meta,\n t,\n}: ConsentProps) => {\n /** Resolve any remaining {{t()}} or {{meta()}} template expressions in a string at render time. */\n const resolve = (text: string | undefined): string => {\n if (!text || (!t && !meta)) {\n return text || '';\n }\n return resolveFlowTemplateLiterals(text, {meta, t: t || ((k: string): string => k)});\n };\n\n const config: ConsentConfig = {...defaultConfig, ...suppliedConfig};\n const essentialInfo = typeof config.essentialInfo === 'string' ? resolve(config.essentialInfo.trim()) : '';\n const optionalInfo = typeof config.optionalInfo === 'string' ? resolve(config.optionalInfo.trim()) : '';\n const essentialLabel = resolve(config['essential']);\n const optionalLabel = resolve(config['optional']);\n\n /**\n * Method to check whether master toggle button is checked or not\n * @param purpose Purpose object\n * @param checked boolean variable to check, whether toggle is checked or unchecked\n */\n const handleChange = (purpose: ConsentPurposeData, checked: boolean): void => {\n const checkValue = checked ? 'true' : 'false';\n purpose.optional.map((opt: PromptElement) => {\n const key: string = getConsentOptionalKey(purpose.purposeId, opt.name);\n onInputChange(key, checkValue);\n });\n };\n\n /**\n * Check all optional claims are selected or not\n * @param purpose Purpose object\n * @returns boolean value to denote all optional claims are selected\n */\n const checkOptValue = (purpose: ConsentPurposeData): boolean => {\n return purpose.optional.every((opt: PromptElement) => {\n const key: string = getConsentOptionalKey(purpose.purposeId, opt.name);\n return formValues[key] === 'true';\n });\n };\n\n if (!consentData) return null;\n\n let purposes: ConsentPurposeData[] = [];\n\n try {\n const parsed: ConsentPurposeData[] | {purposes: ConsentPurposeData[]} =\n typeof consentData === 'string' ? JSON.parse(consentData) : consentData;\n\n purposes = Array.isArray(parsed) ? parsed : parsed.purposes || [];\n } catch (e) {\n // Failed to parse consent prompt data\n return null;\n }\n\n if (purposes.length === 0) return null;\n\n if (children) {\n return <>{children({formValues, onInputChange, purposes: purposes})}</>;\n }\n\n return (\n <div style={{display: 'flex', flexDirection: 'column', gap: '1rem', marginTop: '0.25rem'}}>\n {purposes.map((purpose: ConsentPurposeData, purposeIndex: number) => (\n <div key={purpose.purposeId || purposeIndex} style={{paddingBottom: '1rem'}}>\n {/* TODO: Uncomment when the backend supports multiple purposes for a application */}\n {/* <Typography variant=\"h6\" fontWeight={600} gutterBottom color=\"inherit\">\n {purpose.purposeName}\n </Typography>\n <Typography variant=\"body2\" color=\"inherit\" style={{marginBottom: '1rem', opacity: 0.85}}>\n {purpose.description}\n </Typography> */}\n\n {purpose.essential && purpose.essential.length > 0 && (\n <div style={{marginTop: '0.5rem'}}>\n <div style={{display: 'flex', alignItems: 'center', gap: '4px', marginBottom: '10px'}}>\n <Typography variant=\"subtitle2\" fontWeight=\"bold\">\n {essentialLabel}\n </Typography>\n {essentialInfo !== '' && (\n <Tooltip helperText={essentialInfo}>\n <Info width=\"1rem\" height=\"1rem\" />\n </Tooltip>\n )}\n </div>\n <ConsentCheckboxList\n variant=\"ESSENTIAL\"\n purpose={purpose}\n formValues={formValues}\n onInputChange={onInputChange}\n />\n </div>\n )}\n\n {purpose.optional && purpose.optional.length > 0 && (\n <div style={{marginTop: '0.5rem'}}>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingRight: '4px',\n marginBottom: '10px',\n }}\n >\n <div style={{display: 'flex', alignItems: 'center', gap: '4px'}}>\n <Typography variant=\"subtitle2\" fontWeight=\"bold\">\n {purpose.type === 'permissions' ? 'Permissions' : optionalLabel}\n </Typography>\n {optionalInfo !== '' && (\n <Tooltip helperText={optionalInfo}>\n <Info width=\"1rem\" height=\"1rem\" />\n </Tooltip>\n )}\n </div>\n <Toggle\n id={`consent_opt_${purpose.purposeId}_all`}\n checked={checkOptValue(purpose)}\n aria-label=\"Toggle all optional attributes\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => handleChange(purpose, e.target.checked)}\n />\n </div>\n <ConsentCheckboxList\n variant=\"OPTIONAL\"\n purpose={purpose}\n formValues={formValues}\n onInputChange={onInputChange}\n />\n </div>\n )}\n </div>\n ))}\n </div>\n );\n};\n\nexport default Consent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Consent.cjs","names":["defaultConfig: Required<Pick<ConsentConfig, 'essential' | 'optional'>>","Consent: FC<ConsentProps>","config: ConsentConfig","getConsentOptionalKey","purposes: ConsentPurposeData[]","parsed: ConsentPurposeData[] | {purposes: ConsentPurposeData[]}","Typography","Tooltip","Info","ConsentCheckboxList","Toggle"],"sources":["../../../../src/components/adapters/Consent.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n type ConsentPurposeData,\n FlowMetadataResponse,\n PromptElement,\n resolveFlowTemplateLiterals,\n} from '@thunderid/browser';\nimport {type ChangeEvent, FC, ReactNode} from 'react';\nimport ConsentCheckboxList, {getConsentOptionalKey} from './ConsentCheckboxList';\nimport Typography from '../primitives/Typography/Typography';\nimport Toggle from '../primitives/Toggle/Toggle';\nimport {Info} from '../primitives/Icons';\nimport Tooltip from '../primitives/Tooltip/Tooltip';\nimport {UseTranslation} from '../../hooks/useTranslation';\n\n/**\n * Backward-compatible consent purpose type exported by @thunderid/react.\n *\n * Some consumers import this name directly; keep it as an alias to the v2 model.\n */\nexport type ConsentPurpose = ConsentPurposeData;\n\n/**\n * Render props exposed by Consent when using the render-prop pattern.\n */\nexport interface ConsentRenderProps {\n /** Current form values - used to read optional checkbox state. */\n formValues: Record<string, string>;\n /** Callback invoked when a user toggles an optional attribute. */\n onInputChange: (name: string, value: string) => void;\n /** The resolved list of consent purposes parsed from `consentData`. */\n purposes: ConsentPurposeData[];\n}\n\n/**\n * Interface for consent configuration\n */\nexport interface ConsentConfig {\n essential?: string;\n optional?: string;\n essentialInfo?: string;\n optionalInfo?: string;\n}\n\n/**\n * Props for the Consent component.\n */\nexport interface ConsentProps {\n /**\n * Render-props callback. When provided, the default consent UI is replaced with\n * whatever JSX the callback returns. The parsed `purposes` list is injected so\n * consumers do not need to re-parse `consentData` themselves.\n *\n * @example\n * ```tsx\n * <Consent consentData={raw} formValues={formInputs} onInputChange={onChange} t={t}>\n * {({ purposes, formValues, onInputChange, t }) => (\n * <div>\n * {purposes.map(p => <MyConsentSection key={p.purposeId} purpose={p} />)}\n * </div>\n * )}\n * </Consent>\n * ```\n */\n children?: (props: ConsentRenderProps) => ReactNode;\n /**\n * The raw JSON string returned by the backend in `additionalData.consentPrompt`.\n */\n consentData?: string | ConsentPurposeData[] | {purposes: ConsentPurposeData[]};\n /**\n * Current form values - used to read optional checkbox state.\n */\n formValues: Record<string, string>;\n /**\n * Callback invoked when a user toggles an optional attribute.\n */\n onInputChange: (name: string, value: string) => void;\n /**\n * Config to modified detail in consent page\n */\n config?: Record<string, unknown>;\n\n /**\n * Config of meta response\n */\n meta?: FlowMetadataResponse | null;\n\n /**\n * translation data\n */\n t?: UseTranslation['t'];\n}\n\nconst defaultConfig: Required<Pick<ConsentConfig, 'essential' | 'optional'>> = {\n essential: 'Essential Attributtes',\n optional: 'Optional Attributes',\n};\n\n/**\n * Consent component renders the list of purposes and their associated attributes (essential and optional)\n * based on the data provided by the backend. It allows users to toggle optional attributes while essential\n * attributes are displayed as read-only.\n */\nconst Consent: FC<ConsentProps> = ({\n consentData,\n formValues,\n config: suppliedConfig = {},\n onInputChange,\n children,\n meta,\n t,\n}: ConsentProps) => {\n /** Resolve any remaining {{t()}} or {{meta()}} template expressions in a string at render time. */\n const resolve = (text: string | undefined): string => {\n if (!text || (!t && !meta)) {\n return text || '';\n }\n return resolveFlowTemplateLiterals(text, {meta, t: t || ((k: string): string => k)});\n };\n\n const config: ConsentConfig = {...defaultConfig, ...suppliedConfig};\n const essentialInfo = typeof config.essentialInfo === 'string' ? resolve(config.essentialInfo.trim()) : '';\n const optionalInfo = typeof config.optionalInfo === 'string' ? resolve(config.optionalInfo.trim()) : '';\n const essentialLabel = resolve(config['essential']);\n const optionalLabel = resolve(config['optional']);\n\n /**\n * Method to check whether master toggle button is checked or not\n * @param purpose Purpose object\n * @param checked boolean variable to check, whether toggle is checked or unchecked\n */\n const handleChange = (purpose: ConsentPurposeData, checked: boolean): void => {\n const checkValue = checked ? 'true' : 'false';\n purpose.optional.map((opt: PromptElement) => {\n const key: string = getConsentOptionalKey(purpose.purposeId, opt.name);\n onInputChange(key, checkValue);\n });\n };\n\n /**\n * Check all optional claims are selected or not\n * @param purpose Purpose object\n * @returns boolean value to denote all optional claims are selected\n */\n const checkOptValue = (purpose: ConsentPurposeData): boolean => {\n return purpose.optional.every((opt: PromptElement) => {\n const key: string = getConsentOptionalKey(purpose.purposeId, opt.name);\n return formValues[key] === 'true';\n });\n };\n\n if (!consentData) return null;\n\n let purposes: ConsentPurposeData[] = [];\n\n try {\n const parsed: ConsentPurposeData[] | {purposes: ConsentPurposeData[]} =\n typeof consentData === 'string' ? JSON.parse(consentData) : consentData;\n\n purposes = Array.isArray(parsed) ? parsed : parsed.purposes || [];\n } catch (e) {\n // Failed to parse consent prompt data\n return null;\n }\n\n if (purposes.length === 0) return null;\n\n if (children) {\n return <>{children({formValues, onInputChange, purposes: purposes})}</>;\n }\n\n return (\n <div style={{display: 'flex', flexDirection: 'column', gap: '1rem', marginTop: '0.25rem'}}>\n {purposes.map((purpose: ConsentPurposeData, purposeIndex: number) => (\n <div key={purpose.purposeId || purposeIndex} style={{paddingBottom: '1rem'}}>\n {/* TODO: Uncomment when the backend supports multiple purposes for a application */}\n {/* <Typography variant=\"h6\" fontWeight={600} gutterBottom color=\"inherit\">\n {purpose.purposeName}\n </Typography>\n <Typography variant=\"body2\" color=\"inherit\" style={{marginBottom: '1rem', opacity: 0.85}}>\n {purpose.description}\n </Typography> */}\n\n {purpose.essential && purpose.essential.length > 0 && (\n <div style={{marginTop: '0.5rem'}}>\n <div style={{display: 'flex', alignItems: 'center', gap: '4px', marginBottom: '10px'}}>\n <Typography variant=\"subtitle2\" fontWeight=\"bold\">\n {essentialLabel}\n </Typography>\n {essentialInfo !== '' && (\n <Tooltip helperText={essentialInfo}>\n <Info width=\"1rem\" height=\"1rem\" />\n </Tooltip>\n )}\n </div>\n <ConsentCheckboxList\n variant=\"ESSENTIAL\"\n purpose={purpose}\n formValues={formValues}\n onInputChange={onInputChange}\n />\n </div>\n )}\n\n {purpose.optional && purpose.optional.length > 0 && (\n <div style={{marginTop: '0.5rem'}}>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingRight: '4px',\n marginBottom: '10px',\n }}\n >\n <div style={{display: 'flex', alignItems: 'center', gap: '4px'}}>\n <Typography variant=\"subtitle2\" fontWeight=\"bold\">\n {purpose.type === 'permissions' ? 'Permissions' : optionalLabel}\n </Typography>\n {optionalInfo !== '' && (\n <Tooltip helperText={optionalInfo}>\n <Info width=\"1rem\" height=\"1rem\" />\n </Tooltip>\n )}\n </div>\n <Toggle\n id={`consent_opt_${purpose.purposeId}_all`}\n checked={checkOptValue(purpose)}\n aria-label=\"Toggle all optional attributes\"\n onChange={(e: ChangeEvent<HTMLInputElement>): void => handleChange(purpose, e.target.checked)}\n />\n </div>\n <ConsentCheckboxList\n variant=\"OPTIONAL\"\n purpose={purpose}\n formValues={formValues}\n onInputChange={onInputChange}\n />\n </div>\n )}\n </div>\n ))}\n </div>\n );\n};\n\nexport default Consent;\n"],"mappings":"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"}