@thunderid/react 0.11.3 → 0.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) 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.map +1 -1
  54. package/dist/cjs/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.cjs.map +1 -1
  55. package/dist/cjs/components/presentation/auth/AuthOptionFactory.cjs.map +1 -1
  56. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.cjs.map +1 -1
  57. package/dist/cjs/components/presentation/auth/InviteUser/BaseInviteUser.styles.cjs.map +1 -1
  58. package/dist/cjs/components/presentation/auth/InviteUser/InviteUser.cjs.map +1 -1
  59. package/dist/cjs/components/presentation/auth/Recovery/BaseRecovery.cjs.map +1 -1
  60. package/dist/cjs/components/presentation/auth/Recovery/Recovery.cjs.map +1 -1
  61. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.cjs.map +1 -1
  62. package/dist/cjs/components/presentation/auth/SignIn/BaseSignIn.styles.cjs.map +1 -1
  63. package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs +10 -1
  64. package/dist/cjs/components/presentation/auth/SignIn/SignIn.cjs.map +1 -1
  65. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.cjs.map +1 -1
  66. package/dist/cjs/components/presentation/auth/SignUp/BaseSignUp.styles.cjs.map +1 -1
  67. package/dist/cjs/components/presentation/auth/SignUp/SignUp.cjs.map +1 -1
  68. package/dist/cjs/components/primitives/AffixedField/AffixedField.cjs.map +1 -1
  69. package/dist/cjs/components/primitives/AffixedField/AffixedField.styles.cjs.map +1 -1
  70. package/dist/cjs/components/primitives/Alert/Alert.cjs.map +1 -1
  71. package/dist/cjs/components/primitives/Alert/Alert.styles.cjs.map +1 -1
  72. package/dist/cjs/components/primitives/Avatar/Avatar.cjs.map +1 -1
  73. package/dist/cjs/components/primitives/Avatar/Avatar.styles.cjs.map +1 -1
  74. package/dist/cjs/components/primitives/Button/Button.cjs.map +1 -1
  75. package/dist/cjs/components/primitives/Button/Button.styles.cjs.map +1 -1
  76. package/dist/cjs/components/primitives/Card/Card.cjs.map +1 -1
  77. package/dist/cjs/components/primitives/Card/Card.styles.cjs.map +1 -1
  78. package/dist/cjs/components/primitives/Checkbox/Checkbox.cjs.map +1 -1
  79. package/dist/cjs/components/primitives/Checkbox/Checkbox.styles.cjs.map +1 -1
  80. package/dist/cjs/components/primitives/CopyableText/CopyableText.cjs.map +1 -1
  81. package/dist/cjs/components/primitives/CopyableText/CopyableText.styles.cjs.map +1 -1
  82. package/dist/cjs/components/primitives/DatePicker/DatePicker.cjs.map +1 -1
  83. package/dist/cjs/components/primitives/DatePicker/DatePicker.styles.cjs.map +1 -1
  84. package/dist/cjs/components/primitives/Dialog/Dialog.cjs.map +1 -1
  85. package/dist/cjs/components/primitives/Dialog/Dialog.styles.cjs.map +1 -1
  86. package/dist/cjs/components/primitives/Divider/Divider.cjs.map +1 -1
  87. package/dist/cjs/components/primitives/Divider/Divider.styles.cjs.map +1 -1
  88. package/dist/cjs/components/primitives/FormControl/FormControl.cjs.map +1 -1
  89. package/dist/cjs/components/primitives/FormControl/FormControl.styles.cjs.map +1 -1
  90. package/dist/cjs/components/primitives/Icons/ArrowLeftRight.cjs.map +1 -1
  91. package/dist/cjs/components/primitives/Icons/ArrowRightLeft.cjs.map +1 -1
  92. package/dist/cjs/components/primitives/Icons/BuildingAlt.cjs.map +1 -1
  93. package/dist/cjs/components/primitives/Icons/Check.cjs.map +1 -1
  94. package/dist/cjs/components/primitives/Icons/ChevronDown.cjs.map +1 -1
  95. package/dist/cjs/components/primitives/Icons/CircleAlert.cjs.map +1 -1
  96. package/dist/cjs/components/primitives/Icons/CircleCheck.cjs.map +1 -1
  97. package/dist/cjs/components/primitives/Icons/Eye.cjs.map +1 -1
  98. package/dist/cjs/components/primitives/Icons/EyeOff.cjs.map +1 -1
  99. package/dist/cjs/components/primitives/Icons/Info.cjs.map +1 -1
  100. package/dist/cjs/components/primitives/Icons/LogOut.cjs.map +1 -1
  101. package/dist/cjs/components/primitives/Icons/Plus.cjs.map +1 -1
  102. package/dist/cjs/components/primitives/Icons/TriangleAlert.cjs.map +1 -1
  103. package/dist/cjs/components/primitives/Icons/User.cjs.map +1 -1
  104. package/dist/cjs/components/primitives/Icons/X.cjs.map +1 -1
  105. package/dist/cjs/components/primitives/Icons/flowIconRegistry.cjs.map +1 -1
  106. package/dist/cjs/components/primitives/InputLabel/InputLabel.cjs.map +1 -1
  107. package/dist/cjs/components/primitives/InputLabel/InputLabel.styles.cjs.map +1 -1
  108. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.cjs.map +1 -1
  109. package/dist/cjs/components/primitives/KeyValueInput/KeyValueInput.styles.cjs.map +1 -1
  110. package/dist/cjs/components/primitives/Logo/Logo.cjs.map +1 -1
  111. package/dist/cjs/components/primitives/Logo/Logo.styles.cjs.map +1 -1
  112. package/dist/cjs/components/primitives/MultiInput/MultiInput.cjs.map +1 -1
  113. package/dist/cjs/components/primitives/MultiInput/MultiInput.styles.cjs.map +1 -1
  114. package/dist/cjs/components/primitives/OtpField/OtpField.cjs.map +1 -1
  115. package/dist/cjs/components/primitives/OtpField/OtpField.styles.cjs.map +1 -1
  116. package/dist/cjs/components/primitives/PasswordField/PasswordField.cjs.map +1 -1
  117. package/dist/cjs/components/primitives/PasswordField/PasswordField.styles.cjs.map +1 -1
  118. package/dist/cjs/components/primitives/Select/Select.cjs.map +1 -1
  119. package/dist/cjs/components/primitives/Select/Select.styles.cjs.map +1 -1
  120. package/dist/cjs/components/primitives/Spinner/Spinner.cjs.map +1 -1
  121. package/dist/cjs/components/primitives/Spinner/Spinner.styles.cjs.map +1 -1
  122. package/dist/cjs/components/primitives/TextField/TextField.cjs.map +1 -1
  123. package/dist/cjs/components/primitives/TextField/TextField.styles.cjs.map +1 -1
  124. package/dist/cjs/components/primitives/Toggle/Toggle.cjs.map +1 -1
  125. package/dist/cjs/components/primitives/Toggle/Toggle.styles.cjs.map +1 -1
  126. package/dist/cjs/components/primitives/Tooltip/Tooltip.cjs.map +1 -1
  127. package/dist/cjs/components/primitives/Tooltip/Tooltip.styles.cjs.map +1 -1
  128. package/dist/cjs/components/primitives/Typography/Typography.cjs.map +1 -1
  129. package/dist/cjs/components/primitives/Typography/Typography.styles.cjs.map +1 -1
  130. package/dist/cjs/contexts/ComponentRenderer/ComponentRendererContext.cjs.map +1 -1
  131. package/dist/cjs/contexts/ComponentRenderer/ComponentRendererProvider.cjs.map +1 -1
  132. package/dist/cjs/contexts/Flow/FlowContext.cjs.map +1 -1
  133. package/dist/cjs/contexts/Flow/FlowProvider.cjs.map +1 -1
  134. package/dist/cjs/contexts/Flow/useFlow.cjs.map +1 -1
  135. package/dist/cjs/contexts/FlowMeta/FlowMetaContext.cjs.map +1 -1
  136. package/dist/cjs/contexts/FlowMeta/FlowMetaProvider.cjs.map +1 -1
  137. package/dist/cjs/contexts/FlowMeta/useFlowMeta.cjs.map +1 -1
  138. package/dist/cjs/contexts/I18n/ComponentPreferencesContext.cjs.map +1 -1
  139. package/dist/cjs/contexts/I18n/I18nContext.cjs.map +1 -1
  140. package/dist/cjs/contexts/I18n/I18nProvider.cjs.map +1 -1
  141. package/dist/cjs/contexts/I18n/useI18n.cjs.map +1 -1
  142. package/dist/cjs/contexts/Theme/ThemeContext.cjs.map +1 -1
  143. package/dist/cjs/contexts/Theme/ThemeProvider.cjs.map +1 -1
  144. package/dist/cjs/contexts/Theme/useTheme.cjs.map +1 -1
  145. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs.map +1 -1
  146. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  147. package/dist/cjs/contexts/ThunderID/useThunderID.cjs.map +1 -1
  148. package/dist/cjs/contexts/User/UserContext.cjs.map +1 -1
  149. package/dist/cjs/contexts/User/UserProvider.cjs.map +1 -1
  150. package/dist/cjs/contexts/User/useUser.cjs.map +1 -1
  151. package/dist/cjs/hooks/useBrowserUrl.cjs.map +1 -1
  152. package/dist/cjs/hooks/useForm.cjs.map +1 -1
  153. package/dist/cjs/hooks/useOAuthCallback.cjs.map +1 -1
  154. package/dist/cjs/hooks/useTranslation.cjs.map +1 -1
  155. package/dist/cjs/utils/applyThemeToDOM.cjs.map +1 -1
  156. package/dist/cjs/utils/buildThemeConfigFromFlowMeta.cjs.map +1 -1
  157. package/dist/cjs/utils/composeAffixedInputs.cjs.map +1 -1
  158. package/dist/cjs/utils/flowTransformer.cjs.map +1 -1
  159. package/dist/cjs/utils/getAuthComponentHeadings.cjs.map +1 -1
  160. package/dist/cjs/utils/getDisplayName.cjs.map +1 -1
  161. package/dist/cjs/utils/getMappedUserProfileValue.cjs.map +1 -1
  162. package/dist/cjs/utils/normalizeThemeConfig.cjs.map +1 -1
  163. package/dist/cjs/utils/oauth.cjs.map +1 -1
  164. package/dist/cjs/utils/passkey.cjs.map +1 -1
  165. package/dist/cjs/utils/resolveTranslationsInArray.cjs.map +1 -1
  166. package/dist/cjs/utils/resolveTranslationsInObject.cjs.map +1 -1
  167. package/dist/components/actions/SignInButton/BaseSignInButton.d.ts +0 -17
  168. package/dist/components/actions/SignInButton/BaseSignInButton.d.ts.map +1 -1
  169. package/dist/components/actions/SignInButton/BaseSignInButton.js.map +1 -1
  170. package/dist/components/actions/SignInButton/SignInButton.d.ts +0 -17
  171. package/dist/components/actions/SignInButton/SignInButton.d.ts.map +1 -1
  172. package/dist/components/actions/SignInButton/SignInButton.js.map +1 -1
  173. package/dist/components/actions/SignOutButton/BaseSignOutButton.d.ts +0 -17
  174. package/dist/components/actions/SignOutButton/BaseSignOutButton.d.ts.map +1 -1
  175. package/dist/components/actions/SignOutButton/BaseSignOutButton.js.map +1 -1
  176. package/dist/components/actions/SignOutButton/SignOutButton.d.ts +0 -17
  177. package/dist/components/actions/SignOutButton/SignOutButton.d.ts.map +1 -1
  178. package/dist/components/actions/SignOutButton/SignOutButton.js.map +1 -1
  179. package/dist/components/actions/SignUpButton/BaseSignUpButton.d.ts +0 -17
  180. package/dist/components/actions/SignUpButton/BaseSignUpButton.d.ts.map +1 -1
  181. package/dist/components/actions/SignUpButton/BaseSignUpButton.js.map +1 -1
  182. package/dist/components/actions/SignUpButton/SignUpButton.d.ts +0 -17
  183. package/dist/components/actions/SignUpButton/SignUpButton.d.ts.map +1 -1
  184. package/dist/components/actions/SignUpButton/SignUpButton.js.map +1 -1
  185. package/dist/components/adapters/Consent.d.ts +0 -17
  186. package/dist/components/adapters/Consent.d.ts.map +1 -1
  187. package/dist/components/adapters/Consent.js.map +1 -1
  188. package/dist/components/adapters/ConsentCheckboxList.d.ts +0 -17
  189. package/dist/components/adapters/ConsentCheckboxList.d.ts.map +1 -1
  190. package/dist/components/adapters/ConsentCheckboxList.js.map +1 -1
  191. package/dist/components/adapters/ConsentCheckboxList.styles.d.ts +0 -17
  192. package/dist/components/adapters/ConsentCheckboxList.styles.d.ts.map +1 -1
  193. package/dist/components/adapters/ConsentCheckboxList.styles.js.map +1 -1
  194. package/dist/components/adapters/FacebookButton.d.ts +0 -17
  195. package/dist/components/adapters/FacebookButton.d.ts.map +1 -1
  196. package/dist/components/adapters/FacebookButton.js.map +1 -1
  197. package/dist/components/adapters/FlowTimer.d.ts +0 -17
  198. package/dist/components/adapters/FlowTimer.d.ts.map +1 -1
  199. package/dist/components/adapters/FlowTimer.js.map +1 -1
  200. package/dist/components/adapters/GitHubButton.d.ts +0 -17
  201. package/dist/components/adapters/GitHubButton.d.ts.map +1 -1
  202. package/dist/components/adapters/GitHubButton.js.map +1 -1
  203. package/dist/components/adapters/GoogleButton.d.ts +0 -17
  204. package/dist/components/adapters/GoogleButton.d.ts.map +1 -1
  205. package/dist/components/adapters/GoogleButton.js.map +1 -1
  206. package/dist/components/adapters/ImageComponent.d.ts +0 -17
  207. package/dist/components/adapters/ImageComponent.d.ts.map +1 -1
  208. package/dist/components/adapters/ImageComponent.js.map +1 -1
  209. package/dist/components/adapters/LinkedInButton.d.ts +0 -17
  210. package/dist/components/adapters/LinkedInButton.d.ts.map +1 -1
  211. package/dist/components/adapters/LinkedInButton.js.map +1 -1
  212. package/dist/components/adapters/MicrosoftButton.d.ts +0 -17
  213. package/dist/components/adapters/MicrosoftButton.d.ts.map +1 -1
  214. package/dist/components/adapters/MicrosoftButton.js.map +1 -1
  215. package/dist/components/adapters/SignInWithEthereumButton.d.ts +0 -17
  216. package/dist/components/adapters/SignInWithEthereumButton.d.ts.map +1 -1
  217. package/dist/components/adapters/SignInWithEthereumButton.js.map +1 -1
  218. package/dist/components/adapters/SmsOtpButton.d.ts +0 -17
  219. package/dist/components/adapters/SmsOtpButton.d.ts.map +1 -1
  220. package/dist/components/adapters/SmsOtpButton.js.map +1 -1
  221. package/dist/components/auth/Callback/Callback.d.ts.map +1 -1
  222. package/dist/components/auth/Callback/Callback.js.map +1 -1
  223. package/dist/components/auth/Callback/OAuthCallback.d.ts +0 -17
  224. package/dist/components/auth/Callback/OAuthCallback.d.ts.map +1 -1
  225. package/dist/components/auth/Callback/OAuthCallback.js.map +1 -1
  226. package/dist/components/auth/Callback/TokenCallback.d.ts +0 -16
  227. package/dist/components/auth/Callback/TokenCallback.d.ts.map +1 -1
  228. package/dist/components/auth/Callback/TokenCallback.js.map +1 -1
  229. package/dist/components/control/Loading.d.ts +0 -17
  230. package/dist/components/control/Loading.d.ts.map +1 -1
  231. package/dist/components/control/Loading.js.map +1 -1
  232. package/dist/components/control/SignedIn.d.ts +0 -17
  233. package/dist/components/control/SignedIn.d.ts.map +1 -1
  234. package/dist/components/control/SignedIn.js.map +1 -1
  235. package/dist/components/control/SignedOut.d.ts +0 -17
  236. package/dist/components/control/SignedOut.d.ts.map +1 -1
  237. package/dist/components/control/SignedOut.js.map +1 -1
  238. package/dist/components/factories/FieldFactory.d.ts +0 -17
  239. package/dist/components/factories/FieldFactory.d.ts.map +1 -1
  240. package/dist/components/factories/FieldFactory.js.map +1 -1
  241. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.d.ts +0 -17
  242. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.d.ts.map +1 -1
  243. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.js.map +1 -1
  244. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.d.ts +0 -17
  245. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.d.ts.map +1 -1
  246. package/dist/components/presentation/LanguageSwitcher/BaseLanguageSwitcher.styles.js.map +1 -1
  247. package/dist/components/presentation/LanguageSwitcher/LanguageSwitcher.d.ts +0 -17
  248. package/dist/components/presentation/LanguageSwitcher/LanguageSwitcher.d.ts.map +1 -1
  249. package/dist/components/presentation/LanguageSwitcher/LanguageSwitcher.js.map +1 -1
  250. package/dist/components/presentation/User/BaseUser.d.ts +0 -17
  251. package/dist/components/presentation/User/BaseUser.d.ts.map +1 -1
  252. package/dist/components/presentation/User/BaseUser.js.map +1 -1
  253. package/dist/components/presentation/User/User.d.ts +0 -17
  254. package/dist/components/presentation/User/User.d.ts.map +1 -1
  255. package/dist/components/presentation/User/User.js.map +1 -1
  256. package/dist/components/presentation/UserAvatar/BaseUserAvatar.d.ts +0 -17
  257. package/dist/components/presentation/UserAvatar/BaseUserAvatar.d.ts.map +1 -1
  258. package/dist/components/presentation/UserAvatar/BaseUserAvatar.js.map +1 -1
  259. package/dist/components/presentation/UserAvatar/UserAvatar.d.ts +0 -17
  260. package/dist/components/presentation/UserAvatar/UserAvatar.d.ts.map +1 -1
  261. package/dist/components/presentation/UserAvatar/UserAvatar.js.map +1 -1
  262. package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts +0 -17
  263. package/dist/components/presentation/UserDropdown/BaseUserDropdown.d.ts.map +1 -1
  264. package/dist/components/presentation/UserDropdown/BaseUserDropdown.js.map +1 -1
  265. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.d.ts +0 -17
  266. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.d.ts.map +1 -1
  267. package/dist/components/presentation/UserDropdown/BaseUserDropdown.styles.js.map +1 -1
  268. package/dist/components/presentation/UserDropdown/UserDropdown.d.ts +0 -17
  269. package/dist/components/presentation/UserDropdown/UserDropdown.d.ts.map +1 -1
  270. package/dist/components/presentation/UserDropdown/UserDropdown.js.map +1 -1
  271. package/dist/components/presentation/UserProfile/BaseUserProfile.d.ts +0 -17
  272. package/dist/components/presentation/UserProfile/BaseUserProfile.d.ts.map +1 -1
  273. package/dist/components/presentation/UserProfile/BaseUserProfile.js.map +1 -1
  274. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.d.ts +0 -17
  275. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.d.ts.map +1 -1
  276. package/dist/components/presentation/UserProfile/BaseUserProfile.styles.js.map +1 -1
  277. package/dist/components/presentation/UserProfile/UserProfile.d.ts +0 -17
  278. package/dist/components/presentation/UserProfile/UserProfile.d.ts.map +1 -1
  279. package/dist/components/presentation/UserProfile/UserProfile.js.map +1 -1
  280. package/dist/components/presentation/auth/AcceptInvite/AcceptInvite.d.ts +0 -17
  281. package/dist/components/presentation/auth/AcceptInvite/AcceptInvite.d.ts.map +1 -1
  282. package/dist/components/presentation/auth/AcceptInvite/AcceptInvite.js +2 -4
  283. package/dist/components/presentation/auth/AcceptInvite/AcceptInvite.js.map +1 -1
  284. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.d.ts +0 -17
  285. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.d.ts.map +1 -1
  286. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.js.map +1 -1
  287. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.d.ts +0 -17
  288. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.d.ts.map +1 -1
  289. package/dist/components/presentation/auth/AcceptInvite/BaseAcceptInvite.styles.js.map +1 -1
  290. package/dist/components/presentation/auth/AcceptInvite/index.d.ts +0 -17
  291. package/dist/components/presentation/auth/AcceptInvite/index.d.ts.map +1 -1
  292. package/dist/components/presentation/auth/AuthOptionFactory.d.ts +0 -17
  293. package/dist/components/presentation/auth/AuthOptionFactory.d.ts.map +1 -1
  294. package/dist/components/presentation/auth/AuthOptionFactory.js.map +1 -1
  295. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.d.ts +0 -17
  296. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.d.ts.map +1 -1
  297. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.js.map +1 -1
  298. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.d.ts +0 -17
  299. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.d.ts.map +1 -1
  300. package/dist/components/presentation/auth/InviteUser/BaseInviteUser.styles.js.map +1 -1
  301. package/dist/components/presentation/auth/InviteUser/InviteUser.d.ts +0 -17
  302. package/dist/components/presentation/auth/InviteUser/InviteUser.d.ts.map +1 -1
  303. package/dist/components/presentation/auth/InviteUser/InviteUser.js.map +1 -1
  304. package/dist/components/presentation/auth/InviteUser/index.d.ts +0 -17
  305. package/dist/components/presentation/auth/InviteUser/index.d.ts.map +1 -1
  306. package/dist/components/presentation/auth/Recovery/BaseRecovery.d.ts +0 -17
  307. package/dist/components/presentation/auth/Recovery/BaseRecovery.d.ts.map +1 -1
  308. package/dist/components/presentation/auth/Recovery/BaseRecovery.js.map +1 -1
  309. package/dist/components/presentation/auth/Recovery/Recovery.d.ts +0 -17
  310. package/dist/components/presentation/auth/Recovery/Recovery.d.ts.map +1 -1
  311. package/dist/components/presentation/auth/Recovery/Recovery.js.map +1 -1
  312. package/dist/components/presentation/auth/SignIn/BaseSignIn.d.ts +0 -17
  313. package/dist/components/presentation/auth/SignIn/BaseSignIn.d.ts.map +1 -1
  314. package/dist/components/presentation/auth/SignIn/BaseSignIn.js.map +1 -1
  315. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.d.ts +0 -17
  316. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.d.ts.map +1 -1
  317. package/dist/components/presentation/auth/SignIn/BaseSignIn.styles.js.map +1 -1
  318. package/dist/components/presentation/auth/SignIn/SignIn.d.ts +0 -17
  319. package/dist/components/presentation/auth/SignIn/SignIn.d.ts.map +1 -1
  320. package/dist/components/presentation/auth/SignIn/SignIn.js +10 -1
  321. package/dist/components/presentation/auth/SignIn/SignIn.js.map +1 -1
  322. package/dist/components/presentation/auth/SignUp/BaseSignUp.d.ts +0 -17
  323. package/dist/components/presentation/auth/SignUp/BaseSignUp.d.ts.map +1 -1
  324. package/dist/components/presentation/auth/SignUp/BaseSignUp.js.map +1 -1
  325. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.d.ts +0 -17
  326. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.d.ts.map +1 -1
  327. package/dist/components/presentation/auth/SignUp/BaseSignUp.styles.js.map +1 -1
  328. package/dist/components/presentation/auth/SignUp/SignUp.d.ts +0 -17
  329. package/dist/components/presentation/auth/SignUp/SignUp.d.ts.map +1 -1
  330. package/dist/components/presentation/auth/SignUp/SignUp.js.map +1 -1
  331. package/dist/components/primitives/AffixedField/AffixedField.d.ts +0 -17
  332. package/dist/components/primitives/AffixedField/AffixedField.d.ts.map +1 -1
  333. package/dist/components/primitives/AffixedField/AffixedField.js.map +1 -1
  334. package/dist/components/primitives/AffixedField/AffixedField.styles.d.ts +0 -17
  335. package/dist/components/primitives/AffixedField/AffixedField.styles.d.ts.map +1 -1
  336. package/dist/components/primitives/AffixedField/AffixedField.styles.js.map +1 -1
  337. package/dist/components/primitives/AffixedField/index.d.ts +0 -17
  338. package/dist/components/primitives/AffixedField/index.d.ts.map +1 -1
  339. package/dist/components/primitives/Alert/Alert.d.ts +0 -17
  340. package/dist/components/primitives/Alert/Alert.d.ts.map +1 -1
  341. package/dist/components/primitives/Alert/Alert.js.map +1 -1
  342. package/dist/components/primitives/Alert/Alert.styles.d.ts +0 -17
  343. package/dist/components/primitives/Alert/Alert.styles.d.ts.map +1 -1
  344. package/dist/components/primitives/Alert/Alert.styles.js.map +1 -1
  345. package/dist/components/primitives/Avatar/Avatar.d.ts +0 -17
  346. package/dist/components/primitives/Avatar/Avatar.d.ts.map +1 -1
  347. package/dist/components/primitives/Avatar/Avatar.js.map +1 -1
  348. package/dist/components/primitives/Avatar/Avatar.styles.d.ts +0 -17
  349. package/dist/components/primitives/Avatar/Avatar.styles.d.ts.map +1 -1
  350. package/dist/components/primitives/Avatar/Avatar.styles.js.map +1 -1
  351. package/dist/components/primitives/Button/Button.d.ts +0 -17
  352. package/dist/components/primitives/Button/Button.d.ts.map +1 -1
  353. package/dist/components/primitives/Button/Button.js.map +1 -1
  354. package/dist/components/primitives/Button/Button.styles.d.ts +0 -17
  355. package/dist/components/primitives/Button/Button.styles.d.ts.map +1 -1
  356. package/dist/components/primitives/Button/Button.styles.js.map +1 -1
  357. package/dist/components/primitives/Card/Card.d.ts +0 -17
  358. package/dist/components/primitives/Card/Card.d.ts.map +1 -1
  359. package/dist/components/primitives/Card/Card.js.map +1 -1
  360. package/dist/components/primitives/Card/Card.styles.d.ts +0 -17
  361. package/dist/components/primitives/Card/Card.styles.d.ts.map +1 -1
  362. package/dist/components/primitives/Card/Card.styles.js.map +1 -1
  363. package/dist/components/primitives/Checkbox/Checkbox.d.ts +0 -17
  364. package/dist/components/primitives/Checkbox/Checkbox.d.ts.map +1 -1
  365. package/dist/components/primitives/Checkbox/Checkbox.js.map +1 -1
  366. package/dist/components/primitives/Checkbox/Checkbox.styles.d.ts +0 -17
  367. package/dist/components/primitives/Checkbox/Checkbox.styles.d.ts.map +1 -1
  368. package/dist/components/primitives/Checkbox/Checkbox.styles.js.map +1 -1
  369. package/dist/components/primitives/CopyableText/CopyableText.d.ts +0 -17
  370. package/dist/components/primitives/CopyableText/CopyableText.d.ts.map +1 -1
  371. package/dist/components/primitives/CopyableText/CopyableText.js.map +1 -1
  372. package/dist/components/primitives/CopyableText/CopyableText.styles.d.ts +0 -17
  373. package/dist/components/primitives/CopyableText/CopyableText.styles.d.ts.map +1 -1
  374. package/dist/components/primitives/CopyableText/CopyableText.styles.js.map +1 -1
  375. package/dist/components/primitives/CopyableText/index.d.ts +0 -17
  376. package/dist/components/primitives/CopyableText/index.d.ts.map +1 -1
  377. package/dist/components/primitives/DatePicker/DatePicker.d.ts +0 -17
  378. package/dist/components/primitives/DatePicker/DatePicker.d.ts.map +1 -1
  379. package/dist/components/primitives/DatePicker/DatePicker.js.map +1 -1
  380. package/dist/components/primitives/DatePicker/DatePicker.styles.d.ts +0 -17
  381. package/dist/components/primitives/DatePicker/DatePicker.styles.d.ts.map +1 -1
  382. package/dist/components/primitives/DatePicker/DatePicker.styles.js.map +1 -1
  383. package/dist/components/primitives/Dialog/Dialog.d.ts +0 -17
  384. package/dist/components/primitives/Dialog/Dialog.d.ts.map +1 -1
  385. package/dist/components/primitives/Dialog/Dialog.js.map +1 -1
  386. package/dist/components/primitives/Dialog/Dialog.styles.d.ts +0 -17
  387. package/dist/components/primitives/Dialog/Dialog.styles.d.ts.map +1 -1
  388. package/dist/components/primitives/Dialog/Dialog.styles.js.map +1 -1
  389. package/dist/components/primitives/Divider/Divider.d.ts +0 -17
  390. package/dist/components/primitives/Divider/Divider.d.ts.map +1 -1
  391. package/dist/components/primitives/Divider/Divider.js.map +1 -1
  392. package/dist/components/primitives/Divider/Divider.styles.d.ts +0 -17
  393. package/dist/components/primitives/Divider/Divider.styles.d.ts.map +1 -1
  394. package/dist/components/primitives/Divider/Divider.styles.js.map +1 -1
  395. package/dist/components/primitives/FormControl/FormControl.d.ts +0 -17
  396. package/dist/components/primitives/FormControl/FormControl.d.ts.map +1 -1
  397. package/dist/components/primitives/FormControl/FormControl.js.map +1 -1
  398. package/dist/components/primitives/FormControl/FormControl.styles.d.ts +0 -17
  399. package/dist/components/primitives/FormControl/FormControl.styles.d.ts.map +1 -1
  400. package/dist/components/primitives/FormControl/FormControl.styles.js.map +1 -1
  401. package/dist/components/primitives/Icons/ArrowLeftRight.d.ts +0 -17
  402. package/dist/components/primitives/Icons/ArrowLeftRight.d.ts.map +1 -1
  403. package/dist/components/primitives/Icons/ArrowLeftRight.js.map +1 -1
  404. package/dist/components/primitives/Icons/ArrowRightLeft.d.ts +0 -17
  405. package/dist/components/primitives/Icons/ArrowRightLeft.d.ts.map +1 -1
  406. package/dist/components/primitives/Icons/ArrowRightLeft.js.map +1 -1
  407. package/dist/components/primitives/Icons/Building.d.ts +0 -17
  408. package/dist/components/primitives/Icons/Building.d.ts.map +1 -1
  409. package/dist/components/primitives/Icons/BuildingAlt.d.ts +0 -17
  410. package/dist/components/primitives/Icons/BuildingAlt.d.ts.map +1 -1
  411. package/dist/components/primitives/Icons/BuildingAlt.js.map +1 -1
  412. package/dist/components/primitives/Icons/Check.d.ts +0 -17
  413. package/dist/components/primitives/Icons/Check.d.ts.map +1 -1
  414. package/dist/components/primitives/Icons/Check.js.map +1 -1
  415. package/dist/components/primitives/Icons/ChevronDown.d.ts +0 -17
  416. package/dist/components/primitives/Icons/ChevronDown.d.ts.map +1 -1
  417. package/dist/components/primitives/Icons/ChevronDown.js.map +1 -1
  418. package/dist/components/primitives/Icons/CircleAlert.d.ts +0 -17
  419. package/dist/components/primitives/Icons/CircleAlert.d.ts.map +1 -1
  420. package/dist/components/primitives/Icons/CircleAlert.js.map +1 -1
  421. package/dist/components/primitives/Icons/CircleCheck.d.ts +0 -17
  422. package/dist/components/primitives/Icons/CircleCheck.d.ts.map +1 -1
  423. package/dist/components/primitives/Icons/CircleCheck.js.map +1 -1
  424. package/dist/components/primitives/Icons/Eye.d.ts +0 -17
  425. package/dist/components/primitives/Icons/Eye.d.ts.map +1 -1
  426. package/dist/components/primitives/Icons/Eye.js.map +1 -1
  427. package/dist/components/primitives/Icons/EyeOff.d.ts +0 -17
  428. package/dist/components/primitives/Icons/EyeOff.d.ts.map +1 -1
  429. package/dist/components/primitives/Icons/EyeOff.js.map +1 -1
  430. package/dist/components/primitives/Icons/Info.d.ts +0 -17
  431. package/dist/components/primitives/Icons/Info.d.ts.map +1 -1
  432. package/dist/components/primitives/Icons/Info.js.map +1 -1
  433. package/dist/components/primitives/Icons/LogOut.d.ts +0 -17
  434. package/dist/components/primitives/Icons/LogOut.d.ts.map +1 -1
  435. package/dist/components/primitives/Icons/LogOut.js.map +1 -1
  436. package/dist/components/primitives/Icons/Plus.d.ts +0 -17
  437. package/dist/components/primitives/Icons/Plus.d.ts.map +1 -1
  438. package/dist/components/primitives/Icons/Plus.js.map +1 -1
  439. package/dist/components/primitives/Icons/TriangleAlert.d.ts +0 -17
  440. package/dist/components/primitives/Icons/TriangleAlert.d.ts.map +1 -1
  441. package/dist/components/primitives/Icons/TriangleAlert.js.map +1 -1
  442. package/dist/components/primitives/Icons/User.d.ts +0 -17
  443. package/dist/components/primitives/Icons/User.d.ts.map +1 -1
  444. package/dist/components/primitives/Icons/User.js.map +1 -1
  445. package/dist/components/primitives/Icons/X.d.ts +0 -17
  446. package/dist/components/primitives/Icons/X.d.ts.map +1 -1
  447. package/dist/components/primitives/Icons/X.js.map +1 -1
  448. package/dist/components/primitives/Icons/flowIconRegistry.d.ts +0 -17
  449. package/dist/components/primitives/Icons/flowIconRegistry.d.ts.map +1 -1
  450. package/dist/components/primitives/Icons/flowIconRegistry.js.map +1 -1
  451. package/dist/components/primitives/Icons/index.d.ts +0 -17
  452. package/dist/components/primitives/Icons/index.d.ts.map +1 -1
  453. package/dist/components/primitives/InputLabel/InputLabel.d.ts +0 -17
  454. package/dist/components/primitives/InputLabel/InputLabel.d.ts.map +1 -1
  455. package/dist/components/primitives/InputLabel/InputLabel.js.map +1 -1
  456. package/dist/components/primitives/InputLabel/InputLabel.styles.d.ts +0 -17
  457. package/dist/components/primitives/InputLabel/InputLabel.styles.d.ts.map +1 -1
  458. package/dist/components/primitives/InputLabel/InputLabel.styles.js.map +1 -1
  459. package/dist/components/primitives/KeyValueInput/KeyValueInput.d.ts +0 -17
  460. package/dist/components/primitives/KeyValueInput/KeyValueInput.d.ts.map +1 -1
  461. package/dist/components/primitives/KeyValueInput/KeyValueInput.js.map +1 -1
  462. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.d.ts +0 -17
  463. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.d.ts.map +1 -1
  464. package/dist/components/primitives/KeyValueInput/KeyValueInput.styles.js.map +1 -1
  465. package/dist/components/primitives/Logo/Logo.d.ts +0 -17
  466. package/dist/components/primitives/Logo/Logo.d.ts.map +1 -1
  467. package/dist/components/primitives/Logo/Logo.js.map +1 -1
  468. package/dist/components/primitives/Logo/Logo.styles.d.ts +0 -17
  469. package/dist/components/primitives/Logo/Logo.styles.d.ts.map +1 -1
  470. package/dist/components/primitives/Logo/Logo.styles.js.map +1 -1
  471. package/dist/components/primitives/MultiInput/MultiInput.d.ts +0 -17
  472. package/dist/components/primitives/MultiInput/MultiInput.d.ts.map +1 -1
  473. package/dist/components/primitives/MultiInput/MultiInput.js.map +1 -1
  474. package/dist/components/primitives/MultiInput/MultiInput.styles.d.ts +0 -17
  475. package/dist/components/primitives/MultiInput/MultiInput.styles.d.ts.map +1 -1
  476. package/dist/components/primitives/MultiInput/MultiInput.styles.js.map +1 -1
  477. package/dist/components/primitives/OtpField/OtpField.d.ts +0 -17
  478. package/dist/components/primitives/OtpField/OtpField.d.ts.map +1 -1
  479. package/dist/components/primitives/OtpField/OtpField.js.map +1 -1
  480. package/dist/components/primitives/OtpField/OtpField.styles.d.ts +0 -17
  481. package/dist/components/primitives/OtpField/OtpField.styles.d.ts.map +1 -1
  482. package/dist/components/primitives/OtpField/OtpField.styles.js.map +1 -1
  483. package/dist/components/primitives/PasswordField/PasswordField.d.ts +0 -17
  484. package/dist/components/primitives/PasswordField/PasswordField.d.ts.map +1 -1
  485. package/dist/components/primitives/PasswordField/PasswordField.js.map +1 -1
  486. package/dist/components/primitives/PasswordField/PasswordField.styles.d.ts +0 -17
  487. package/dist/components/primitives/PasswordField/PasswordField.styles.d.ts.map +1 -1
  488. package/dist/components/primitives/PasswordField/PasswordField.styles.js.map +1 -1
  489. package/dist/components/primitives/Select/Select.d.ts +0 -17
  490. package/dist/components/primitives/Select/Select.d.ts.map +1 -1
  491. package/dist/components/primitives/Select/Select.js.map +1 -1
  492. package/dist/components/primitives/Select/Select.styles.d.ts +0 -17
  493. package/dist/components/primitives/Select/Select.styles.d.ts.map +1 -1
  494. package/dist/components/primitives/Select/Select.styles.js.map +1 -1
  495. package/dist/components/primitives/Spinner/Spinner.d.ts +0 -17
  496. package/dist/components/primitives/Spinner/Spinner.d.ts.map +1 -1
  497. package/dist/components/primitives/Spinner/Spinner.js.map +1 -1
  498. package/dist/components/primitives/Spinner/Spinner.styles.d.ts +0 -17
  499. package/dist/components/primitives/Spinner/Spinner.styles.d.ts.map +1 -1
  500. package/dist/components/primitives/Spinner/Spinner.styles.js.map +1 -1
  501. package/dist/components/primitives/TextField/TextField.d.ts +0 -17
  502. package/dist/components/primitives/TextField/TextField.d.ts.map +1 -1
  503. package/dist/components/primitives/TextField/TextField.js.map +1 -1
  504. package/dist/components/primitives/TextField/TextField.styles.d.ts +0 -17
  505. package/dist/components/primitives/TextField/TextField.styles.d.ts.map +1 -1
  506. package/dist/components/primitives/TextField/TextField.styles.js.map +1 -1
  507. package/dist/components/primitives/Toggle/Toggle.d.ts +0 -17
  508. package/dist/components/primitives/Toggle/Toggle.d.ts.map +1 -1
  509. package/dist/components/primitives/Toggle/Toggle.js.map +1 -1
  510. package/dist/components/primitives/Toggle/Toggle.styles.d.ts +0 -17
  511. package/dist/components/primitives/Toggle/Toggle.styles.d.ts.map +1 -1
  512. package/dist/components/primitives/Toggle/Toggle.styles.js.map +1 -1
  513. package/dist/components/primitives/Tooltip/Tooltip.d.ts +0 -17
  514. package/dist/components/primitives/Tooltip/Tooltip.d.ts.map +1 -1
  515. package/dist/components/primitives/Tooltip/Tooltip.js.map +1 -1
  516. package/dist/components/primitives/Tooltip/Tooltip.styles.d.ts +0 -17
  517. package/dist/components/primitives/Tooltip/Tooltip.styles.d.ts.map +1 -1
  518. package/dist/components/primitives/Tooltip/Tooltip.styles.js.map +1 -1
  519. package/dist/components/primitives/Typography/Typography.d.ts +0 -17
  520. package/dist/components/primitives/Typography/Typography.d.ts.map +1 -1
  521. package/dist/components/primitives/Typography/Typography.js.map +1 -1
  522. package/dist/components/primitives/Typography/Typography.styles.d.ts +0 -17
  523. package/dist/components/primitives/Typography/Typography.styles.d.ts.map +1 -1
  524. package/dist/components/primitives/Typography/Typography.styles.js.map +1 -1
  525. package/dist/contexts/ComponentRenderer/ComponentRendererContext.d.ts +0 -17
  526. package/dist/contexts/ComponentRenderer/ComponentRendererContext.d.ts.map +1 -1
  527. package/dist/contexts/ComponentRenderer/ComponentRendererContext.js.map +1 -1
  528. package/dist/contexts/ComponentRenderer/ComponentRendererProvider.d.ts +0 -17
  529. package/dist/contexts/ComponentRenderer/ComponentRendererProvider.d.ts.map +1 -1
  530. package/dist/contexts/ComponentRenderer/ComponentRendererProvider.js.map +1 -1
  531. package/dist/contexts/Flow/FlowContext.d.ts +0 -17
  532. package/dist/contexts/Flow/FlowContext.d.ts.map +1 -1
  533. package/dist/contexts/Flow/FlowContext.js.map +1 -1
  534. package/dist/contexts/Flow/FlowProvider.d.ts +0 -17
  535. package/dist/contexts/Flow/FlowProvider.d.ts.map +1 -1
  536. package/dist/contexts/Flow/FlowProvider.js.map +1 -1
  537. package/dist/contexts/Flow/useFlow.d.ts +0 -17
  538. package/dist/contexts/Flow/useFlow.d.ts.map +1 -1
  539. package/dist/contexts/Flow/useFlow.js.map +1 -1
  540. package/dist/contexts/FlowMeta/FlowMetaContext.d.ts +0 -17
  541. package/dist/contexts/FlowMeta/FlowMetaContext.d.ts.map +1 -1
  542. package/dist/contexts/FlowMeta/FlowMetaContext.js.map +1 -1
  543. package/dist/contexts/FlowMeta/FlowMetaProvider.d.ts +0 -17
  544. package/dist/contexts/FlowMeta/FlowMetaProvider.d.ts.map +1 -1
  545. package/dist/contexts/FlowMeta/FlowMetaProvider.js.map +1 -1
  546. package/dist/contexts/FlowMeta/useFlowMeta.d.ts +0 -17
  547. package/dist/contexts/FlowMeta/useFlowMeta.d.ts.map +1 -1
  548. package/dist/contexts/FlowMeta/useFlowMeta.js.map +1 -1
  549. package/dist/contexts/I18n/ComponentPreferencesContext.d.ts +0 -17
  550. package/dist/contexts/I18n/ComponentPreferencesContext.d.ts.map +1 -1
  551. package/dist/contexts/I18n/ComponentPreferencesContext.js.map +1 -1
  552. package/dist/contexts/I18n/I18nContext.d.ts +0 -17
  553. package/dist/contexts/I18n/I18nContext.d.ts.map +1 -1
  554. package/dist/contexts/I18n/I18nContext.js.map +1 -1
  555. package/dist/contexts/I18n/I18nProvider.d.ts +0 -17
  556. package/dist/contexts/I18n/I18nProvider.d.ts.map +1 -1
  557. package/dist/contexts/I18n/I18nProvider.js.map +1 -1
  558. package/dist/contexts/I18n/useI18n.d.ts +0 -17
  559. package/dist/contexts/I18n/useI18n.d.ts.map +1 -1
  560. package/dist/contexts/I18n/useI18n.js.map +1 -1
  561. package/dist/contexts/Theme/ThemeContext.d.ts +0 -17
  562. package/dist/contexts/Theme/ThemeContext.d.ts.map +1 -1
  563. package/dist/contexts/Theme/ThemeContext.js.map +1 -1
  564. package/dist/contexts/Theme/ThemeProvider.d.ts +0 -17
  565. package/dist/contexts/Theme/ThemeProvider.d.ts.map +1 -1
  566. package/dist/contexts/Theme/ThemeProvider.js.map +1 -1
  567. package/dist/contexts/Theme/types.d.ts +0 -17
  568. package/dist/contexts/Theme/types.d.ts.map +1 -1
  569. package/dist/contexts/Theme/useTheme.d.ts +0 -17
  570. package/dist/contexts/Theme/useTheme.d.ts.map +1 -1
  571. package/dist/contexts/Theme/useTheme.js.map +1 -1
  572. package/dist/contexts/ThunderID/ThunderIDContext.d.ts +0 -17
  573. package/dist/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -1
  574. package/dist/contexts/ThunderID/ThunderIDContext.js.map +1 -1
  575. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts +0 -17
  576. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  577. package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  578. package/dist/contexts/ThunderID/useThunderID.d.ts +0 -17
  579. package/dist/contexts/ThunderID/useThunderID.d.ts.map +1 -1
  580. package/dist/contexts/ThunderID/useThunderID.js.map +1 -1
  581. package/dist/contexts/User/UserContext.d.ts +0 -17
  582. package/dist/contexts/User/UserContext.d.ts.map +1 -1
  583. package/dist/contexts/User/UserContext.js.map +1 -1
  584. package/dist/contexts/User/UserProvider.d.ts +0 -17
  585. package/dist/contexts/User/UserProvider.d.ts.map +1 -1
  586. package/dist/contexts/User/UserProvider.js.map +1 -1
  587. package/dist/contexts/User/useUser.d.ts +0 -17
  588. package/dist/contexts/User/useUser.d.ts.map +1 -1
  589. package/dist/contexts/User/useUser.js.map +1 -1
  590. package/dist/hooks/useBrowserUrl.d.ts +0 -17
  591. package/dist/hooks/useBrowserUrl.d.ts.map +1 -1
  592. package/dist/hooks/useBrowserUrl.js.map +1 -1
  593. package/dist/hooks/useForm.d.ts +0 -17
  594. package/dist/hooks/useForm.d.ts.map +1 -1
  595. package/dist/hooks/useForm.js.map +1 -1
  596. package/dist/hooks/useOAuthCallback.d.ts +0 -17
  597. package/dist/hooks/useOAuthCallback.d.ts.map +1 -1
  598. package/dist/hooks/useOAuthCallback.js.map +1 -1
  599. package/dist/hooks/useTranslation.d.ts +0 -17
  600. package/dist/hooks/useTranslation.d.ts.map +1 -1
  601. package/dist/hooks/useTranslation.js.map +1 -1
  602. package/dist/index.d.ts +0 -17
  603. package/dist/index.d.ts.map +1 -1
  604. package/dist/models/adapters.d.ts +0 -17
  605. package/dist/models/adapters.d.ts.map +1 -1
  606. package/dist/models/config.d.ts +0 -17
  607. package/dist/models/config.d.ts.map +1 -1
  608. package/dist/utils/applyThemeToDOM.d.ts +0 -17
  609. package/dist/utils/applyThemeToDOM.d.ts.map +1 -1
  610. package/dist/utils/applyThemeToDOM.js.map +1 -1
  611. package/dist/utils/buildThemeConfigFromFlowMeta.d.ts +0 -17
  612. package/dist/utils/buildThemeConfigFromFlowMeta.d.ts.map +1 -1
  613. package/dist/utils/buildThemeConfigFromFlowMeta.js.map +1 -1
  614. package/dist/utils/composeAffixedInputs.d.ts +0 -17
  615. package/dist/utils/composeAffixedInputs.d.ts.map +1 -1
  616. package/dist/utils/composeAffixedInputs.js.map +1 -1
  617. package/dist/utils/flowTransformer.d.ts +0 -17
  618. package/dist/utils/flowTransformer.d.ts.map +1 -1
  619. package/dist/utils/flowTransformer.js.map +1 -1
  620. package/dist/utils/getAuthComponentHeadings.d.ts +0 -17
  621. package/dist/utils/getAuthComponentHeadings.d.ts.map +1 -1
  622. package/dist/utils/getAuthComponentHeadings.js.map +1 -1
  623. package/dist/utils/getDisplayName.d.ts +0 -17
  624. package/dist/utils/getDisplayName.d.ts.map +1 -1
  625. package/dist/utils/getDisplayName.js.map +1 -1
  626. package/dist/utils/getMappedUserProfileValue.d.ts +0 -17
  627. package/dist/utils/getMappedUserProfileValue.d.ts.map +1 -1
  628. package/dist/utils/getMappedUserProfileValue.js.map +1 -1
  629. package/dist/utils/normalizeThemeConfig.d.ts +0 -17
  630. package/dist/utils/normalizeThemeConfig.d.ts.map +1 -1
  631. package/dist/utils/normalizeThemeConfig.js.map +1 -1
  632. package/dist/utils/oauth.d.ts +0 -17
  633. package/dist/utils/oauth.d.ts.map +1 -1
  634. package/dist/utils/oauth.js.map +1 -1
  635. package/dist/utils/passkey.d.ts +0 -17
  636. package/dist/utils/passkey.d.ts.map +1 -1
  637. package/dist/utils/passkey.js.map +1 -1
  638. package/dist/utils/resolveTranslationsInArray.d.ts +0 -17
  639. package/dist/utils/resolveTranslationsInArray.d.ts.map +1 -1
  640. package/dist/utils/resolveTranslationsInArray.js.map +1 -1
  641. package/dist/utils/resolveTranslationsInObject.d.ts +0 -17
  642. package/dist/utils/resolveTranslationsInObject.d.ts.map +1 -1
  643. package/dist/utils/resolveTranslationsInObject.js.map +1 -1
  644. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"UserProvider.js","names":["UserProvider: FC<PropsWithChildren<UserProviderProps>>","contextValue: any","UserContext"],"sources":["../../../src/contexts/User/UserProvider.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 {UpdateMeProfileConfig, User, UserProfile} from '@thunderid/browser';\nimport {FC, PropsWithChildren, ReactElement, useMemo} from 'react';\nimport UserContext from './UserContext';\n\n/**\n * Props interface of {@link UserProvider}\n */\nexport interface UserProviderProps {\n onUpdateProfile?: (payload: User) => void;\n profile: UserProfile;\n revalidateProfile?: () => Promise<void>;\n updateProfile?: (\n requestConfig: UpdateMeProfileConfig,\n sessionId?: string,\n ) => Promise<{data: {user: User}; error: string; success: boolean}>;\n}\n\n/**\n * UserProvider component that manages user profile data and provides it through UserContext.\n *\n * This provider:\n * - Fetches user profile data from the ME endpoint\n * - Generates both nested and flattened user profiles\n * - Provides functions for refreshing and updating user data\n * - Handles loading states and errors\n *\n * @example\n * ```tsx\n * // Basic usage\n * <UserProvider>\n * <App />\n * </UserProvider>\n *\n * // With custom error handling\n * <UserProvider onError={(error) => console.error('User error:', error)}>\n * <App />\n * </UserProvider>\n *\n * // Disable auto-fetch (fetch manually using refreshUser)\n * <UserProvider autoFetch={false}>\n * <App />\n * </UserProvider>\n * ```\n */\nconst UserProvider: FC<PropsWithChildren<UserProviderProps>> = ({\n children,\n profile,\n revalidateProfile,\n onUpdateProfile,\n updateProfile,\n}: PropsWithChildren<UserProviderProps>): ReactElement => {\n const contextValue: any = useMemo(\n () => ({\n flattenedProfile: profile?.flattenedProfile,\n onUpdateProfile,\n profile: profile?.profile,\n revalidateProfile,\n updateProfile,\n }),\n [profile, onUpdateProfile, revalidateProfile, updateProfile],\n );\n\n return <UserContext.Provider value={contextValue}>{children}</UserContext.Provider>;\n};\n\nexport default UserProvider;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,MAAMA,gBAA0D,EAC9D,UACA,SACA,mBACA,iBACA,oBACwD;CACxD,MAAMC,eAAoB,eACjB;EACL,kBAAkB,SAAS;EAC3B;EACA,SAAS,SAAS;EAClB;EACA;EACD,GACD;EAAC;EAAS;EAAiB;EAAmB;EAAc,CAC7D;AAED,QAAO,oBAACC,oBAAY;EAAS,OAAO;EAAe;GAAgC;;AAGrF,2BAAe"}
1
+ {"version":3,"file":"UserProvider.js","names":["UserProvider: FC<PropsWithChildren<UserProviderProps>>","contextValue: any","UserContext"],"sources":["../../../src/contexts/User/UserProvider.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {UpdateMeProfileConfig, User, UserProfile} from '@thunderid/browser';\nimport {FC, PropsWithChildren, ReactElement, useMemo} from 'react';\nimport UserContext from './UserContext';\n\n/**\n * Props interface of {@link UserProvider}\n */\nexport interface UserProviderProps {\n onUpdateProfile?: (payload: User) => void;\n profile: UserProfile;\n revalidateProfile?: () => Promise<void>;\n updateProfile?: (\n requestConfig: UpdateMeProfileConfig,\n sessionId?: string,\n ) => Promise<{data: {user: User}; error: string; success: boolean}>;\n}\n\n/**\n * UserProvider component that manages user profile data and provides it through UserContext.\n *\n * This provider:\n * - Fetches user profile data from the ME endpoint\n * - Generates both nested and flattened user profiles\n * - Provides functions for refreshing and updating user data\n * - Handles loading states and errors\n *\n * @example\n * ```tsx\n * // Basic usage\n * <UserProvider>\n * <App />\n * </UserProvider>\n *\n * // With custom error handling\n * <UserProvider onError={(error) => console.error('User error:', error)}>\n * <App />\n * </UserProvider>\n *\n * // Disable auto-fetch (fetch manually using refreshUser)\n * <UserProvider autoFetch={false}>\n * <App />\n * </UserProvider>\n * ```\n */\nconst UserProvider: FC<PropsWithChildren<UserProviderProps>> = ({\n children,\n profile,\n revalidateProfile,\n onUpdateProfile,\n updateProfile,\n}: PropsWithChildren<UserProviderProps>): ReactElement => {\n const contextValue: any = useMemo(\n () => ({\n flattenedProfile: profile?.flattenedProfile,\n onUpdateProfile,\n profile: profile?.profile,\n revalidateProfile,\n updateProfile,\n }),\n [profile, onUpdateProfile, revalidateProfile, updateProfile],\n );\n\n return <UserContext.Provider value={contextValue}>{children}</UserContext.Provider>;\n};\n\nexport default UserProvider;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,MAAMA,gBAA0D,EAC9D,UACA,SACA,mBACA,iBACA,oBACwD;CACxD,MAAMC,eAAoB,eACjB;EACL,kBAAkB,SAAS;EAC3B;EACA,SAAS,SAAS;EAClB;EACA;EACD,GACD;EAAC;EAAS;EAAiB;EAAmB;EAAc,CAC7D;AAED,QAAO,oBAACC,oBAAY;EAAS,OAAO;EAAe;GAAgC;;AAGrF,2BAAe"}
@@ -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 { UserContextProps } from './UserContext';
19
2
  /**
20
3
  * Hook to access the User context.
@@ -1 +1 @@
1
- {"version":3,"file":"useUser.d.ts","sourceRoot":"","sources":["../../../src/contexts/User/useUser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAoB,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,QAAA,MAAM,OAAO,QAAO,gBAQnB,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"useUser.d.ts","sourceRoot":"","sources":["../../../src/contexts/User/useUser.ts"],"names":[],"mappings":"AAIA,OAAoB,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,QAAA,MAAM,OAAO,QAAO,gBAQnB,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUser.js","names":["context: UserContextProps | null","UserContext"],"sources":["../../../src/contexts/User/useUser.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 {useContext} from 'react';\nimport UserContext, {UserContextProps} from './UserContext';\n\n/**\n * Hook to access the User context.\n *\n * This hook provides access to user profile data including:\n * - Raw profile API response\n * - Nested user object\n * - Flattened user profile\n * - Functions to refresh and update user data\n * - Loading states and error handling\n *\n * @returns {UserContextProps} The user context value containing all user-related data and functions\n * @throws {Error} Throws an error if used outside of UserProvider\n *\n * @example\n * ```tsx\n * import {useUser} from '@thunderid/react';\n *\n * function ProfileComponent() {\n * const {\n * isLoading,\n * profile,\n * schemas,\n * user,\n * flattenedUser,\n * refreshUser,\n * updateUser,\n * error\n * } = useUser();\n *\n * if (isLoading) {\n * return <div>Loading user data...</div>;\n * }\n *\n * if (error) {\n * return <div>Error: {error.message}</div>;\n * }\n *\n * return (\n * <div>\n * <h1>Welcome {user?.name?.givenName}!</h1>\n * <p>Email: {flattenedUser?.emails}</p>\n * <button onClick={refreshUser}>Refresh Profile</button>\n * </div>\n * );\n * }\n *\n * // Access specific user properties\n * function UserEmail() {\n * const {flattenedUser} = useUser();\n * return <span>{flattenedUser?.emails?.[0]}</span>;\n * }\n *\n * // Update user profile\n * function EditProfile() {\n * const {updateUser, user} = useUser();\n *\n * const handleUpdate = async () => {\n * try {\n * await updateUser({\n * name: {\n * givenName: 'John',\n * familyName: 'Doe'\n * }\n * });\n * } catch (error) {\n * console.error('Update failed:', error);\n * }\n * };\n *\n * return <button onClick={handleUpdate}>Update Name</button>;\n * }\n * ```\n */\nconst useUser = (): UserContextProps => {\n const context: UserContextProps | null = useContext(UserContext);\n\n if (!context) {\n throw new Error('useUser must be used within a UserProvider');\n }\n\n return context;\n};\n\nexport default useUser;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8FA,MAAM,gBAAkC;CACtC,MAAMA,UAAmC,WAAWC,oBAAY;AAEhE,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,6CAA6C;AAG/D,QAAO;;AAGT,sBAAe"}
1
+ {"version":3,"file":"useUser.js","names":["context: UserContextProps | null","UserContext"],"sources":["../../../src/contexts/User/useUser.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {useContext} from 'react';\nimport UserContext, {UserContextProps} from './UserContext';\n\n/**\n * Hook to access the User context.\n *\n * This hook provides access to user profile data including:\n * - Raw profile API response\n * - Nested user object\n * - Flattened user profile\n * - Functions to refresh and update user data\n * - Loading states and error handling\n *\n * @returns {UserContextProps} The user context value containing all user-related data and functions\n * @throws {Error} Throws an error if used outside of UserProvider\n *\n * @example\n * ```tsx\n * import {useUser} from '@thunderid/react';\n *\n * function ProfileComponent() {\n * const {\n * isLoading,\n * profile,\n * schemas,\n * user,\n * flattenedUser,\n * refreshUser,\n * updateUser,\n * error\n * } = useUser();\n *\n * if (isLoading) {\n * return <div>Loading user data...</div>;\n * }\n *\n * if (error) {\n * return <div>Error: {error.message}</div>;\n * }\n *\n * return (\n * <div>\n * <h1>Welcome {user?.name?.givenName}!</h1>\n * <p>Email: {flattenedUser?.emails}</p>\n * <button onClick={refreshUser}>Refresh Profile</button>\n * </div>\n * );\n * }\n *\n * // Access specific user properties\n * function UserEmail() {\n * const {flattenedUser} = useUser();\n * return <span>{flattenedUser?.emails?.[0]}</span>;\n * }\n *\n * // Update user profile\n * function EditProfile() {\n * const {updateUser, user} = useUser();\n *\n * const handleUpdate = async () => {\n * try {\n * await updateUser({\n * name: {\n * givenName: 'John',\n * familyName: 'Doe'\n * }\n * });\n * } catch (error) {\n * console.error('Update failed:', error);\n * }\n * };\n *\n * return <button onClick={handleUpdate}>Update Name</button>;\n * }\n * ```\n */\nconst useUser = (): UserContextProps => {\n const context: UserContextProps | null = useContext(UserContext);\n\n if (!context) {\n throw new Error('useUser must be used within a UserProvider');\n }\n\n return context;\n};\n\nexport default useUser;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EA,MAAM,gBAAkC;CACtC,MAAMA,UAAmC,WAAWC,oBAAY;AAEhE,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,6CAA6C;AAG/D,QAAO;;AAGT,sBAAe"}
@@ -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
  /**
19
2
  * Interface for the useBrowserUrl hook return value.
20
3
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useBrowserUrl.d.ts","sourceRoot":"","sources":["../../src/hooks/useBrowserUrl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;IAE7D;;;;;;OAMG;IACH,wBAAwB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CACrE;AAED;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,aAAa,QAAO,aAUzB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"useBrowserUrl.d.ts","sourceRoot":"","sources":["../../src/hooks/useBrowserUrl.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;IAE7D;;;;;;OAMG;IACH,wBAAwB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CACrE;AAED;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,aAAa,QAAO,aAUzB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBrowserUrl.js","names":[],"sources":["../../src/hooks/useBrowserUrl.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 {hasAuthParamsInUrl, hasCalledForThisInstanceInUrl} from '@thunderid/browser';\n\n/**\n * Interface for the useBrowserUrl hook return value.\n */\nexport interface UseBrowserUrl {\n /**\n * Checks if the current URL contains authentication parameters.\n *\n * @param url - The URL object to check for authentication parameters\n * @param afterSignInUrl - The URL where the authorization server should redirect after authentication\n * @returns True if the URL contains authentication parameters and matches the afterSignInUrl, or if it contains an error parameter\n */\n hasAuthParams: (url: URL, afterSignInUrl: string) => boolean;\n\n /**\n * Checks if the URL indicates that the authentication flow has been called for this instance.\n *\n * @param url - The URL object to check\n * @param instanceId - The instance ID to check against\n * @returns True if the URL indicates the flow has been called for this instance\n */\n hasCalledForThisInstance: (url: URL, instanceId: number) => boolean;\n}\n\n/**\n * Hook that provides utilities for handling browser URLs in authentication flows.\n *\n * @returns An object containing URL utility functions\n *\n * @example\n * ```tsx\n * const { hasAuthParams } = useBrowserUrl();\n * const url = new URL(window.location.href);\n *\n * if (hasAuthParams(url, \"/after-signin\")) {\n * // Handle authentication callback\n * }\n * ```\n */\nconst useBrowserUrl = (): UseBrowserUrl => {\n const hasAuthParams = (url: URL, afterSignInUrl: string): boolean =>\n (hasAuthParamsInUrl() && new URL(url.origin + url.pathname).toString() === new URL(afterSignInUrl).toString()) ||\n // authParams?.authorizationCode || // FIXME: These are sent externally. Need to see what we can do about this.\n url.searchParams.get('error') !== null;\n\n const hasCalledForThisInstance = (url: URL, instanceId: number): boolean =>\n hasCalledForThisInstanceInUrl(instanceId, url.search);\n\n return {hasAuthParams, hasCalledForThisInstance};\n};\n\nexport default useBrowserUrl;\n"],"mappings":";;;;;;;;;;;;;;;;;;AA0DA,MAAM,sBAAqC;CACzC,MAAM,iBAAiB,KAAU,mBAC9B,oBAAoB,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,IAAI,eAAe,CAAC,UAAU,IAE7G,IAAI,aAAa,IAAI,QAAQ,KAAK;CAEpC,MAAM,4BAA4B,KAAU,eAC1C,8BAA8B,YAAY,IAAI,OAAO;AAEvD,QAAO;EAAC;EAAe;EAAyB;;AAGlD,4BAAe"}
1
+ {"version":3,"file":"useBrowserUrl.js","names":[],"sources":["../../src/hooks/useBrowserUrl.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {hasAuthParamsInUrl, hasCalledForThisInstanceInUrl} from '@thunderid/browser';\n\n/**\n * Interface for the useBrowserUrl hook return value.\n */\nexport interface UseBrowserUrl {\n /**\n * Checks if the current URL contains authentication parameters.\n *\n * @param url - The URL object to check for authentication parameters\n * @param afterSignInUrl - The URL where the authorization server should redirect after authentication\n * @returns True if the URL contains authentication parameters and matches the afterSignInUrl, or if it contains an error parameter\n */\n hasAuthParams: (url: URL, afterSignInUrl: string) => boolean;\n\n /**\n * Checks if the URL indicates that the authentication flow has been called for this instance.\n *\n * @param url - The URL object to check\n * @param instanceId - The instance ID to check against\n * @returns True if the URL indicates the flow has been called for this instance\n */\n hasCalledForThisInstance: (url: URL, instanceId: number) => boolean;\n}\n\n/**\n * Hook that provides utilities for handling browser URLs in authentication flows.\n *\n * @returns An object containing URL utility functions\n *\n * @example\n * ```tsx\n * const { hasAuthParams } = useBrowserUrl();\n * const url = new URL(window.location.href);\n *\n * if (hasAuthParams(url, \"/after-signin\")) {\n * // Handle authentication callback\n * }\n * ```\n */\nconst useBrowserUrl = (): UseBrowserUrl => {\n const hasAuthParams = (url: URL, afterSignInUrl: string): boolean =>\n (hasAuthParamsInUrl() && new URL(url.origin + url.pathname).toString() === new URL(afterSignInUrl).toString()) ||\n // authParams?.authorizationCode || // FIXME: These are sent externally. Need to see what we can do about this.\n url.searchParams.get('error') !== null;\n\n const hasCalledForThisInstance = (url: URL, instanceId: number): boolean =>\n hasCalledForThisInstanceInUrl(instanceId, url.search);\n\n return {hasAuthParams, hasCalledForThisInstance};\n};\n\nexport default useBrowserUrl;\n"],"mappings":";;;;;;;;;;;;;;;;;;AA2CA,MAAM,sBAAqC;CACzC,MAAM,iBAAiB,KAAU,mBAC9B,oBAAoB,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI,IAAI,eAAe,CAAC,UAAU,IAE7G,IAAI,aAAa,IAAI,QAAQ,KAAK;CAEpC,MAAM,4BAA4B,KAAU,eAC1C,8BAA8B,YAAY,IAAI,OAAO;AAEvD,QAAO;EAAC;EAAe;EAAyB;;AAGlD,4BAAe"}
@@ -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 { FormEvent } from 'react';
19
2
  /**
20
3
  * Generic form field configuration
@@ -1 +1 @@
1
- {"version":3,"file":"useForm.d.ts","sourceRoot":"","sources":["../../src/hooks/useForm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useForm.d.ts","sourceRoot":"","sources":["../../src/hooks/useForm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useForm.js","names":["fieldError: string | null","getFieldConfig: (name: keyof T) => FormField | undefined","validateField: (name: keyof T) => string | null","validateForm: () => ValidationResult","newErrors: Record<keyof T, string>","error: string | null","globalErrors: Record<string, string>","isValid: boolean","setValue: (name: keyof T, value: string) => void","setValues: (newValues: Partial<T>) => void","setTouched: (name: keyof T, isTouched?: boolean) => void","setTouchedFields: (touchedFields: Partial<Record<keyof T, boolean>>) => void","touchAllFields: () => void","setError: (name: keyof T, error: string) => void","setErrors: (newErrors: Partial<Record<keyof T, string>>) => void","clearErrors: () => void","reset: () => void","handleSubmit: (onSubmit: (values: T) => void | Promise<void>) => (e?: FormEvent) => Promise<void>","fieldConfig: FormField | undefined"],"sources":["../../src/hooks/useForm.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 {useState, useCallback, FormEvent} from 'react';\n\n/**\n * Generic form field configuration\n */\nexport interface FormField {\n initialValue?: string;\n name: string;\n required?: boolean;\n validator?: (value: string) => string | null;\n}\n\n/**\n * Form validation result\n */\nexport interface ValidationResult {\n errors: Record<string, string>;\n isValid: boolean;\n}\n\n/**\n * Configuration for the useForm hook\n */\nexport interface UseFormConfig<T extends Record<string, string>> {\n /**\n * Form field definitions\n */\n fields?: FormField[];\n /**\n * Initial form values\n */\n initialValues?: Partial<T>;\n /**\n * Custom required field validation message\n */\n requiredMessage?: string;\n /**\n * When a field has been touched (blurred at least once), re-run validation on every\n * subsequent change so a rendered error clears the moment the value becomes valid.\n *\n * Independent of `validateOnChange`: this only affects fields that have already been\n * blurred, so users don't see errors while initially typing. Default `false` to\n * preserve prior behavior; enable per-form for a \"correct-as-you-type\" UX.\n */\n revalidateOnChangeAfterBlur?: boolean;\n /**\n * Whether to validate on blur (default: true)\n */\n validateOnBlur?: boolean;\n /**\n * Whether to validate on change (default: false). When true, every keystroke\n * triggers validation — including the first, which surfaces errors before the user\n * has had a chance to finish typing. Prefer `revalidateOnChangeAfterBlur` for the\n * common \"clear the error as the user corrects\" UX.\n */\n validateOnChange?: boolean;\n /**\n * Global form validator function\n */\n validator?: (values: T) => Record<string, string>;\n}\n\n/**\n * Pure per-field validator. Kept outside `useForm` so `setValue` can validate against\n * the value it just wrote — inline validation via the closure-based `validateField`\n * inside the hook would read stale `values` (state is committed asynchronously).\n */\nconst computeFieldError = (\n value: string,\n fieldConfig: FormField | undefined,\n requiredMessage: string,\n): string | null => {\n if (fieldConfig?.required && (!value || value.trim() === '')) {\n return requiredMessage;\n }\n if (fieldConfig?.validator) {\n const fieldError: string | null = fieldConfig.validator(value);\n if (fieldError) return fieldError;\n }\n return null;\n};\n\n/**\n * Return type for the useForm hook\n */\nexport interface UseFormReturn<T extends Record<string, string>> {\n /**\n * Clear all errors\n */\n clearErrors: () => void;\n /**\n * Current validation errors\n */\n errors: Record<keyof T, string>;\n /**\n * Get field props for easy integration with form components\n */\n getFieldProps: (name: keyof T) => {\n error: string | undefined;\n name: keyof T;\n onBlur: () => void;\n onChange: (value: string) => void;\n required: boolean;\n touched: boolean;\n value: string;\n };\n /**\n * Handle form submission\n */\n handleSubmit: (onSubmit: (values: T) => void | Promise<void>) => (e?: FormEvent) => Promise<void>;\n /**\n * Whether the form has been submitted\n */\n isSubmitted: boolean;\n /**\n * Whether the form is currently valid\n */\n isValid: boolean;\n /**\n * Reset the form to initial values\n */\n reset: () => void;\n /**\n * Set a field error\n */\n setError: (name: keyof T, error: string) => void;\n /**\n * Set multiple field errors\n */\n setErrors: (errors: Partial<Record<keyof T, string>>) => void;\n /**\n * Mark a field as touched\n */\n setTouched: (name: keyof T, touched?: boolean) => void;\n /**\n * Mark multiple fields as touched\n */\n setTouchedFields: (touched: Partial<Record<keyof T, boolean>>) => void;\n /**\n * Set a single field value\n */\n setValue: (name: keyof T, value: string) => void;\n /**\n * Set multiple field values\n */\n setValues: (values: Partial<T>) => void;\n /**\n * Mark all fields as touched\n */\n touchAllFields: () => void;\n /**\n * Fields that have been touched by the user\n */\n touched: Record<keyof T, boolean>;\n /**\n * Validate a single field\n */\n validateField: (name: keyof T) => string | null;\n /**\n * Validate all fields\n */\n validateForm: () => ValidationResult;\n /**\n * Current form values\n */\n values: T;\n}\n\n/**\n * Generic form hook that provides comprehensive form state management and validation.\n *\n * @template T - The type of form values (must extend Record<string, string>)\n * @param config - Configuration options for the form\n * @returns Form state and methods\n *\n * @example\n * ```tsx\n * interface LoginForm {\n * username: string;\n * password: string;\n * }\n *\n * const {\n * values,\n * touched,\n * errors,\n * isValid,\n * setValue,\n * handleSubmit,\n * getFieldProps\n * } = useForm<LoginForm>({\n * initialValues: { username: '', password: '' },\n * fields: [\n * { name: 'username', required: true },\n * { name: 'password', required: true }\n * ]\n * });\n *\n * const onSubmit = handleSubmit((values) => {\n * console.log('Form submitted:', values);\n * });\n *\n * return (\n * <form onSubmit={onSubmit}>\n * <input {...getFieldProps('username')} />\n * <input {...getFieldProps('password')} type=\"password\" />\n * <button type=\"submit\" disabled={!isValid}>Submit</button>\n * </form>\n * );\n * ```\n */\nexport const useForm = <T extends Record<string, string>>(config: UseFormConfig<T> = {}): UseFormReturn<T> => {\n const {\n initialValues = {} as T,\n fields = [],\n validator,\n validateOnChange = false,\n validateOnBlur = true,\n revalidateOnChangeAfterBlur = false,\n requiredMessage = 'This field is required',\n } = config;\n\n // Initialize form state\n const [values, setFormValues] = useState<T>({...initialValues} as T);\n const [touched, setFormTouched] = useState<Record<keyof T, boolean>>({} as Record<keyof T, boolean>);\n const [errors, setFormErrors] = useState<Record<keyof T, string>>({} as Record<keyof T, string>);\n const [isSubmitted, setIsSubmitted] = useState(false);\n\n // Get field configuration by name\n const getFieldConfig: (name: keyof T) => FormField | undefined = useCallback(\n (name: keyof T): FormField | undefined => fields.find((field: FormField) => field.name === name),\n [fields],\n );\n\n // Validate a single field against currently-committed state. Used by the blur path\n // (where `values` is already up-to-date) and by `validateForm`.\n const validateField: (name: keyof T) => string | null = useCallback(\n (name: keyof T): string | null => {\n const value: string = values[name] || '';\n const fieldConfig: FormField | undefined = getFieldConfig(name);\n return computeFieldError(value, fieldConfig, requiredMessage);\n },\n [values, getFieldConfig, requiredMessage],\n );\n\n // Validate the entire form\n const validateForm: () => ValidationResult = useCallback((): ValidationResult => {\n const newErrors: Record<keyof T, string> = {} as Record<keyof T, string>;\n\n // Validate individual fields\n fields.forEach((field: FormField) => {\n const error: string | null = validateField(field.name as keyof T);\n if (error) {\n newErrors[field.name as keyof T] = error;\n }\n });\n\n // Run global validator if provided\n if (validator) {\n const globalErrors: Record<string, string> = validator(values);\n Object.keys(globalErrors).forEach((key: string) => {\n if (globalErrors[key]) {\n newErrors[key as keyof T] = globalErrors[key];\n }\n });\n }\n\n return {\n errors: newErrors,\n isValid: Object.keys(newErrors).length === 0,\n };\n }, [fields, validateField, validator, values]);\n\n // Check if form is currently valid\n const isValid: boolean = Object.keys(errors).length === 0;\n\n // Set a single field value.\n //\n // Validation policy:\n // - `validateOnChange: true` → validate on every keystroke.\n // - `revalidateOnChangeAfterBlur: true` → validate only if the field has\n // already been touched (blurred once),\n // so errors clear as the user corrects\n // without appearing while first typing.\n // - both false → no on-change validation.\n //\n // Validation runs against the NEXT value (the string being written) rather than\n // going through `validateField` which reads the stale closed-over `values`. This\n // prevents the one-keystroke-lag bug where the error clears one character late.\n const setValue: (name: keyof T, value: string) => void = useCallback(\n (name: keyof T, value: string): void => {\n setFormValues((prev: T) => ({\n ...prev,\n [name]: value,\n }));\n\n const shouldValidate: boolean = validateOnChange || (revalidateOnChangeAfterBlur && touched[name] === true);\n if (!shouldValidate) {\n return;\n }\n\n const error: string | null = computeFieldError(value, getFieldConfig(name), requiredMessage);\n setFormErrors((prev: Record<keyof T, string>) => {\n const newErrors: Record<keyof T, string> = {...prev};\n if (error) {\n newErrors[name] = error;\n } else {\n delete newErrors[name];\n }\n return newErrors;\n });\n },\n [validateOnChange, revalidateOnChangeAfterBlur, touched, getFieldConfig, requiredMessage],\n );\n\n // Set multiple field values\n const setValues: (newValues: Partial<T>) => void = useCallback((newValues: Partial<T>): void => {\n setFormValues((prev: T) => ({\n ...prev,\n ...newValues,\n }));\n }, []);\n\n // Mark a field as touched\n const setTouched: (name: keyof T, isTouched?: boolean) => void = useCallback(\n (name: keyof T, isTouched = true): void => {\n setFormTouched((prev: Record<keyof T, boolean>) => ({\n ...prev,\n [name]: isTouched,\n }));\n\n // Validate on blur if enabled and field is touched\n if (validateOnBlur && isTouched) {\n const error: string | null = validateField(name);\n setFormErrors((prev: Record<keyof T, string>) => {\n const newErrors: Record<keyof T, string> = {...prev};\n if (error) {\n newErrors[name] = error;\n } else {\n delete newErrors[name];\n }\n return newErrors;\n });\n }\n },\n [validateField, validateOnBlur],\n );\n\n // Set multiple touched fields\n const setTouchedFields: (touchedFields: Partial<Record<keyof T, boolean>>) => void = useCallback(\n (touchedFields: Partial<Record<keyof T, boolean>>): void => {\n setFormTouched((prev: Record<keyof T, boolean>) => ({\n ...prev,\n ...touchedFields,\n }));\n },\n [],\n );\n\n // Mark all fields as touched\n const touchAllFields: () => void = useCallback((): void => {\n const allTouched: Record<keyof T, boolean> = fields.reduce(\n (acc: Record<keyof T, boolean>, field: FormField) => {\n acc[field.name as keyof T] = true;\n return acc;\n },\n {} as Record<keyof T, boolean>,\n );\n\n setFormTouched(allTouched);\n\n // Validate all fields\n const validation: ValidationResult = validateForm();\n setFormErrors(validation.errors as Record<keyof T, string>);\n }, [fields, validateForm]);\n\n // Set a field error\n const setError: (name: keyof T, error: string) => void = useCallback((name: keyof T, error: string): void => {\n setFormErrors((prev: Record<keyof T, string>) => ({\n ...prev,\n [name]: error,\n }));\n }, []);\n\n // Set multiple field errors\n const setErrors: (newErrors: Partial<Record<keyof T, string>>) => void = useCallback(\n (newErrors: Partial<Record<keyof T, string>>): void => {\n setFormErrors((prev: Record<keyof T, string>) => ({\n ...prev,\n ...newErrors,\n }));\n },\n [],\n );\n\n // Clear all errors\n const clearErrors: () => void = useCallback((): void => {\n setFormErrors({} as Record<keyof T, string>);\n }, []);\n\n // Reset form to initial state\n const reset: () => void = useCallback((): void => {\n setFormValues({...initialValues} as T);\n setFormTouched({} as Record<keyof T, boolean>);\n setFormErrors({} as Record<keyof T, string>);\n setIsSubmitted(false);\n }, [initialValues]);\n\n // Handle form submission\n const handleSubmit: (onSubmit: (values: T) => void | Promise<void>) => (e?: FormEvent) => Promise<void> = useCallback(\n (onSubmit: (values: T) => void | Promise<void>) =>\n async (e?: FormEvent): Promise<void> => {\n if (e) {\n e.preventDefault();\n }\n\n setIsSubmitted(true);\n touchAllFields();\n\n const validation: ValidationResult = validateForm();\n\n if (validation.isValid) {\n await onSubmit(values);\n }\n },\n [values, touchAllFields, validateForm],\n );\n\n // Get field props for easy integration\n const getFieldProps: (name: keyof T) => any = useCallback(\n (name: keyof T) => {\n const fieldConfig: FormField | undefined = getFieldConfig(name);\n\n return {\n error: touched[name] ? errors[name] : undefined,\n name,\n onBlur: (): void => setTouched(name, true),\n onChange: (value: string): void => setValue(name, value),\n required: fieldConfig?.required || false,\n touched: touched[name] || false,\n value: values[name] || '',\n };\n },\n [values, errors, touched, setValue, setTouched, getFieldConfig],\n );\n\n return {\n clearErrors,\n errors,\n getFieldProps,\n handleSubmit,\n isSubmitted,\n isValid,\n reset,\n setError,\n setErrors,\n setTouched,\n setTouchedFields,\n setValue,\n setValues,\n touchAllFields,\n touched,\n validateField,\n validateForm,\n values,\n };\n};\n\nexport default useForm;\n"],"mappings":"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"}
1
+ {"version":3,"file":"useForm.js","names":["fieldError: string | null","getFieldConfig: (name: keyof T) => FormField | undefined","validateField: (name: keyof T) => string | null","validateForm: () => ValidationResult","newErrors: Record<keyof T, string>","error: string | null","globalErrors: Record<string, string>","isValid: boolean","setValue: (name: keyof T, value: string) => void","setValues: (newValues: Partial<T>) => void","setTouched: (name: keyof T, isTouched?: boolean) => void","setTouchedFields: (touchedFields: Partial<Record<keyof T, boolean>>) => void","touchAllFields: () => void","setError: (name: keyof T, error: string) => void","setErrors: (newErrors: Partial<Record<keyof T, string>>) => void","clearErrors: () => void","reset: () => void","handleSubmit: (onSubmit: (values: T) => void | Promise<void>) => (e?: FormEvent) => Promise<void>","fieldConfig: FormField | undefined"],"sources":["../../src/hooks/useForm.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {useState, useCallback, FormEvent} from 'react';\n\n/**\n * Generic form field configuration\n */\nexport interface FormField {\n initialValue?: string;\n name: string;\n required?: boolean;\n validator?: (value: string) => string | null;\n}\n\n/**\n * Form validation result\n */\nexport interface ValidationResult {\n errors: Record<string, string>;\n isValid: boolean;\n}\n\n/**\n * Configuration for the useForm hook\n */\nexport interface UseFormConfig<T extends Record<string, string>> {\n /**\n * Form field definitions\n */\n fields?: FormField[];\n /**\n * Initial form values\n */\n initialValues?: Partial<T>;\n /**\n * Custom required field validation message\n */\n requiredMessage?: string;\n /**\n * When a field has been touched (blurred at least once), re-run validation on every\n * subsequent change so a rendered error clears the moment the value becomes valid.\n *\n * Independent of `validateOnChange`: this only affects fields that have already been\n * blurred, so users don't see errors while initially typing. Default `false` to\n * preserve prior behavior; enable per-form for a \"correct-as-you-type\" UX.\n */\n revalidateOnChangeAfterBlur?: boolean;\n /**\n * Whether to validate on blur (default: true)\n */\n validateOnBlur?: boolean;\n /**\n * Whether to validate on change (default: false). When true, every keystroke\n * triggers validation — including the first, which surfaces errors before the user\n * has had a chance to finish typing. Prefer `revalidateOnChangeAfterBlur` for the\n * common \"clear the error as the user corrects\" UX.\n */\n validateOnChange?: boolean;\n /**\n * Global form validator function\n */\n validator?: (values: T) => Record<string, string>;\n}\n\n/**\n * Pure per-field validator. Kept outside `useForm` so `setValue` can validate against\n * the value it just wrote — inline validation via the closure-based `validateField`\n * inside the hook would read stale `values` (state is committed asynchronously).\n */\nconst computeFieldError = (\n value: string,\n fieldConfig: FormField | undefined,\n requiredMessage: string,\n): string | null => {\n if (fieldConfig?.required && (!value || value.trim() === '')) {\n return requiredMessage;\n }\n if (fieldConfig?.validator) {\n const fieldError: string | null = fieldConfig.validator(value);\n if (fieldError) return fieldError;\n }\n return null;\n};\n\n/**\n * Return type for the useForm hook\n */\nexport interface UseFormReturn<T extends Record<string, string>> {\n /**\n * Clear all errors\n */\n clearErrors: () => void;\n /**\n * Current validation errors\n */\n errors: Record<keyof T, string>;\n /**\n * Get field props for easy integration with form components\n */\n getFieldProps: (name: keyof T) => {\n error: string | undefined;\n name: keyof T;\n onBlur: () => void;\n onChange: (value: string) => void;\n required: boolean;\n touched: boolean;\n value: string;\n };\n /**\n * Handle form submission\n */\n handleSubmit: (onSubmit: (values: T) => void | Promise<void>) => (e?: FormEvent) => Promise<void>;\n /**\n * Whether the form has been submitted\n */\n isSubmitted: boolean;\n /**\n * Whether the form is currently valid\n */\n isValid: boolean;\n /**\n * Reset the form to initial values\n */\n reset: () => void;\n /**\n * Set a field error\n */\n setError: (name: keyof T, error: string) => void;\n /**\n * Set multiple field errors\n */\n setErrors: (errors: Partial<Record<keyof T, string>>) => void;\n /**\n * Mark a field as touched\n */\n setTouched: (name: keyof T, touched?: boolean) => void;\n /**\n * Mark multiple fields as touched\n */\n setTouchedFields: (touched: Partial<Record<keyof T, boolean>>) => void;\n /**\n * Set a single field value\n */\n setValue: (name: keyof T, value: string) => void;\n /**\n * Set multiple field values\n */\n setValues: (values: Partial<T>) => void;\n /**\n * Mark all fields as touched\n */\n touchAllFields: () => void;\n /**\n * Fields that have been touched by the user\n */\n touched: Record<keyof T, boolean>;\n /**\n * Validate a single field\n */\n validateField: (name: keyof T) => string | null;\n /**\n * Validate all fields\n */\n validateForm: () => ValidationResult;\n /**\n * Current form values\n */\n values: T;\n}\n\n/**\n * Generic form hook that provides comprehensive form state management and validation.\n *\n * @template T - The type of form values (must extend Record<string, string>)\n * @param config - Configuration options for the form\n * @returns Form state and methods\n *\n * @example\n * ```tsx\n * interface LoginForm {\n * username: string;\n * password: string;\n * }\n *\n * const {\n * values,\n * touched,\n * errors,\n * isValid,\n * setValue,\n * handleSubmit,\n * getFieldProps\n * } = useForm<LoginForm>({\n * initialValues: { username: '', password: '' },\n * fields: [\n * { name: 'username', required: true },\n * { name: 'password', required: true }\n * ]\n * });\n *\n * const onSubmit = handleSubmit((values) => {\n * console.log('Form submitted:', values);\n * });\n *\n * return (\n * <form onSubmit={onSubmit}>\n * <input {...getFieldProps('username')} />\n * <input {...getFieldProps('password')} type=\"password\" />\n * <button type=\"submit\" disabled={!isValid}>Submit</button>\n * </form>\n * );\n * ```\n */\nexport const useForm = <T extends Record<string, string>>(config: UseFormConfig<T> = {}): UseFormReturn<T> => {\n const {\n initialValues = {} as T,\n fields = [],\n validator,\n validateOnChange = false,\n validateOnBlur = true,\n revalidateOnChangeAfterBlur = false,\n requiredMessage = 'This field is required',\n } = config;\n\n // Initialize form state\n const [values, setFormValues] = useState<T>({...initialValues} as T);\n const [touched, setFormTouched] = useState<Record<keyof T, boolean>>({} as Record<keyof T, boolean>);\n const [errors, setFormErrors] = useState<Record<keyof T, string>>({} as Record<keyof T, string>);\n const [isSubmitted, setIsSubmitted] = useState(false);\n\n // Get field configuration by name\n const getFieldConfig: (name: keyof T) => FormField | undefined = useCallback(\n (name: keyof T): FormField | undefined => fields.find((field: FormField) => field.name === name),\n [fields],\n );\n\n // Validate a single field against currently-committed state. Used by the blur path\n // (where `values` is already up-to-date) and by `validateForm`.\n const validateField: (name: keyof T) => string | null = useCallback(\n (name: keyof T): string | null => {\n const value: string = values[name] || '';\n const fieldConfig: FormField | undefined = getFieldConfig(name);\n return computeFieldError(value, fieldConfig, requiredMessage);\n },\n [values, getFieldConfig, requiredMessage],\n );\n\n // Validate the entire form\n const validateForm: () => ValidationResult = useCallback((): ValidationResult => {\n const newErrors: Record<keyof T, string> = {} as Record<keyof T, string>;\n\n // Validate individual fields\n fields.forEach((field: FormField) => {\n const error: string | null = validateField(field.name as keyof T);\n if (error) {\n newErrors[field.name as keyof T] = error;\n }\n });\n\n // Run global validator if provided\n if (validator) {\n const globalErrors: Record<string, string> = validator(values);\n Object.keys(globalErrors).forEach((key: string) => {\n if (globalErrors[key]) {\n newErrors[key as keyof T] = globalErrors[key];\n }\n });\n }\n\n return {\n errors: newErrors,\n isValid: Object.keys(newErrors).length === 0,\n };\n }, [fields, validateField, validator, values]);\n\n // Check if form is currently valid\n const isValid: boolean = Object.keys(errors).length === 0;\n\n // Set a single field value.\n //\n // Validation policy:\n // - `validateOnChange: true` → validate on every keystroke.\n // - `revalidateOnChangeAfterBlur: true` → validate only if the field has\n // already been touched (blurred once),\n // so errors clear as the user corrects\n // without appearing while first typing.\n // - both false → no on-change validation.\n //\n // Validation runs against the NEXT value (the string being written) rather than\n // going through `validateField` which reads the stale closed-over `values`. This\n // prevents the one-keystroke-lag bug where the error clears one character late.\n const setValue: (name: keyof T, value: string) => void = useCallback(\n (name: keyof T, value: string): void => {\n setFormValues((prev: T) => ({\n ...prev,\n [name]: value,\n }));\n\n const shouldValidate: boolean = validateOnChange || (revalidateOnChangeAfterBlur && touched[name] === true);\n if (!shouldValidate) {\n return;\n }\n\n const error: string | null = computeFieldError(value, getFieldConfig(name), requiredMessage);\n setFormErrors((prev: Record<keyof T, string>) => {\n const newErrors: Record<keyof T, string> = {...prev};\n if (error) {\n newErrors[name] = error;\n } else {\n delete newErrors[name];\n }\n return newErrors;\n });\n },\n [validateOnChange, revalidateOnChangeAfterBlur, touched, getFieldConfig, requiredMessage],\n );\n\n // Set multiple field values\n const setValues: (newValues: Partial<T>) => void = useCallback((newValues: Partial<T>): void => {\n setFormValues((prev: T) => ({\n ...prev,\n ...newValues,\n }));\n }, []);\n\n // Mark a field as touched\n const setTouched: (name: keyof T, isTouched?: boolean) => void = useCallback(\n (name: keyof T, isTouched = true): void => {\n setFormTouched((prev: Record<keyof T, boolean>) => ({\n ...prev,\n [name]: isTouched,\n }));\n\n // Validate on blur if enabled and field is touched\n if (validateOnBlur && isTouched) {\n const error: string | null = validateField(name);\n setFormErrors((prev: Record<keyof T, string>) => {\n const newErrors: Record<keyof T, string> = {...prev};\n if (error) {\n newErrors[name] = error;\n } else {\n delete newErrors[name];\n }\n return newErrors;\n });\n }\n },\n [validateField, validateOnBlur],\n );\n\n // Set multiple touched fields\n const setTouchedFields: (touchedFields: Partial<Record<keyof T, boolean>>) => void = useCallback(\n (touchedFields: Partial<Record<keyof T, boolean>>): void => {\n setFormTouched((prev: Record<keyof T, boolean>) => ({\n ...prev,\n ...touchedFields,\n }));\n },\n [],\n );\n\n // Mark all fields as touched\n const touchAllFields: () => void = useCallback((): void => {\n const allTouched: Record<keyof T, boolean> = fields.reduce(\n (acc: Record<keyof T, boolean>, field: FormField) => {\n acc[field.name as keyof T] = true;\n return acc;\n },\n {} as Record<keyof T, boolean>,\n );\n\n setFormTouched(allTouched);\n\n // Validate all fields\n const validation: ValidationResult = validateForm();\n setFormErrors(validation.errors as Record<keyof T, string>);\n }, [fields, validateForm]);\n\n // Set a field error\n const setError: (name: keyof T, error: string) => void = useCallback((name: keyof T, error: string): void => {\n setFormErrors((prev: Record<keyof T, string>) => ({\n ...prev,\n [name]: error,\n }));\n }, []);\n\n // Set multiple field errors\n const setErrors: (newErrors: Partial<Record<keyof T, string>>) => void = useCallback(\n (newErrors: Partial<Record<keyof T, string>>): void => {\n setFormErrors((prev: Record<keyof T, string>) => ({\n ...prev,\n ...newErrors,\n }));\n },\n [],\n );\n\n // Clear all errors\n const clearErrors: () => void = useCallback((): void => {\n setFormErrors({} as Record<keyof T, string>);\n }, []);\n\n // Reset form to initial state\n const reset: () => void = useCallback((): void => {\n setFormValues({...initialValues} as T);\n setFormTouched({} as Record<keyof T, boolean>);\n setFormErrors({} as Record<keyof T, string>);\n setIsSubmitted(false);\n }, [initialValues]);\n\n // Handle form submission\n const handleSubmit: (onSubmit: (values: T) => void | Promise<void>) => (e?: FormEvent) => Promise<void> = useCallback(\n (onSubmit: (values: T) => void | Promise<void>) =>\n async (e?: FormEvent): Promise<void> => {\n if (e) {\n e.preventDefault();\n }\n\n setIsSubmitted(true);\n touchAllFields();\n\n const validation: ValidationResult = validateForm();\n\n if (validation.isValid) {\n await onSubmit(values);\n }\n },\n [values, touchAllFields, validateForm],\n );\n\n // Get field props for easy integration\n const getFieldProps: (name: keyof T) => any = useCallback(\n (name: keyof T) => {\n const fieldConfig: FormField | undefined = getFieldConfig(name);\n\n return {\n error: touched[name] ? errors[name] : undefined,\n name,\n onBlur: (): void => setTouched(name, true),\n onChange: (value: string): void => setValue(name, value),\n required: fieldConfig?.required || false,\n touched: touched[name] || false,\n value: values[name] || '',\n };\n },\n [values, errors, touched, setValue, setTouched, getFieldConfig],\n );\n\n return {\n clearErrors,\n errors,\n getFieldProps,\n handleSubmit,\n isSubmitted,\n isValid,\n reset,\n setError,\n setErrors,\n setTouched,\n setTouchedFields,\n setValue,\n setValues,\n touchAllFields,\n touched,\n validateField,\n validateForm,\n values,\n };\n};\n\nexport default useForm;\n"],"mappings":"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"}
@@ -1,20 +1,3 @@
1
- /**
2
- * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
3
- *
4
- * WSO2 LLC. licenses this file to you under the Apache License,
5
- * Version 2.0 (the "License"); you may not use this file except
6
- * in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing,
12
- * software distributed under the License is distributed on an
13
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- * KIND, either express or implied. See the License for the
15
- * specific language governing permissions and limitations
16
- * under the License.
17
- */
18
1
  import { type RefObject } from 'react';
19
2
  export interface UseOAuthCallbackOptions {
20
3
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useOAuthCallback.d.ts","sourceRoot":"","sources":["../../src/hooks/useOAuthCallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IAEvC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE/B;;OAEG;IACH,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1D;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAElC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C;;;OAGG;IACH,2BAA2B,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAeD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,kBAAkB,EAClB,qBAAgD,EAChD,aAAa,EACb,YAAoB,EACpB,UAAU,EACV,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,cAAc,EAAE,kBAAkB,EAClC,2BAA2B,GAC5B,EAAE,uBAAuB,GAAG,IAAI,CAiGhC"}
1
+ {"version":3,"file":"useOAuthCallback.d.ts","sourceRoot":"","sources":["../../src/hooks/useOAuthCallback.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IAEvC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE/B;;OAEG;IACH,QAAQ,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1D;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAElC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/C;;;OAGG;IACH,2BAA2B,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAeD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,kBAAkB,EAClB,qBAAgD,EAChD,aAAa,EACb,YAAoB,EACpB,UAAU,EACV,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,cAAc,EAAE,kBAAkB,EAClC,2BAA2B,GAC5B,EAAE,uBAAuB,GAAG,IAAI,CAiGhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOAuthCallback.js","names":["url: URL","internalRef: any","oauthCodeProcessedRef: any","urlParams: URLSearchParams","code: string | null","nonce: string | null","state: string | null","executionIdFromUrl: string | null","error: string | null","errorDescription: string | null","storedExecutionId: string | null","executionIdToUse: string | null","response: any"],"sources":["../../src/hooks/useOAuthCallback.ts"],"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 {useEffect, useRef, type RefObject} from 'react';\n\nexport interface UseOAuthCallbackOptions {\n /**\n * Current executionId from component state\n */\n currentExecutionId: string | null;\n\n /**\n * SessionStorage key for executionId (defaults to 'thunderid_execution_id')\n */\n executionIdStorageKey?: string;\n\n /**\n * Whether the component is initialized and ready to process OAuth callback\n */\n isInitialized: boolean;\n\n /**\n * Whether a submission is currently in progress\n */\n isSubmitting?: boolean;\n\n /**\n * Callback when OAuth flow completes successfully\n */\n onComplete?: () => void;\n\n /**\n * Callback when OAuth flow encounters an error\n */\n onError?: (error: any) => void;\n\n /**\n * Function to handle flow response after submission\n */\n onFlowChange?: (response: any) => void;\n\n /**\n * Callback to set loading state at the start of OAuth processing\n */\n onProcessingStart?: () => void;\n\n /**\n * Function to submit OAuth code to the server\n */\n onSubmit: (payload: OAuthCallbackPayload) => Promise<any>;\n\n /**\n * Optional external ref to track processed state. If provided, the component\n * manages the ref (allowing resets on flow clear/retry). Otherwise hook manages internally.\n */\n processedRef?: RefObject<boolean>;\n\n /**\n * Additional handler for setting state (e.g., setExecutionId)\n */\n setExecutionId?: (executionId: string) => void;\n\n /**\n * Ref to mark that token validation was attempted (prevents duplicate validation)\n * Used in AcceptInvite to coordinate between OAuth callback and token validation\n */\n tokenValidationAttemptedRef?: RefObject<boolean>;\n}\n\nexport interface OAuthCallbackPayload {\n executionId: string;\n inputs: {\n code: string;\n nonce?: string;\n };\n}\n\nfunction cleanupUrlParams(): void {\n if (typeof window === 'undefined') return;\n\n const url: URL = new URL(window.location.href);\n url.searchParams.delete('code');\n url.searchParams.delete('nonce');\n url.searchParams.delete('state');\n url.searchParams.delete('error');\n url.searchParams.delete('error_description');\n\n window.history.replaceState({}, '', url.toString());\n}\n\n/**\n * Processes OAuth callbacks by detecting auth code in URL, resolving executionId, and submitting to server.\n * Used by SignIn, SignUp, and AcceptInvite components.\n */\nexport function useOAuthCallback({\n currentExecutionId,\n executionIdStorageKey = 'thunderid_execution_id',\n isInitialized,\n isSubmitting = false,\n onComplete,\n onError,\n onFlowChange,\n onProcessingStart,\n onSubmit,\n processedRef,\n setExecutionId: setExecExecutionId,\n tokenValidationAttemptedRef,\n}: UseOAuthCallbackOptions): void {\n const internalRef: any = useRef(false);\n const oauthCodeProcessedRef: any = processedRef ?? internalRef;\n\n useEffect(() => {\n if (!isInitialized || isSubmitting) {\n return;\n }\n\n const urlParams: URLSearchParams = new URLSearchParams(window.location.search);\n const code: string | null = urlParams.get('code');\n const nonce: string | null = urlParams.get('nonce');\n const state: string | null = urlParams.get('state');\n const executionIdFromUrl: string | null = urlParams.get('executionId');\n const error: string | null = urlParams.get('error');\n const errorDescription: string | null = urlParams.get('error_description');\n\n if (error) {\n oauthCodeProcessedRef.current = true;\n if (tokenValidationAttemptedRef) {\n tokenValidationAttemptedRef.current = true;\n }\n onError?.(new Error(errorDescription || error || 'OAuth authentication failed'));\n cleanupUrlParams();\n return;\n }\n\n if (!code || oauthCodeProcessedRef.current) {\n return;\n }\n\n if (tokenValidationAttemptedRef?.current) {\n return;\n }\n\n const storedExecutionId: string | null = sessionStorage.getItem(executionIdStorageKey);\n const executionIdToUse: string | null =\n currentExecutionId || storedExecutionId || executionIdFromUrl || state || null;\n\n if (!executionIdToUse) {\n oauthCodeProcessedRef.current = true;\n onError?.(new Error('Invalid flow. Missing executionId.'));\n cleanupUrlParams();\n return;\n }\n\n oauthCodeProcessedRef.current = true;\n\n if (tokenValidationAttemptedRef) {\n tokenValidationAttemptedRef.current = true;\n }\n\n onProcessingStart?.();\n\n if (!currentExecutionId && setExecExecutionId) {\n setExecExecutionId(executionIdToUse);\n }\n\n (async (): Promise<void> => {\n try {\n const payload: OAuthCallbackPayload = {\n executionId: executionIdToUse,\n inputs: {\n code,\n ...(nonce && {nonce}),\n },\n };\n\n const response: any = await onSubmit(payload);\n\n onFlowChange?.(response);\n\n if (response?.flowStatus === 'COMPLETE' || response?.status === 'COMPLETE') {\n onComplete?.();\n }\n\n if (response?.flowStatus === 'ERROR' || response?.status === 'ERROR') {\n onError?.(response);\n }\n\n cleanupUrlParams();\n } catch (err) {\n onError?.(err);\n cleanupUrlParams();\n }\n })();\n }, [\n isInitialized,\n currentExecutionId,\n isSubmitting,\n onSubmit,\n onComplete,\n onError,\n onFlowChange,\n setExecExecutionId,\n executionIdStorageKey,\n ]);\n}\n"],"mappings":";;;AA4FA,SAAS,mBAAyB;AAChC,KAAI,OAAO,WAAW,YAAa;CAEnC,MAAMA,MAAW,IAAI,IAAI,OAAO,SAAS,KAAK;AAC9C,KAAI,aAAa,OAAO,OAAO;AAC/B,KAAI,aAAa,OAAO,QAAQ;AAChC,KAAI,aAAa,OAAO,QAAQ;AAChC,KAAI,aAAa,OAAO,QAAQ;AAChC,KAAI,aAAa,OAAO,oBAAoB;AAE5C,QAAO,QAAQ,aAAa,EAAE,EAAE,IAAI,IAAI,UAAU,CAAC;;;;;;AAOrD,SAAgB,iBAAiB,EAC/B,oBACA,wBAAwB,0BACxB,eACA,eAAe,OACf,YACA,SACA,cACA,mBACA,UACA,cACA,gBAAgB,oBAChB,+BACgC;CAChC,MAAMC,cAAmB,OAAO,MAAM;CACtC,MAAMC,wBAA6B,gBAAgB;AAEnD,iBAAgB;AACd,MAAI,CAAC,iBAAiB,aACpB;EAGF,MAAMC,YAA6B,IAAI,gBAAgB,OAAO,SAAS,OAAO;EAC9E,MAAMC,OAAsB,UAAU,IAAI,OAAO;EACjD,MAAMC,QAAuB,UAAU,IAAI,QAAQ;EACnD,MAAMC,QAAuB,UAAU,IAAI,QAAQ;EACnD,MAAMC,qBAAoC,UAAU,IAAI,cAAc;EACtE,MAAMC,QAAuB,UAAU,IAAI,QAAQ;EACnD,MAAMC,mBAAkC,UAAU,IAAI,oBAAoB;AAE1E,MAAI,OAAO;AACT,yBAAsB,UAAU;AAChC,OAAI,4BACF,6BAA4B,UAAU;AAExC,aAAU,IAAI,MAAM,oBAAoB,SAAS,8BAA8B,CAAC;AAChF,qBAAkB;AAClB;;AAGF,MAAI,CAAC,QAAQ,sBAAsB,QACjC;AAGF,MAAI,6BAA6B,QAC/B;EAGF,MAAMC,oBAAmC,eAAe,QAAQ,sBAAsB;EACtF,MAAMC,mBACJ,sBAAsB,qBAAqB,sBAAsB,SAAS;AAE5E,MAAI,CAAC,kBAAkB;AACrB,yBAAsB,UAAU;AAChC,6BAAU,IAAI,MAAM,qCAAqC,CAAC;AAC1D,qBAAkB;AAClB;;AAGF,wBAAsB,UAAU;AAEhC,MAAI,4BACF,6BAA4B,UAAU;AAGxC,uBAAqB;AAErB,MAAI,CAAC,sBAAsB,mBACzB,oBAAmB,iBAAiB;AAGtC,GAAC,YAA2B;AAC1B,OAAI;IASF,MAAMC,WAAgB,MAAM,SARU;KACpC,aAAa;KACb,QAAQ;MACN;MACA,GAAI,SAAS,EAAC,OAAM;MACrB;KACF,CAE4C;AAE7C,mBAAe,SAAS;AAExB,QAAI,UAAU,eAAe,cAAc,UAAU,WAAW,WAC9D,eAAc;AAGhB,QAAI,UAAU,eAAe,WAAW,UAAU,WAAW,QAC3D,WAAU,SAAS;AAGrB,sBAAkB;YACX,KAAK;AACZ,cAAU,IAAI;AACd,sBAAkB;;MAElB;IACH;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC"}
1
+ {"version":3,"file":"useOAuthCallback.js","names":["url: URL","internalRef: any","oauthCodeProcessedRef: any","urlParams: URLSearchParams","code: string | null","nonce: string | null","state: string | null","executionIdFromUrl: string | null","error: string | null","errorDescription: string | null","storedExecutionId: string | null","executionIdToUse: string | null","response: any"],"sources":["../../src/hooks/useOAuthCallback.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {useEffect, useRef, type RefObject} from 'react';\n\nexport interface UseOAuthCallbackOptions {\n /**\n * Current executionId from component state\n */\n currentExecutionId: string | null;\n\n /**\n * SessionStorage key for executionId (defaults to 'thunderid_execution_id')\n */\n executionIdStorageKey?: string;\n\n /**\n * Whether the component is initialized and ready to process OAuth callback\n */\n isInitialized: boolean;\n\n /**\n * Whether a submission is currently in progress\n */\n isSubmitting?: boolean;\n\n /**\n * Callback when OAuth flow completes successfully\n */\n onComplete?: () => void;\n\n /**\n * Callback when OAuth flow encounters an error\n */\n onError?: (error: any) => void;\n\n /**\n * Function to handle flow response after submission\n */\n onFlowChange?: (response: any) => void;\n\n /**\n * Callback to set loading state at the start of OAuth processing\n */\n onProcessingStart?: () => void;\n\n /**\n * Function to submit OAuth code to the server\n */\n onSubmit: (payload: OAuthCallbackPayload) => Promise<any>;\n\n /**\n * Optional external ref to track processed state. If provided, the component\n * manages the ref (allowing resets on flow clear/retry). Otherwise hook manages internally.\n */\n processedRef?: RefObject<boolean>;\n\n /**\n * Additional handler for setting state (e.g., setExecutionId)\n */\n setExecutionId?: (executionId: string) => void;\n\n /**\n * Ref to mark that token validation was attempted (prevents duplicate validation)\n * Used in AcceptInvite to coordinate between OAuth callback and token validation\n */\n tokenValidationAttemptedRef?: RefObject<boolean>;\n}\n\nexport interface OAuthCallbackPayload {\n executionId: string;\n inputs: {\n code: string;\n nonce?: string;\n };\n}\n\nfunction cleanupUrlParams(): void {\n if (typeof window === 'undefined') return;\n\n const url: URL = new URL(window.location.href);\n url.searchParams.delete('code');\n url.searchParams.delete('nonce');\n url.searchParams.delete('state');\n url.searchParams.delete('error');\n url.searchParams.delete('error_description');\n\n window.history.replaceState({}, '', url.toString());\n}\n\n/**\n * Processes OAuth callbacks by detecting auth code in URL, resolving executionId, and submitting to server.\n * Used by SignIn, SignUp, and AcceptInvite components.\n */\nexport function useOAuthCallback({\n currentExecutionId,\n executionIdStorageKey = 'thunderid_execution_id',\n isInitialized,\n isSubmitting = false,\n onComplete,\n onError,\n onFlowChange,\n onProcessingStart,\n onSubmit,\n processedRef,\n setExecutionId: setExecExecutionId,\n tokenValidationAttemptedRef,\n}: UseOAuthCallbackOptions): void {\n const internalRef: any = useRef(false);\n const oauthCodeProcessedRef: any = processedRef ?? internalRef;\n\n useEffect(() => {\n if (!isInitialized || isSubmitting) {\n return;\n }\n\n const urlParams: URLSearchParams = new URLSearchParams(window.location.search);\n const code: string | null = urlParams.get('code');\n const nonce: string | null = urlParams.get('nonce');\n const state: string | null = urlParams.get('state');\n const executionIdFromUrl: string | null = urlParams.get('executionId');\n const error: string | null = urlParams.get('error');\n const errorDescription: string | null = urlParams.get('error_description');\n\n if (error) {\n oauthCodeProcessedRef.current = true;\n if (tokenValidationAttemptedRef) {\n tokenValidationAttemptedRef.current = true;\n }\n onError?.(new Error(errorDescription || error || 'OAuth authentication failed'));\n cleanupUrlParams();\n return;\n }\n\n if (!code || oauthCodeProcessedRef.current) {\n return;\n }\n\n if (tokenValidationAttemptedRef?.current) {\n return;\n }\n\n const storedExecutionId: string | null = sessionStorage.getItem(executionIdStorageKey);\n const executionIdToUse: string | null =\n currentExecutionId || storedExecutionId || executionIdFromUrl || state || null;\n\n if (!executionIdToUse) {\n oauthCodeProcessedRef.current = true;\n onError?.(new Error('Invalid flow. Missing executionId.'));\n cleanupUrlParams();\n return;\n }\n\n oauthCodeProcessedRef.current = true;\n\n if (tokenValidationAttemptedRef) {\n tokenValidationAttemptedRef.current = true;\n }\n\n onProcessingStart?.();\n\n if (!currentExecutionId && setExecExecutionId) {\n setExecExecutionId(executionIdToUse);\n }\n\n (async (): Promise<void> => {\n try {\n const payload: OAuthCallbackPayload = {\n executionId: executionIdToUse,\n inputs: {\n code,\n ...(nonce && {nonce}),\n },\n };\n\n const response: any = await onSubmit(payload);\n\n onFlowChange?.(response);\n\n if (response?.flowStatus === 'COMPLETE' || response?.status === 'COMPLETE') {\n onComplete?.();\n }\n\n if (response?.flowStatus === 'ERROR' || response?.status === 'ERROR') {\n onError?.(response);\n }\n\n cleanupUrlParams();\n } catch (err) {\n onError?.(err);\n cleanupUrlParams();\n }\n })();\n }, [\n isInitialized,\n currentExecutionId,\n isSubmitting,\n onSubmit,\n onComplete,\n onError,\n onFlowChange,\n setExecExecutionId,\n executionIdStorageKey,\n ]);\n}\n"],"mappings":";;;AA6EA,SAAS,mBAAyB;AAChC,KAAI,OAAO,WAAW,YAAa;CAEnC,MAAMA,MAAW,IAAI,IAAI,OAAO,SAAS,KAAK;AAC9C,KAAI,aAAa,OAAO,OAAO;AAC/B,KAAI,aAAa,OAAO,QAAQ;AAChC,KAAI,aAAa,OAAO,QAAQ;AAChC,KAAI,aAAa,OAAO,QAAQ;AAChC,KAAI,aAAa,OAAO,oBAAoB;AAE5C,QAAO,QAAQ,aAAa,EAAE,EAAE,IAAI,IAAI,UAAU,CAAC;;;;;;AAOrD,SAAgB,iBAAiB,EAC/B,oBACA,wBAAwB,0BACxB,eACA,eAAe,OACf,YACA,SACA,cACA,mBACA,UACA,cACA,gBAAgB,oBAChB,+BACgC;CAChC,MAAMC,cAAmB,OAAO,MAAM;CACtC,MAAMC,wBAA6B,gBAAgB;AAEnD,iBAAgB;AACd,MAAI,CAAC,iBAAiB,aACpB;EAGF,MAAMC,YAA6B,IAAI,gBAAgB,OAAO,SAAS,OAAO;EAC9E,MAAMC,OAAsB,UAAU,IAAI,OAAO;EACjD,MAAMC,QAAuB,UAAU,IAAI,QAAQ;EACnD,MAAMC,QAAuB,UAAU,IAAI,QAAQ;EACnD,MAAMC,qBAAoC,UAAU,IAAI,cAAc;EACtE,MAAMC,QAAuB,UAAU,IAAI,QAAQ;EACnD,MAAMC,mBAAkC,UAAU,IAAI,oBAAoB;AAE1E,MAAI,OAAO;AACT,yBAAsB,UAAU;AAChC,OAAI,4BACF,6BAA4B,UAAU;AAExC,aAAU,IAAI,MAAM,oBAAoB,SAAS,8BAA8B,CAAC;AAChF,qBAAkB;AAClB;;AAGF,MAAI,CAAC,QAAQ,sBAAsB,QACjC;AAGF,MAAI,6BAA6B,QAC/B;EAGF,MAAMC,oBAAmC,eAAe,QAAQ,sBAAsB;EACtF,MAAMC,mBACJ,sBAAsB,qBAAqB,sBAAsB,SAAS;AAE5E,MAAI,CAAC,kBAAkB;AACrB,yBAAsB,UAAU;AAChC,6BAAU,IAAI,MAAM,qCAAqC,CAAC;AAC1D,qBAAkB;AAClB;;AAGF,wBAAsB,UAAU;AAEhC,MAAI,4BACF,6BAA4B,UAAU;AAGxC,uBAAqB;AAErB,MAAI,CAAC,sBAAsB,mBACzB,oBAAmB,iBAAiB;AAGtC,GAAC,YAA2B;AAC1B,OAAI;IASF,MAAMC,WAAgB,MAAM,SARU;KACpC,aAAa;KACb,QAAQ;MACN;MACA,GAAI,SAAS,EAAC,OAAM;MACrB;KACF,CAE4C;AAE7C,mBAAe,SAAS;AAExB,QAAI,UAAU,eAAe,cAAc,UAAU,WAAW,WAC9D,eAAc;AAGhB,QAAI,UAAU,eAAe,WAAW,UAAU,WAAW,QAC3D,WAAU,SAAS;AAGrB,sBAAkB;YACX,KAAK;AACZ,cAAU,IAAI;AACd,sBAAkB;;MAElB;IACH;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC"}
@@ -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 { I18nPreferences } from '@thunderid/browser';
19
2
  export interface UseTranslation {
20
3
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useTranslation.d.ts","sourceRoot":"","sources":["../../src/hooks/useTranslation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAEL,eAAe,EAKhB,MAAM,oBAAoB,CAAC;AAK5B,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAE7B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC;;OAEG;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;CACtE;AAED,MAAM,WAAW,6BAA8B,SAAQ,cAAc;IACnE;;OAEG;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;CACtE;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,cAAc,GAAI,uBAAuB,eAAe,KAAG,6BAoGhE,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"useTranslation.d.ts","sourceRoot":"","sources":["../../src/hooks/useTranslation.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,eAAe,EAKhB,MAAM,oBAAoB,CAAC;AAK5B,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAE7B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC;;OAEG;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;CACtE;AAED,MAAM,WAAW,6BAA8B,SAAQ,cAAc;IACnE;;OAEG;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;CACtE;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,cAAc,GAAI,uBAAuB,eAAe,KAAG,6BAoGhE,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTranslation.js","names":["context: any","I18nContext","contextPreferences: I18nPreferences | undefined","ComponentPreferencesContext","effectivePreferences: I18nPreferences | undefined","mergedBundles: Record<string, I18nBundle>","merged: Record<string, I18nBundle>","normalizedTranslations: I18nTranslations","enhancedT: (key: string, params?: Record<string, string | number>) => string","translation: string | undefined","currentBundle: I18nBundle | undefined","fallbackBundle: I18nBundle | undefined"],"sources":["../../src/hooks/useTranslation.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 deepMerge,\n I18nPreferences,\n Preferences,\n I18nBundle,\n I18nTranslations,\n normalizeTranslations,\n} from '@thunderid/browser';\nimport {useContext, useMemo} from 'react';\nimport ComponentPreferencesContext from '../contexts/I18n/ComponentPreferencesContext';\nimport I18nContext from '../contexts/I18n/I18nContext';\n\nexport interface UseTranslation {\n /**\n * All available language codes\n */\n availableLanguages: string[];\n\n /**\n * The current language code\n */\n currentLanguage: string;\n\n /**\n * Function to change the current language\n */\n setLanguage: (language: string) => void;\n\n /**\n * Translation function that returns a translated string for the given key\n */\n t: (key: string, params?: Record<string, string | number>) => string;\n}\n\nexport interface UseTranslationWithPreferences extends UseTranslation {\n /**\n * Enhanced translation function that merges component-level preferences\n */\n t: (key: string, params?: Record<string, string | number>) => string;\n}\n\n/**\n * Hook for accessing translation functions and language management.\n * Must be used within an I18nProvider context.\n *\n * @param componentPreferences - Optional component-level i18n preferences to merge with global ones\n * @returns An object containing translation function and language management utilities\n * @throws Error if used outside of I18nProvider context\n */\nconst useTranslation = (componentPreferences?: I18nPreferences): UseTranslationWithPreferences => {\n const context: any = useContext(I18nContext);\n const componentPrefs: Preferences | undefined = useContext(ComponentPreferencesContext);\n const contextPreferences: I18nPreferences | undefined = componentPrefs?.i18n;\n\n if (!context) {\n throw new Error(\n 'useTranslation must be used within an I18nProvider. Make sure your component is wrapped with ThunderIDProvider which includes I18nProvider.',\n );\n }\n\n // Direct parameter takes precedence over context-provided preferences\n const effectivePreferences: I18nPreferences | undefined = componentPreferences ?? contextPreferences;\n\n const {t: globalT, currentLanguage, setLanguage, bundles: globalBundles, fallbackLanguage} = context;\n\n // Merge global bundles with component-level bundles if provided\n const mergedBundles: Record<string, I18nBundle> = useMemo(() => {\n if (!effectivePreferences?.bundles) {\n return globalBundles;\n }\n\n const merged: Record<string, I18nBundle> = {};\n\n // Start with global bundles\n Object.entries(globalBundles).forEach(([key, bundle]: [string, I18nBundle]) => {\n merged[key] = bundle;\n });\n\n // Merge component-level bundles using deepMerge for better merging\n Object.entries(effectivePreferences.bundles).forEach(([key, componentBundle]: [string, I18nBundle]) => {\n const normalizedTranslations: I18nTranslations = normalizeTranslations(\n componentBundle.translations as unknown as Record<string, string | Record<string, string>>,\n );\n if (merged[key]) {\n // Deep merge component bundle with existing global bundle\n merged[key] = {\n ...merged[key],\n metadata: componentBundle.metadata\n ? {...merged[key].metadata, ...componentBundle.metadata}\n : merged[key].metadata,\n translations: deepMerge(merged[key].translations, normalizedTranslations),\n };\n } else {\n // No global bundle for this language, use component bundle as-is\n merged[key] = {...componentBundle, translations: normalizedTranslations};\n }\n });\n\n return merged;\n }, [globalBundles, effectivePreferences?.bundles]);\n\n // Create enhanced translation function that uses merged bundles\n const enhancedT: (key: string, params?: Record<string, string | number>) => string = useMemo(() => {\n if (!effectivePreferences?.bundles) {\n // No component preferences, use global translation function\n return globalT;\n }\n\n return (key: string, params?: Record<string, string | number>): string => {\n let translation: string | undefined;\n\n // Try to get translation from current language bundle\n const currentBundle: I18nBundle | undefined = mergedBundles[currentLanguage];\n if (currentBundle?.translations?.[key]) {\n translation = currentBundle.translations[key];\n }\n\n // Fallback to fallback language if translation not found\n if (!translation && currentLanguage !== fallbackLanguage) {\n const fallbackBundle: I18nBundle | undefined = mergedBundles[fallbackLanguage];\n if (fallbackBundle?.translations?.[key]) {\n translation = fallbackBundle.translations[key];\n }\n }\n\n // If still no translation found, return the key itself\n if (!translation) {\n translation = key;\n }\n\n // Replace parameters if provided\n if (params && Object.keys(params).length > 0) {\n return Object.entries(params).reduce(\n (acc: string, [paramKey, paramValue]: [string, string | number]) =>\n acc.replace(new RegExp(`\\\\{${paramKey}\\\\}`, 'g'), String(paramValue)),\n translation,\n );\n }\n\n return translation;\n };\n }, [mergedBundles, currentLanguage, fallbackLanguage, globalT, effectivePreferences?.bundles]);\n\n return {\n availableLanguages: Object.keys(mergedBundles),\n currentLanguage,\n setLanguage,\n t: enhancedT,\n };\n};\n\nexport default useTranslation;\n"],"mappings":";;;;;;;;;;;;;;AAmEA,MAAM,kBAAkB,yBAA0E;CAChG,MAAMA,UAAe,WAAWC,oBAAY;CAE5C,MAAMC,qBAD0C,WAAWC,oCAA4B,EACf;AAExE,KAAI,CAAC,QACH,OAAM,IAAI,MACR,8IACD;CAIH,MAAMC,uBAAoD,wBAAwB;CAElF,MAAM,EAAC,GAAG,SAAS,iBAAiB,aAAa,SAAS,eAAe,qBAAoB;CAG7F,MAAMC,gBAA4C,cAAc;AAC9D,MAAI,CAAC,sBAAsB,QACzB,QAAO;EAGT,MAAMC,SAAqC,EAAE;AAG7C,SAAO,QAAQ,cAAc,CAAC,SAAS,CAAC,KAAK,YAAkC;AAC7E,UAAO,OAAO;IACd;AAGF,SAAO,QAAQ,qBAAqB,QAAQ,CAAC,SAAS,CAAC,KAAK,qBAA2C;GACrG,MAAMC,yBAA2C,sBAC/C,gBAAgB,aACjB;AACD,OAAI,OAAO,KAET,QAAO,OAAO;IACZ,GAAG,OAAO;IACV,UAAU,gBAAgB,WACtB;KAAC,GAAG,OAAO,KAAK;KAAU,GAAG,gBAAgB;KAAS,GACtD,OAAO,KAAK;IAChB,cAAc,UAAU,OAAO,KAAK,cAAc,uBAAuB;IAC1E;OAGD,QAAO,OAAO;IAAC,GAAG;IAAiB,cAAc;IAAuB;IAE1E;AAEF,SAAO;IACN,CAAC,eAAe,sBAAsB,QAAQ,CAAC;CAGlD,MAAMC,YAA+E,cAAc;AACjG,MAAI,CAAC,sBAAsB,QAEzB,QAAO;AAGT,UAAQ,KAAa,WAAqD;GACxE,IAAIC;GAGJ,MAAMC,gBAAwC,cAAc;AAC5D,OAAI,eAAe,eAAe,KAChC,eAAc,cAAc,aAAa;AAI3C,OAAI,CAAC,eAAe,oBAAoB,kBAAkB;IACxD,MAAMC,iBAAyC,cAAc;AAC7D,QAAI,gBAAgB,eAAe,KACjC,eAAc,eAAe,aAAa;;AAK9C,OAAI,CAAC,YACH,eAAc;AAIhB,OAAI,UAAU,OAAO,KAAK,OAAO,CAAC,SAAS,EACzC,QAAO,OAAO,QAAQ,OAAO,CAAC,QAC3B,KAAa,CAAC,UAAU,gBACvB,IAAI,QAAQ,IAAI,OAAO,MAAM,SAAS,MAAM,IAAI,EAAE,OAAO,WAAW,CAAC,EACvE,YACD;AAGH,UAAO;;IAER;EAAC;EAAe;EAAiB;EAAkB;EAAS,sBAAsB;EAAQ,CAAC;AAE9F,QAAO;EACL,oBAAoB,OAAO,KAAK,cAAc;EAC9C;EACA;EACA,GAAG;EACJ;;AAGH,6BAAe"}
1
+ {"version":3,"file":"useTranslation.js","names":["context: any","I18nContext","contextPreferences: I18nPreferences | undefined","ComponentPreferencesContext","effectivePreferences: I18nPreferences | undefined","mergedBundles: Record<string, I18nBundle>","merged: Record<string, I18nBundle>","normalizedTranslations: I18nTranslations","enhancedT: (key: string, params?: Record<string, string | number>) => string","translation: string | undefined","currentBundle: I18nBundle | undefined","fallbackBundle: I18nBundle | undefined"],"sources":["../../src/hooks/useTranslation.ts"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n deepMerge,\n I18nPreferences,\n Preferences,\n I18nBundle,\n I18nTranslations,\n normalizeTranslations,\n} from '@thunderid/browser';\nimport {useContext, useMemo} from 'react';\nimport ComponentPreferencesContext from '../contexts/I18n/ComponentPreferencesContext';\nimport I18nContext from '../contexts/I18n/I18nContext';\n\nexport interface UseTranslation {\n /**\n * All available language codes\n */\n availableLanguages: string[];\n\n /**\n * The current language code\n */\n currentLanguage: string;\n\n /**\n * Function to change the current language\n */\n setLanguage: (language: string) => void;\n\n /**\n * Translation function that returns a translated string for the given key\n */\n t: (key: string, params?: Record<string, string | number>) => string;\n}\n\nexport interface UseTranslationWithPreferences extends UseTranslation {\n /**\n * Enhanced translation function that merges component-level preferences\n */\n t: (key: string, params?: Record<string, string | number>) => string;\n}\n\n/**\n * Hook for accessing translation functions and language management.\n * Must be used within an I18nProvider context.\n *\n * @param componentPreferences - Optional component-level i18n preferences to merge with global ones\n * @returns An object containing translation function and language management utilities\n * @throws Error if used outside of I18nProvider context\n */\nconst useTranslation = (componentPreferences?: I18nPreferences): UseTranslationWithPreferences => {\n const context: any = useContext(I18nContext);\n const componentPrefs: Preferences | undefined = useContext(ComponentPreferencesContext);\n const contextPreferences: I18nPreferences | undefined = componentPrefs?.i18n;\n\n if (!context) {\n throw new Error(\n 'useTranslation must be used within an I18nProvider. Make sure your component is wrapped with ThunderIDProvider which includes I18nProvider.',\n );\n }\n\n // Direct parameter takes precedence over context-provided preferences\n const effectivePreferences: I18nPreferences | undefined = componentPreferences ?? contextPreferences;\n\n const {t: globalT, currentLanguage, setLanguage, bundles: globalBundles, fallbackLanguage} = context;\n\n // Merge global bundles with component-level bundles if provided\n const mergedBundles: Record<string, I18nBundle> = useMemo(() => {\n if (!effectivePreferences?.bundles) {\n return globalBundles;\n }\n\n const merged: Record<string, I18nBundle> = {};\n\n // Start with global bundles\n Object.entries(globalBundles).forEach(([key, bundle]: [string, I18nBundle]) => {\n merged[key] = bundle;\n });\n\n // Merge component-level bundles using deepMerge for better merging\n Object.entries(effectivePreferences.bundles).forEach(([key, componentBundle]: [string, I18nBundle]) => {\n const normalizedTranslations: I18nTranslations = normalizeTranslations(\n componentBundle.translations as unknown as Record<string, string | Record<string, string>>,\n );\n if (merged[key]) {\n // Deep merge component bundle with existing global bundle\n merged[key] = {\n ...merged[key],\n metadata: componentBundle.metadata\n ? {...merged[key].metadata, ...componentBundle.metadata}\n : merged[key].metadata,\n translations: deepMerge(merged[key].translations, normalizedTranslations),\n };\n } else {\n // No global bundle for this language, use component bundle as-is\n merged[key] = {...componentBundle, translations: normalizedTranslations};\n }\n });\n\n return merged;\n }, [globalBundles, effectivePreferences?.bundles]);\n\n // Create enhanced translation function that uses merged bundles\n const enhancedT: (key: string, params?: Record<string, string | number>) => string = useMemo(() => {\n if (!effectivePreferences?.bundles) {\n // No component preferences, use global translation function\n return globalT;\n }\n\n return (key: string, params?: Record<string, string | number>): string => {\n let translation: string | undefined;\n\n // Try to get translation from current language bundle\n const currentBundle: I18nBundle | undefined = mergedBundles[currentLanguage];\n if (currentBundle?.translations?.[key]) {\n translation = currentBundle.translations[key];\n }\n\n // Fallback to fallback language if translation not found\n if (!translation && currentLanguage !== fallbackLanguage) {\n const fallbackBundle: I18nBundle | undefined = mergedBundles[fallbackLanguage];\n if (fallbackBundle?.translations?.[key]) {\n translation = fallbackBundle.translations[key];\n }\n }\n\n // If still no translation found, return the key itself\n if (!translation) {\n translation = key;\n }\n\n // Replace parameters if provided\n if (params && Object.keys(params).length > 0) {\n return Object.entries(params).reduce(\n (acc: string, [paramKey, paramValue]: [string, string | number]) =>\n acc.replace(new RegExp(`\\\\{${paramKey}\\\\}`, 'g'), String(paramValue)),\n translation,\n );\n }\n\n return translation;\n };\n }, [mergedBundles, currentLanguage, fallbackLanguage, globalT, effectivePreferences?.bundles]);\n\n return {\n availableLanguages: Object.keys(mergedBundles),\n currentLanguage,\n setLanguage,\n t: enhancedT,\n };\n};\n\nexport default useTranslation;\n"],"mappings":";;;;;;;;;;;;;;AAoDA,MAAM,kBAAkB,yBAA0E;CAChG,MAAMA,UAAe,WAAWC,oBAAY;CAE5C,MAAMC,qBAD0C,WAAWC,oCAA4B,EACf;AAExE,KAAI,CAAC,QACH,OAAM,IAAI,MACR,8IACD;CAIH,MAAMC,uBAAoD,wBAAwB;CAElF,MAAM,EAAC,GAAG,SAAS,iBAAiB,aAAa,SAAS,eAAe,qBAAoB;CAG7F,MAAMC,gBAA4C,cAAc;AAC9D,MAAI,CAAC,sBAAsB,QACzB,QAAO;EAGT,MAAMC,SAAqC,EAAE;AAG7C,SAAO,QAAQ,cAAc,CAAC,SAAS,CAAC,KAAK,YAAkC;AAC7E,UAAO,OAAO;IACd;AAGF,SAAO,QAAQ,qBAAqB,QAAQ,CAAC,SAAS,CAAC,KAAK,qBAA2C;GACrG,MAAMC,yBAA2C,sBAC/C,gBAAgB,aACjB;AACD,OAAI,OAAO,KAET,QAAO,OAAO;IACZ,GAAG,OAAO;IACV,UAAU,gBAAgB,WACtB;KAAC,GAAG,OAAO,KAAK;KAAU,GAAG,gBAAgB;KAAS,GACtD,OAAO,KAAK;IAChB,cAAc,UAAU,OAAO,KAAK,cAAc,uBAAuB;IAC1E;OAGD,QAAO,OAAO;IAAC,GAAG;IAAiB,cAAc;IAAuB;IAE1E;AAEF,SAAO;IACN,CAAC,eAAe,sBAAsB,QAAQ,CAAC;CAGlD,MAAMC,YAA+E,cAAc;AACjG,MAAI,CAAC,sBAAsB,QAEzB,QAAO;AAGT,UAAQ,KAAa,WAAqD;GACxE,IAAIC;GAGJ,MAAMC,gBAAwC,cAAc;AAC5D,OAAI,eAAe,eAAe,KAChC,eAAc,cAAc,aAAa;AAI3C,OAAI,CAAC,eAAe,oBAAoB,kBAAkB;IACxD,MAAMC,iBAAyC,cAAc;AAC7D,QAAI,gBAAgB,eAAe,KACjC,eAAc,eAAe,aAAa;;AAK9C,OAAI,CAAC,YACH,eAAc;AAIhB,OAAI,UAAU,OAAO,KAAK,OAAO,CAAC,SAAS,EACzC,QAAO,OAAO,QAAQ,OAAO,CAAC,QAC3B,KAAa,CAAC,UAAU,gBACvB,IAAI,QAAQ,IAAI,OAAO,MAAM,SAAS,MAAM,IAAI,EAAE,OAAO,WAAW,CAAC,EACvE,YACD;AAGH,UAAO;;IAER;EAAC;EAAe;EAAiB;EAAkB;EAAS,sBAAsB;EAAQ,CAAC;AAE9F,QAAO;EACL,oBAAoB,OAAO,KAAK,cAAc;EAC9C;EACA;EACA,GAAG;EACJ;;AAGH,6BAAe"}
package/dist/index.d.ts CHANGED
@@ -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
  export { default as ThunderIDProvider } from './contexts/ThunderID/ThunderIDProvider';
19
2
  export * from './contexts/ThunderID/ThunderIDProvider';
20
3
  export { default as ThunderIDContext } from './contexts/ThunderID/ThunderIDContext';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"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 { EmbeddedFlowComponent, WithPreferences } from '@thunderid/browser';
19
2
  /**
20
3
  * Props shared by all adapter components.
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/models/adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,qBAAqB,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,EAAE,qBAAqB,CAAC;IAEjC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAErD,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAElF;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEpC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;CACf"}
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/models/adapters.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,qBAAqB,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,SAAS,EAAE,qBAAqB,CAAC;IAEjC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAErD,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAElF;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEpC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;CACf"}
@@ -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 { ThunderIDBrowserConfig } from '@thunderid/browser';
19
2
  export type ThunderIDReactConfig = ThunderIDBrowserConfig;
20
3
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/models/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,sBAAsB,EAAC,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/models/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,sBAAsB,EAAC,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC"}
@@ -1,20 +1,3 @@
1
- /**
2
- * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
3
- *
4
- * WSO2 LLC. licenses this file to you under the Apache License,
5
- * Version 2.0 (the "License"); you may not use this file except
6
- * in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing,
12
- * software distributed under the License is distributed on an
13
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- * KIND, either express or implied. See the License for the
15
- * specific language governing permissions and limitations
16
- * under the License.
17
- */
18
1
  import { Theme } from '@thunderid/browser';
19
2
  /**
20
3
  * Writes all CSS custom properties from a resolved `Theme` onto the document root.
@@ -1 +1 @@
1
- {"version":3,"file":"applyThemeToDOM.d.ts","sourceRoot":"","sources":["../../src/utils/applyThemeToDOM.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAEzC;;;GAGG;AACH,QAAA,MAAM,eAAe,GAAI,OAAO,KAAK,KAAG,IAIvC,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"applyThemeToDOM.d.ts","sourceRoot":"","sources":["../../src/utils/applyThemeToDOM.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAEzC;;;GAGG;AACH,QAAA,MAAM,eAAe,GAAI,OAAO,KAAK,KAAG,IAIvC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"applyThemeToDOM.js","names":[],"sources":["../../src/utils/applyThemeToDOM.ts"],"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 {Theme} from '@thunderid/browser';\n\n/**\n * Writes all CSS custom properties from a resolved `Theme` onto the document root.\n * Called inside a `useEffect` whenever the active theme changes.\n */\nconst applyThemeToDOM = (theme: Theme): void => {\n Object.entries(theme.cssVariables).forEach(([key, value]: [string, string]) => {\n document.documentElement.style.setProperty(key, value);\n });\n};\n\nexport default applyThemeToDOM;\n"],"mappings":";;;;;AAwBA,MAAM,mBAAmB,UAAuB;AAC9C,QAAO,QAAQ,MAAM,aAAa,CAAC,SAAS,CAAC,KAAK,WAA6B;AAC7E,WAAS,gBAAgB,MAAM,YAAY,KAAK,MAAM;GACtD;;AAGJ,8BAAe"}
1
+ {"version":3,"file":"applyThemeToDOM.js","names":[],"sources":["../../src/utils/applyThemeToDOM.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Theme} from '@thunderid/browser';\n\n/**\n * Writes all CSS custom properties from a resolved `Theme` onto the document root.\n * Called inside a `useEffect` whenever the active theme changes.\n */\nconst applyThemeToDOM = (theme: Theme): void => {\n Object.entries(theme.cssVariables).forEach(([key, value]: [string, string]) => {\n document.documentElement.style.setProperty(key, value);\n });\n};\n\nexport default applyThemeToDOM;\n"],"mappings":";;;;;AASA,MAAM,mBAAmB,UAAuB;AAC9C,QAAO,QAAQ,MAAM,aAAa,CAAC,SAAS,CAAC,KAAK,WAA6B;AAC7E,WAAS,gBAAgB,MAAM,YAAY,KAAK,MAAM;GACtD;;AAGJ,8BAAe"}
@@ -1,20 +1,3 @@
1
- /**
2
- * Copyright (c) 2026, WSO2 LLC. (https://www.wso2.com).
3
- *
4
- * WSO2 LLC. licenses this file to you under the Apache License,
5
- * Version 2.0 (the "License"); you may not use this file except
6
- * in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing,
12
- * software distributed under the License is distributed on an
13
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- * KIND, either express or implied. See the License for the
15
- * specific language governing permissions and limitations
16
- * under the License.
17
- */
18
1
  import { FlowMetaTheme, RecursivePartial, ThemeConfig } from '@thunderid/browser';
19
2
  /**
20
3
  * Converts a v2 `FlowMetaTheme` into a `RecursivePartial<ThemeConfig>` that
@@ -1 +1 @@
1
- {"version":3,"file":"buildThemeConfigFromFlowMeta.d.ts","sourceRoot":"","sources":["../../src/utils/buildThemeConfigFromFlowMeta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,aAAa,EAEb,gBAAgB,EAChB,WAAW,EAEZ,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,4BAA4B,GAChC,eAAe,aAAa,EAC5B,aAAa,OAAO,GAAG,MAAM,KAC5B,gBAAgB,CAAC,WAAW,CA+C9B,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
1
+ {"version":3,"file":"buildThemeConfigFromFlowMeta.d.ts","sourceRoot":"","sources":["../../src/utils/buildThemeConfigFromFlowMeta.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAEb,gBAAgB,EAChB,WAAW,EAEZ,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,4BAA4B,GAChC,eAAe,aAAa,EAC5B,aAAa,OAAO,GAAG,MAAM,KAC5B,gBAAgB,CAAC,WAAW,CA+C9B,CAAC;AAEF,eAAe,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildThemeConfigFromFlowMeta.js","names":["scheme: FlowMetaThemeColorScheme | undefined","colors: RecursivePartial<ThemeConfig['colors']> | undefined","bg: RecursivePartial<ThemeConfig['colors']['background']>"],"sources":["../../src/utils/buildThemeConfigFromFlowMeta.ts"],"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 FlowMetaTheme,\n FlowMetaThemeColorScheme,\n RecursivePartial,\n ThemeConfig,\n normalizeBorderRadius,\n} from '@thunderid/browser';\n\n/**\n * Converts a v2 `FlowMetaTheme` into a `RecursivePartial<ThemeConfig>` that\n * `createTheme` can consume.\n *\n * Only fields explicitly present in the FlowMeta response are included so that\n * `createTheme` can deep-merge them onto its base (light/dark) defaults without\n * accidentally dropping sibling keys that were not returned by the server.\n *\n * For example, when FlowMeta returns only `background.default` and\n * `background.paper`, only `body.main` and `surface` are set — the base\n * theme's `background.disabled` and `background.dark` are **not** overridden\n * and therefore keep their default CSS variable values.\n */\nconst buildThemeConfigFromFlowMeta = (\n flowMetaTheme: FlowMetaTheme,\n colorScheme: 'light' | 'dark',\n): RecursivePartial<ThemeConfig> => {\n const scheme: FlowMetaThemeColorScheme | undefined = flowMetaTheme.colorSchemes?.[colorScheme];\n const borderRadiusConfig = normalizeBorderRadius(flowMetaTheme.shape?.borderRadius);\n\n // Build only the colors that the server actually provided.\n // Each nested object is constructed incrementally so that absent fields are\n // simply omitted rather than set to `undefined`, which would shadow the\n // base-theme defaults inside `createTheme`.\n let colors: RecursivePartial<ThemeConfig['colors']> | undefined;\n\n if (scheme?.palette) {\n colors = {};\n\n if (scheme.palette.primary) {\n colors.primary = scheme.palette.primary;\n }\n if (scheme.palette.secondary) {\n colors.secondary = scheme.palette.secondary;\n }\n if (scheme.palette.text) {\n colors.text = scheme.palette.text;\n }\n\n // Build background incrementally to avoid replacing the full base object.\n if (scheme.palette.background) {\n const bg: RecursivePartial<ThemeConfig['colors']['background']> = {};\n\n if (scheme.palette.background.default) {\n bg.body = {main: scheme.palette.background.default};\n }\n if (scheme.palette.background.paper) {\n bg.surface = scheme.palette.background.paper;\n }\n\n if (Object.keys(bg).length > 0) {\n colors.background = bg;\n }\n }\n }\n\n return {\n ...flowMetaTheme,\n ...(flowMetaTheme.direction ? {direction: flowMetaTheme.direction} : {}),\n ...(borderRadiusConfig ? {borderRadius: borderRadiusConfig} : {}),\n ...(colors && Object.keys(colors).length > 0 ? {colors} : {}),\n ...(flowMetaTheme.typography?.fontFamily ? {typography: {fontFamily: flowMetaTheme.typography.fontFamily}} : {}),\n };\n};\n\nexport default buildThemeConfigFromFlowMeta;\n"],"mappings":";;;;;;;;;;;;;;;;AAuCA,MAAM,gCACJ,eACA,gBACkC;CAClC,MAAMA,SAA+C,cAAc,eAAe;CAClF,MAAM,qBAAqB,sBAAsB,cAAc,OAAO,aAAa;CAMnF,IAAIC;AAEJ,KAAI,QAAQ,SAAS;AACnB,WAAS,EAAE;AAEX,MAAI,OAAO,QAAQ,QACjB,QAAO,UAAU,OAAO,QAAQ;AAElC,MAAI,OAAO,QAAQ,UACjB,QAAO,YAAY,OAAO,QAAQ;AAEpC,MAAI,OAAO,QAAQ,KACjB,QAAO,OAAO,OAAO,QAAQ;AAI/B,MAAI,OAAO,QAAQ,YAAY;GAC7B,MAAMC,KAA4D,EAAE;AAEpE,OAAI,OAAO,QAAQ,WAAW,QAC5B,IAAG,OAAO,EAAC,MAAM,OAAO,QAAQ,WAAW,SAAQ;AAErD,OAAI,OAAO,QAAQ,WAAW,MAC5B,IAAG,UAAU,OAAO,QAAQ,WAAW;AAGzC,OAAI,OAAO,KAAK,GAAG,CAAC,SAAS,EAC3B,QAAO,aAAa;;;AAK1B,QAAO;EACL,GAAG;EACH,GAAI,cAAc,YAAY,EAAC,WAAW,cAAc,WAAU,GAAG,EAAE;EACvE,GAAI,qBAAqB,EAAC,cAAc,oBAAmB,GAAG,EAAE;EAChE,GAAI,UAAU,OAAO,KAAK,OAAO,CAAC,SAAS,IAAI,EAAC,QAAO,GAAG,EAAE;EAC5D,GAAI,cAAc,YAAY,aAAa,EAAC,YAAY,EAAC,YAAY,cAAc,WAAW,YAAW,EAAC,GAAG,EAAE;EAChH;;AAGH,2CAAe"}
1
+ {"version":3,"file":"buildThemeConfigFromFlowMeta.js","names":["scheme: FlowMetaThemeColorScheme | undefined","colors: RecursivePartial<ThemeConfig['colors']> | undefined","bg: RecursivePartial<ThemeConfig['colors']['background']>"],"sources":["../../src/utils/buildThemeConfigFromFlowMeta.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n FlowMetaTheme,\n FlowMetaThemeColorScheme,\n RecursivePartial,\n ThemeConfig,\n normalizeBorderRadius,\n} from '@thunderid/browser';\n\n/**\n * Converts a v2 `FlowMetaTheme` into a `RecursivePartial<ThemeConfig>` that\n * `createTheme` can consume.\n *\n * Only fields explicitly present in the FlowMeta response are included so that\n * `createTheme` can deep-merge them onto its base (light/dark) defaults without\n * accidentally dropping sibling keys that were not returned by the server.\n *\n * For example, when FlowMeta returns only `background.default` and\n * `background.paper`, only `body.main` and `surface` are set — the base\n * theme's `background.disabled` and `background.dark` are **not** overridden\n * and therefore keep their default CSS variable values.\n */\nconst buildThemeConfigFromFlowMeta = (\n flowMetaTheme: FlowMetaTheme,\n colorScheme: 'light' | 'dark',\n): RecursivePartial<ThemeConfig> => {\n const scheme: FlowMetaThemeColorScheme | undefined = flowMetaTheme.colorSchemes?.[colorScheme];\n const borderRadiusConfig = normalizeBorderRadius(flowMetaTheme.shape?.borderRadius);\n\n // Build only the colors that the server actually provided.\n // Each nested object is constructed incrementally so that absent fields are\n // simply omitted rather than set to `undefined`, which would shadow the\n // base-theme defaults inside `createTheme`.\n let colors: RecursivePartial<ThemeConfig['colors']> | undefined;\n\n if (scheme?.palette) {\n colors = {};\n\n if (scheme.palette.primary) {\n colors.primary = scheme.palette.primary;\n }\n if (scheme.palette.secondary) {\n colors.secondary = scheme.palette.secondary;\n }\n if (scheme.palette.text) {\n colors.text = scheme.palette.text;\n }\n\n // Build background incrementally to avoid replacing the full base object.\n if (scheme.palette.background) {\n const bg: RecursivePartial<ThemeConfig['colors']['background']> = {};\n\n if (scheme.palette.background.default) {\n bg.body = {main: scheme.palette.background.default};\n }\n if (scheme.palette.background.paper) {\n bg.surface = scheme.palette.background.paper;\n }\n\n if (Object.keys(bg).length > 0) {\n colors.background = bg;\n }\n }\n }\n\n return {\n ...flowMetaTheme,\n ...(flowMetaTheme.direction ? {direction: flowMetaTheme.direction} : {}),\n ...(borderRadiusConfig ? {borderRadius: borderRadiusConfig} : {}),\n ...(colors && Object.keys(colors).length > 0 ? {colors} : {}),\n ...(flowMetaTheme.typography?.fontFamily ? {typography: {fontFamily: flowMetaTheme.typography.fontFamily}} : {}),\n };\n};\n\nexport default buildThemeConfigFromFlowMeta;\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,MAAM,gCACJ,eACA,gBACkC;CAClC,MAAMA,SAA+C,cAAc,eAAe;CAClF,MAAM,qBAAqB,sBAAsB,cAAc,OAAO,aAAa;CAMnF,IAAIC;AAEJ,KAAI,QAAQ,SAAS;AACnB,WAAS,EAAE;AAEX,MAAI,OAAO,QAAQ,QACjB,QAAO,UAAU,OAAO,QAAQ;AAElC,MAAI,OAAO,QAAQ,UACjB,QAAO,YAAY,OAAO,QAAQ;AAEpC,MAAI,OAAO,QAAQ,KACjB,QAAO,OAAO,OAAO,QAAQ;AAI/B,MAAI,OAAO,QAAQ,YAAY;GAC7B,MAAMC,KAA4D,EAAE;AAEpE,OAAI,OAAO,QAAQ,WAAW,QAC5B,IAAG,OAAO,EAAC,MAAM,OAAO,QAAQ,WAAW,SAAQ;AAErD,OAAI,OAAO,QAAQ,WAAW,MAC5B,IAAG,UAAU,OAAO,QAAQ,WAAW;AAGzC,OAAI,OAAO,KAAK,GAAG,CAAC,SAAS,EAC3B,QAAO,aAAa;;;AAK1B,QAAO;EACL,GAAG;EACH,GAAI,cAAc,YAAY,EAAC,WAAW,cAAc,WAAU,GAAG,EAAE;EACvE,GAAI,qBAAqB,EAAC,cAAc,oBAAmB,GAAG,EAAE;EAChE,GAAI,UAAU,OAAO,KAAK,OAAO,CAAC,SAAS,IAAI,EAAC,QAAO,GAAG,EAAE;EAC5D,GAAI,cAAc,YAAY,aAAa,EAAC,YAAY,EAAC,YAAY,cAAc,WAAW,YAAW,EAAC,GAAG,EAAE;EAChH;;AAGH,2CAAe"}