@contember/react-client-tenant 2.1.0-beta.2 → 2.2.0-alpha.2

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 (557) hide show
  1. package/dist/development/index.cjs +18 -0
  2. package/dist/development/index.cjs.map +1 -1
  3. package/dist/development/index.js +19 -1
  4. package/dist/development/index.js.map +1 -1
  5. package/dist/development/src/components/IdentityProvider.cjs.map +1 -1
  6. package/dist/development/src/components/IdentityProvider.js.map +1 -1
  7. package/dist/development/src/components/IdentityState.cjs.map +1 -1
  8. package/dist/development/src/components/IdentityState.js.map +1 -1
  9. package/dist/development/src/components/forms/ChangeMyPasswordForm.cjs.map +1 -1
  10. package/dist/development/src/components/forms/ChangeMyPasswordForm.js.map +1 -1
  11. package/dist/development/src/components/forms/ConfirmEmailChangeForm.cjs +52 -0
  12. package/dist/development/src/components/forms/ConfirmEmailChangeForm.cjs.map +1 -0
  13. package/dist/development/src/components/forms/ConfirmEmailChangeForm.js +52 -0
  14. package/dist/development/src/components/forms/ConfirmEmailChangeForm.js.map +1 -0
  15. package/dist/development/src/components/forms/CreateApiKeyForm.cjs.map +1 -1
  16. package/dist/development/src/components/forms/CreateApiKeyForm.js.map +1 -1
  17. package/dist/development/src/components/forms/CreateSessionTokenForm.cjs.map +1 -1
  18. package/dist/development/src/components/forms/CreateSessionTokenForm.js.map +1 -1
  19. package/dist/development/src/components/forms/InviteForm.cjs.map +1 -1
  20. package/dist/development/src/components/forms/InviteForm.js.map +1 -1
  21. package/dist/development/src/components/forms/LoginForm.cjs +3 -1
  22. package/dist/development/src/components/forms/LoginForm.cjs.map +1 -1
  23. package/dist/development/src/components/forms/LoginForm.js +3 -1
  24. package/dist/development/src/components/forms/LoginForm.js.map +1 -1
  25. package/dist/development/src/components/forms/OtpConfirmForm.cjs.map +1 -1
  26. package/dist/development/src/components/forms/OtpConfirmForm.js.map +1 -1
  27. package/dist/development/src/components/forms/OtpPrepareForm.cjs.map +1 -1
  28. package/dist/development/src/components/forms/OtpPrepareForm.js.map +1 -1
  29. package/dist/development/src/components/forms/PasswordResetForm.cjs.map +1 -1
  30. package/dist/development/src/components/forms/PasswordResetForm.js.map +1 -1
  31. package/dist/development/src/components/forms/PasswordResetRequestForm.cjs +3 -1
  32. package/dist/development/src/components/forms/PasswordResetRequestForm.cjs.map +1 -1
  33. package/dist/development/src/components/forms/PasswordResetRequestForm.js +3 -1
  34. package/dist/development/src/components/forms/PasswordResetRequestForm.js.map +1 -1
  35. package/dist/development/src/components/forms/PasswordlessSignInForm.cjs +2 -1
  36. package/dist/development/src/components/forms/PasswordlessSignInForm.cjs.map +1 -1
  37. package/dist/development/src/components/forms/PasswordlessSignInForm.js +2 -1
  38. package/dist/development/src/components/forms/PasswordlessSignInForm.js.map +1 -1
  39. package/dist/development/src/components/forms/PasswordlessSignInInitForm.cjs +3 -1
  40. package/dist/development/src/components/forms/PasswordlessSignInInitForm.cjs.map +1 -1
  41. package/dist/development/src/components/forms/PasswordlessSignInInitForm.js +3 -1
  42. package/dist/development/src/components/forms/PasswordlessSignInInitForm.js.map +1 -1
  43. package/dist/development/src/components/forms/RequestEmailVerificationForm.cjs +50 -0
  44. package/dist/development/src/components/forms/RequestEmailVerificationForm.cjs.map +1 -0
  45. package/dist/development/src/components/forms/RequestEmailVerificationForm.js +50 -0
  46. package/dist/development/src/components/forms/RequestEmailVerificationForm.js.map +1 -0
  47. package/dist/development/src/components/forms/TenantForm.cjs.map +1 -1
  48. package/dist/development/src/components/forms/TenantForm.js.map +1 -1
  49. package/dist/development/src/components/forms/UpdateProjectMemberForm.cjs.map +1 -1
  50. package/dist/development/src/components/forms/UpdateProjectMemberForm.js.map +1 -1
  51. package/dist/development/src/components/forms/VerifyEmailForm.cjs +50 -0
  52. package/dist/development/src/components/forms/VerifyEmailForm.cjs.map +1 -0
  53. package/dist/development/src/components/forms/VerifyEmailForm.js +50 -0
  54. package/dist/development/src/components/forms/VerifyEmailForm.js.map +1 -0
  55. package/dist/development/src/components/idp/IDP.cjs.map +1 -1
  56. package/dist/development/src/components/idp/IDP.js.map +1 -1
  57. package/dist/development/src/components/idp/IDPInitTrigger.cjs.map +1 -1
  58. package/dist/development/src/components/idp/IDPInitTrigger.js.map +1 -1
  59. package/dist/development/src/components/idp/IDPState.cjs.map +1 -1
  60. package/dist/development/src/components/idp/IDPState.js.map +1 -1
  61. package/dist/development/src/components/triggers/DisableOtpTrigger.cjs.map +1 -1
  62. package/dist/development/src/components/triggers/DisableOtpTrigger.js.map +1 -1
  63. package/dist/development/src/components/triggers/LogoutTrigger.cjs +3 -3
  64. package/dist/development/src/components/triggers/LogoutTrigger.cjs.map +1 -1
  65. package/dist/development/src/components/triggers/LogoutTrigger.js +3 -3
  66. package/dist/development/src/components/triggers/LogoutTrigger.js.map +1 -1
  67. package/dist/development/src/components/triggers/RemoveProjectMemberTrigger.cjs.map +1 -1
  68. package/dist/development/src/components/triggers/RemoveProjectMemberTrigger.js.map +1 -1
  69. package/dist/development/src/contexts.cjs.map +1 -1
  70. package/dist/development/src/contexts.js.map +1 -1
  71. package/dist/development/src/hooks/mutations/apiKey/useCreateApiKeyMutation.cjs.map +1 -1
  72. package/dist/development/src/hooks/mutations/apiKey/useCreateApiKeyMutation.js.map +1 -1
  73. package/dist/development/src/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.cjs.map +1 -1
  74. package/dist/development/src/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.js.map +1 -1
  75. package/dist/development/src/hooks/mutations/apiKey/useCreateSessionTokenMutation.cjs.map +1 -1
  76. package/dist/development/src/hooks/mutations/apiKey/useCreateSessionTokenMutation.js.map +1 -1
  77. package/dist/development/src/hooks/mutations/apiKey/useDisableApiKeyMutation.cjs.map +1 -1
  78. package/dist/development/src/hooks/mutations/apiKey/useDisableApiKeyMutation.js.map +1 -1
  79. package/dist/development/src/hooks/mutations/auth/useChangeMyPasswordMutation.cjs.map +1 -1
  80. package/dist/development/src/hooks/mutations/auth/useChangeMyPasswordMutation.js.map +1 -1
  81. package/dist/development/src/hooks/mutations/auth/useSignInMutation.cjs.map +1 -1
  82. package/dist/development/src/hooks/mutations/auth/useSignInMutation.js.map +1 -1
  83. package/dist/development/src/hooks/mutations/auth/useSignOutMutation.cjs.map +1 -1
  84. package/dist/development/src/hooks/mutations/auth/useSignOutMutation.js.map +1 -1
  85. package/dist/development/src/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.cjs +32 -0
  86. package/dist/development/src/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.cjs.map +1 -0
  87. package/dist/development/src/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.js +15 -0
  88. package/dist/development/src/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.js.map +1 -0
  89. package/dist/development/src/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.cjs +32 -0
  90. package/dist/development/src/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.cjs.map +1 -0
  91. package/dist/development/src/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.js +15 -0
  92. package/dist/development/src/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.js.map +1 -0
  93. package/dist/development/src/hooks/mutations/emailVerification/useVerifyEmailMutation.cjs +32 -0
  94. package/dist/development/src/hooks/mutations/emailVerification/useVerifyEmailMutation.cjs.map +1 -0
  95. package/dist/development/src/hooks/mutations/emailVerification/useVerifyEmailMutation.js +15 -0
  96. package/dist/development/src/hooks/mutations/emailVerification/useVerifyEmailMutation.js.map +1 -0
  97. package/dist/development/src/hooks/mutations/idp/useInitSignInIDPMutation.cjs.map +1 -1
  98. package/dist/development/src/hooks/mutations/idp/useInitSignInIDPMutation.js.map +1 -1
  99. package/dist/development/src/hooks/mutations/idp/useSignInIdpMutation.cjs.map +1 -1
  100. package/dist/development/src/hooks/mutations/idp/useSignInIdpMutation.js.map +1 -1
  101. package/dist/development/src/hooks/mutations/invite/useInviteMutation.cjs.map +1 -1
  102. package/dist/development/src/hooks/mutations/invite/useInviteMutation.js.map +1 -1
  103. package/dist/development/src/hooks/mutations/memberships/useAddProjectMemberMutation.cjs.map +1 -1
  104. package/dist/development/src/hooks/mutations/memberships/useAddProjectMemberMutation.js.map +1 -1
  105. package/dist/development/src/hooks/mutations/memberships/useRemoveProjectMemberMutation.cjs.map +1 -1
  106. package/dist/development/src/hooks/mutations/memberships/useRemoveProjectMemberMutation.js.map +1 -1
  107. package/dist/development/src/hooks/mutations/memberships/useUpdateProjectMemberMutation.cjs.map +1 -1
  108. package/dist/development/src/hooks/mutations/memberships/useUpdateProjectMemberMutation.js.map +1 -1
  109. package/dist/development/src/hooks/mutations/otp/useConfirmOtpMutation.cjs.map +1 -1
  110. package/dist/development/src/hooks/mutations/otp/useConfirmOtpMutation.js.map +1 -1
  111. package/dist/development/src/hooks/mutations/otp/useDisableOtpMutation.cjs.map +1 -1
  112. package/dist/development/src/hooks/mutations/otp/useDisableOtpMutation.js.map +1 -1
  113. package/dist/development/src/hooks/mutations/otp/usePrepareOtpMutation.cjs.map +1 -1
  114. package/dist/development/src/hooks/mutations/otp/usePrepareOtpMutation.js.map +1 -1
  115. package/dist/development/src/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.cjs.map +1 -1
  116. package/dist/development/src/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.js.map +1 -1
  117. package/dist/development/src/hooks/mutations/passwordReset/useResetPasswordMutation.cjs.map +1 -1
  118. package/dist/development/src/hooks/mutations/passwordReset/useResetPasswordMutation.js.map +1 -1
  119. package/dist/development/src/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.cjs.map +1 -1
  120. package/dist/development/src/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.js.map +1 -1
  121. package/dist/development/src/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.cjs.map +1 -1
  122. package/dist/development/src/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.js.map +1 -1
  123. package/dist/development/src/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.cjs.map +1 -1
  124. package/dist/development/src/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.js.map +1 -1
  125. package/dist/development/src/hooks/mutations/passwordless/useInitSignInPasswordlessMutation.cjs.map +1 -1
  126. package/dist/development/src/hooks/mutations/passwordless/useInitSignInPasswordlessMutation.js.map +1 -1
  127. package/dist/development/src/hooks/mutations/passwordless/useSignInPasswordlessMutation.cjs.map +1 -1
  128. package/dist/development/src/hooks/mutations/passwordless/useSignInPasswordlessMutation.js.map +1 -1
  129. package/dist/development/src/hooks/mutations/profile/useChangeMyProfile.cjs.map +1 -1
  130. package/dist/development/src/hooks/mutations/profile/useChangeMyProfile.js.map +1 -1
  131. package/dist/development/src/hooks/mutations/profile/useChangeProfile.cjs.map +1 -1
  132. package/dist/development/src/hooks/mutations/profile/useChangeProfile.js.map +1 -1
  133. package/dist/development/src/hooks/queries/useMeQuery.cjs.map +1 -1
  134. package/dist/development/src/hooks/queries/useMeQuery.js.map +1 -1
  135. package/dist/development/src/hooks/queries/useProjectMembersQuery.cjs.map +1 -1
  136. package/dist/development/src/hooks/queries/useProjectMembersQuery.js.map +1 -1
  137. package/dist/development/src/hooks/queries/useProjectMembershipsQuery.cjs.map +1 -1
  138. package/dist/development/src/hooks/queries/useProjectMembershipsQuery.js.map +1 -1
  139. package/dist/development/src/hooks/queries/useProjectRolesDefinitionQuery.cjs.map +1 -1
  140. package/dist/development/src/hooks/queries/useProjectRolesDefinitionQuery.js.map +1 -1
  141. package/dist/development/src/hooks/useFetchIdentity.cjs.map +1 -1
  142. package/dist/development/src/hooks/useFetchIdentity.js.map +1 -1
  143. package/dist/development/src/hooks/useLogout.cjs.map +1 -1
  144. package/dist/development/src/hooks/useLogout.js.map +1 -1
  145. package/dist/development/src/hooks/usePasswordlessOtpActivator.cjs.map +1 -1
  146. package/dist/development/src/hooks/usePasswordlessOtpActivator.js.map +1 -1
  147. package/dist/development/src/hooks/useTenantMutation.cjs.map +1 -1
  148. package/dist/development/src/hooks/useTenantMutation.js.map +1 -1
  149. package/dist/development/src/internal/hooks/useHandleIDPResponse.cjs.map +1 -1
  150. package/dist/development/src/internal/hooks/useHandleIDPResponse.js.map +1 -1
  151. package/dist/development/src/internal/hooks/useInitIDPRedirect.cjs.map +1 -1
  152. package/dist/development/src/internal/hooks/useInitIDPRedirect.js.map +1 -1
  153. package/dist/development/src/internal/hooks/useLogoutInternal.cjs +12 -7
  154. package/dist/development/src/internal/hooks/useLogoutInternal.cjs.map +1 -1
  155. package/dist/development/src/internal/hooks/useLogoutInternal.js +13 -8
  156. package/dist/development/src/internal/hooks/useLogoutInternal.js.map +1 -1
  157. package/dist/development/src/internal/hooks/useRedirectToBacklink.cjs.map +1 -1
  158. package/dist/development/src/internal/hooks/useRedirectToBacklink.js.map +1 -1
  159. package/dist/production/index.cjs +18 -0
  160. package/dist/production/index.cjs.map +1 -1
  161. package/dist/production/index.js +19 -1
  162. package/dist/production/index.js.map +1 -1
  163. package/dist/production/src/components/IdentityProvider.cjs.map +1 -1
  164. package/dist/production/src/components/IdentityProvider.js.map +1 -1
  165. package/dist/production/src/components/IdentityState.cjs.map +1 -1
  166. package/dist/production/src/components/IdentityState.js.map +1 -1
  167. package/dist/production/src/components/forms/ChangeMyPasswordForm.cjs.map +1 -1
  168. package/dist/production/src/components/forms/ChangeMyPasswordForm.js.map +1 -1
  169. package/dist/production/src/components/forms/ConfirmEmailChangeForm.cjs +44 -0
  170. package/dist/production/src/components/forms/ConfirmEmailChangeForm.cjs.map +1 -0
  171. package/dist/production/src/components/forms/ConfirmEmailChangeForm.js +44 -0
  172. package/dist/production/src/components/forms/ConfirmEmailChangeForm.js.map +1 -0
  173. package/dist/production/src/components/forms/CreateApiKeyForm.cjs.map +1 -1
  174. package/dist/production/src/components/forms/CreateApiKeyForm.js.map +1 -1
  175. package/dist/production/src/components/forms/CreateSessionTokenForm.cjs.map +1 -1
  176. package/dist/production/src/components/forms/CreateSessionTokenForm.js.map +1 -1
  177. package/dist/production/src/components/forms/InviteForm.cjs.map +1 -1
  178. package/dist/production/src/components/forms/InviteForm.js.map +1 -1
  179. package/dist/production/src/components/forms/LoginForm.cjs +3 -1
  180. package/dist/production/src/components/forms/LoginForm.cjs.map +1 -1
  181. package/dist/production/src/components/forms/LoginForm.js +3 -1
  182. package/dist/production/src/components/forms/LoginForm.js.map +1 -1
  183. package/dist/production/src/components/forms/OtpConfirmForm.cjs.map +1 -1
  184. package/dist/production/src/components/forms/OtpConfirmForm.js.map +1 -1
  185. package/dist/production/src/components/forms/OtpPrepareForm.cjs.map +1 -1
  186. package/dist/production/src/components/forms/OtpPrepareForm.js.map +1 -1
  187. package/dist/production/src/components/forms/PasswordResetForm.cjs.map +1 -1
  188. package/dist/production/src/components/forms/PasswordResetForm.js.map +1 -1
  189. package/dist/production/src/components/forms/PasswordResetRequestForm.cjs +3 -1
  190. package/dist/production/src/components/forms/PasswordResetRequestForm.cjs.map +1 -1
  191. package/dist/production/src/components/forms/PasswordResetRequestForm.js +3 -1
  192. package/dist/production/src/components/forms/PasswordResetRequestForm.js.map +1 -1
  193. package/dist/production/src/components/forms/PasswordlessSignInForm.cjs +2 -1
  194. package/dist/production/src/components/forms/PasswordlessSignInForm.cjs.map +1 -1
  195. package/dist/production/src/components/forms/PasswordlessSignInForm.js +2 -1
  196. package/dist/production/src/components/forms/PasswordlessSignInForm.js.map +1 -1
  197. package/dist/production/src/components/forms/PasswordlessSignInInitForm.cjs +3 -1
  198. package/dist/production/src/components/forms/PasswordlessSignInInitForm.cjs.map +1 -1
  199. package/dist/production/src/components/forms/PasswordlessSignInInitForm.js +3 -1
  200. package/dist/production/src/components/forms/PasswordlessSignInInitForm.js.map +1 -1
  201. package/dist/production/src/components/forms/RequestEmailVerificationForm.cjs +42 -0
  202. package/dist/production/src/components/forms/RequestEmailVerificationForm.cjs.map +1 -0
  203. package/dist/production/src/components/forms/RequestEmailVerificationForm.js +42 -0
  204. package/dist/production/src/components/forms/RequestEmailVerificationForm.js.map +1 -0
  205. package/dist/production/src/components/forms/TenantForm.cjs.map +1 -1
  206. package/dist/production/src/components/forms/TenantForm.js.map +1 -1
  207. package/dist/production/src/components/forms/UpdateProjectMemberForm.cjs.map +1 -1
  208. package/dist/production/src/components/forms/UpdateProjectMemberForm.js.map +1 -1
  209. package/dist/production/src/components/forms/VerifyEmailForm.cjs +42 -0
  210. package/dist/production/src/components/forms/VerifyEmailForm.cjs.map +1 -0
  211. package/dist/production/src/components/forms/VerifyEmailForm.js +42 -0
  212. package/dist/production/src/components/forms/VerifyEmailForm.js.map +1 -0
  213. package/dist/production/src/components/idp/IDP.cjs.map +1 -1
  214. package/dist/production/src/components/idp/IDP.js.map +1 -1
  215. package/dist/production/src/components/idp/IDPInitTrigger.cjs.map +1 -1
  216. package/dist/production/src/components/idp/IDPInitTrigger.js.map +1 -1
  217. package/dist/production/src/components/idp/IDPState.cjs.map +1 -1
  218. package/dist/production/src/components/idp/IDPState.js.map +1 -1
  219. package/dist/production/src/components/triggers/DisableOtpTrigger.cjs.map +1 -1
  220. package/dist/production/src/components/triggers/DisableOtpTrigger.js.map +1 -1
  221. package/dist/production/src/components/triggers/LogoutTrigger.cjs +2 -2
  222. package/dist/production/src/components/triggers/LogoutTrigger.cjs.map +1 -1
  223. package/dist/production/src/components/triggers/LogoutTrigger.js +2 -2
  224. package/dist/production/src/components/triggers/LogoutTrigger.js.map +1 -1
  225. package/dist/production/src/components/triggers/RemoveProjectMemberTrigger.cjs.map +1 -1
  226. package/dist/production/src/components/triggers/RemoveProjectMemberTrigger.js.map +1 -1
  227. package/dist/production/src/contexts.cjs.map +1 -1
  228. package/dist/production/src/contexts.js.map +1 -1
  229. package/dist/production/src/hooks/mutations/apiKey/useCreateApiKeyMutation.cjs.map +1 -1
  230. package/dist/production/src/hooks/mutations/apiKey/useCreateApiKeyMutation.js.map +1 -1
  231. package/dist/production/src/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.cjs.map +1 -1
  232. package/dist/production/src/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.js.map +1 -1
  233. package/dist/production/src/hooks/mutations/apiKey/useCreateSessionTokenMutation.cjs.map +1 -1
  234. package/dist/production/src/hooks/mutations/apiKey/useCreateSessionTokenMutation.js.map +1 -1
  235. package/dist/production/src/hooks/mutations/apiKey/useDisableApiKeyMutation.cjs.map +1 -1
  236. package/dist/production/src/hooks/mutations/apiKey/useDisableApiKeyMutation.js.map +1 -1
  237. package/dist/production/src/hooks/mutations/auth/useChangeMyPasswordMutation.cjs.map +1 -1
  238. package/dist/production/src/hooks/mutations/auth/useChangeMyPasswordMutation.js.map +1 -1
  239. package/dist/production/src/hooks/mutations/auth/useSignInMutation.cjs.map +1 -1
  240. package/dist/production/src/hooks/mutations/auth/useSignInMutation.js.map +1 -1
  241. package/dist/production/src/hooks/mutations/auth/useSignOutMutation.cjs.map +1 -1
  242. package/dist/production/src/hooks/mutations/auth/useSignOutMutation.js.map +1 -1
  243. package/dist/production/src/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.cjs +32 -0
  244. package/dist/production/src/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.cjs.map +1 -0
  245. package/dist/production/src/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.js +15 -0
  246. package/dist/production/src/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.js.map +1 -0
  247. package/dist/production/src/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.cjs +32 -0
  248. package/dist/production/src/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.cjs.map +1 -0
  249. package/dist/production/src/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.js +15 -0
  250. package/dist/production/src/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.js.map +1 -0
  251. package/dist/production/src/hooks/mutations/emailVerification/useVerifyEmailMutation.cjs +32 -0
  252. package/dist/production/src/hooks/mutations/emailVerification/useVerifyEmailMutation.cjs.map +1 -0
  253. package/dist/production/src/hooks/mutations/emailVerification/useVerifyEmailMutation.js +15 -0
  254. package/dist/production/src/hooks/mutations/emailVerification/useVerifyEmailMutation.js.map +1 -0
  255. package/dist/production/src/hooks/mutations/idp/useInitSignInIDPMutation.cjs.map +1 -1
  256. package/dist/production/src/hooks/mutations/idp/useInitSignInIDPMutation.js.map +1 -1
  257. package/dist/production/src/hooks/mutations/idp/useSignInIdpMutation.cjs.map +1 -1
  258. package/dist/production/src/hooks/mutations/idp/useSignInIdpMutation.js.map +1 -1
  259. package/dist/production/src/hooks/mutations/invite/useInviteMutation.cjs.map +1 -1
  260. package/dist/production/src/hooks/mutations/invite/useInviteMutation.js.map +1 -1
  261. package/dist/production/src/hooks/mutations/memberships/useAddProjectMemberMutation.cjs.map +1 -1
  262. package/dist/production/src/hooks/mutations/memberships/useAddProjectMemberMutation.js.map +1 -1
  263. package/dist/production/src/hooks/mutations/memberships/useRemoveProjectMemberMutation.cjs.map +1 -1
  264. package/dist/production/src/hooks/mutations/memberships/useRemoveProjectMemberMutation.js.map +1 -1
  265. package/dist/production/src/hooks/mutations/memberships/useUpdateProjectMemberMutation.cjs.map +1 -1
  266. package/dist/production/src/hooks/mutations/memberships/useUpdateProjectMemberMutation.js.map +1 -1
  267. package/dist/production/src/hooks/mutations/otp/useConfirmOtpMutation.cjs.map +1 -1
  268. package/dist/production/src/hooks/mutations/otp/useConfirmOtpMutation.js.map +1 -1
  269. package/dist/production/src/hooks/mutations/otp/useDisableOtpMutation.cjs.map +1 -1
  270. package/dist/production/src/hooks/mutations/otp/useDisableOtpMutation.js.map +1 -1
  271. package/dist/production/src/hooks/mutations/otp/usePrepareOtpMutation.cjs.map +1 -1
  272. package/dist/production/src/hooks/mutations/otp/usePrepareOtpMutation.js.map +1 -1
  273. package/dist/production/src/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.cjs.map +1 -1
  274. package/dist/production/src/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.js.map +1 -1
  275. package/dist/production/src/hooks/mutations/passwordReset/useResetPasswordMutation.cjs.map +1 -1
  276. package/dist/production/src/hooks/mutations/passwordReset/useResetPasswordMutation.js.map +1 -1
  277. package/dist/production/src/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.cjs.map +1 -1
  278. package/dist/production/src/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.js.map +1 -1
  279. package/dist/production/src/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.cjs.map +1 -1
  280. package/dist/production/src/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.js.map +1 -1
  281. package/dist/production/src/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.cjs.map +1 -1
  282. package/dist/production/src/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.js.map +1 -1
  283. package/dist/production/src/hooks/mutations/passwordless/useInitSignInPasswordlessMutation.cjs.map +1 -1
  284. package/dist/production/src/hooks/mutations/passwordless/useInitSignInPasswordlessMutation.js.map +1 -1
  285. package/dist/production/src/hooks/mutations/passwordless/useSignInPasswordlessMutation.cjs.map +1 -1
  286. package/dist/production/src/hooks/mutations/passwordless/useSignInPasswordlessMutation.js.map +1 -1
  287. package/dist/production/src/hooks/mutations/profile/useChangeMyProfile.cjs.map +1 -1
  288. package/dist/production/src/hooks/mutations/profile/useChangeMyProfile.js.map +1 -1
  289. package/dist/production/src/hooks/mutations/profile/useChangeProfile.cjs.map +1 -1
  290. package/dist/production/src/hooks/mutations/profile/useChangeProfile.js.map +1 -1
  291. package/dist/production/src/hooks/queries/useMeQuery.cjs.map +1 -1
  292. package/dist/production/src/hooks/queries/useMeQuery.js.map +1 -1
  293. package/dist/production/src/hooks/queries/useProjectMembersQuery.cjs.map +1 -1
  294. package/dist/production/src/hooks/queries/useProjectMembersQuery.js.map +1 -1
  295. package/dist/production/src/hooks/queries/useProjectMembershipsQuery.cjs.map +1 -1
  296. package/dist/production/src/hooks/queries/useProjectMembershipsQuery.js.map +1 -1
  297. package/dist/production/src/hooks/queries/useProjectRolesDefinitionQuery.cjs.map +1 -1
  298. package/dist/production/src/hooks/queries/useProjectRolesDefinitionQuery.js.map +1 -1
  299. package/dist/production/src/hooks/useFetchIdentity.cjs.map +1 -1
  300. package/dist/production/src/hooks/useFetchIdentity.js.map +1 -1
  301. package/dist/production/src/hooks/useLogout.cjs.map +1 -1
  302. package/dist/production/src/hooks/useLogout.js.map +1 -1
  303. package/dist/production/src/hooks/usePasswordlessOtpActivator.cjs.map +1 -1
  304. package/dist/production/src/hooks/usePasswordlessOtpActivator.js.map +1 -1
  305. package/dist/production/src/hooks/useTenantMutation.cjs.map +1 -1
  306. package/dist/production/src/hooks/useTenantMutation.js.map +1 -1
  307. package/dist/production/src/internal/hooks/useHandleIDPResponse.cjs.map +1 -1
  308. package/dist/production/src/internal/hooks/useHandleIDPResponse.js.map +1 -1
  309. package/dist/production/src/internal/hooks/useInitIDPRedirect.cjs.map +1 -1
  310. package/dist/production/src/internal/hooks/useInitIDPRedirect.js.map +1 -1
  311. package/dist/production/src/internal/hooks/useLogoutInternal.cjs +12 -7
  312. package/dist/production/src/internal/hooks/useLogoutInternal.cjs.map +1 -1
  313. package/dist/production/src/internal/hooks/useLogoutInternal.js +13 -8
  314. package/dist/production/src/internal/hooks/useLogoutInternal.js.map +1 -1
  315. package/dist/production/src/internal/hooks/useRedirectToBacklink.cjs.map +1 -1
  316. package/dist/production/src/internal/hooks/useRedirectToBacklink.js.map +1 -1
  317. package/dist/types/components/IdentityState.d.ts +1 -1
  318. package/dist/types/components/IdentityState.d.ts.map +1 -1
  319. package/dist/types/components/forms/ChangeMyPasswordForm.d.ts +1 -1
  320. package/dist/types/components/forms/ChangeMyPasswordForm.d.ts.map +1 -1
  321. package/dist/types/components/forms/ConfirmEmailChangeForm.d.ts +18 -0
  322. package/dist/types/components/forms/ConfirmEmailChangeForm.d.ts.map +1 -0
  323. package/dist/types/components/forms/CreateApiKeyForm.d.ts +2 -2
  324. package/dist/types/components/forms/CreateApiKeyForm.d.ts.map +1 -1
  325. package/dist/types/components/forms/CreateSessionTokenForm.d.ts +2 -2
  326. package/dist/types/components/forms/CreateSessionTokenForm.d.ts.map +1 -1
  327. package/dist/types/components/forms/InviteForm.d.ts +2 -2
  328. package/dist/types/components/forms/InviteForm.d.ts.map +1 -1
  329. package/dist/types/components/forms/LoginForm.d.ts +1 -1
  330. package/dist/types/components/forms/LoginForm.d.ts.map +1 -1
  331. package/dist/types/components/forms/OtpConfirmForm.d.ts +1 -1
  332. package/dist/types/components/forms/OtpConfirmForm.d.ts.map +1 -1
  333. package/dist/types/components/forms/OtpPrepareForm.d.ts +2 -2
  334. package/dist/types/components/forms/OtpPrepareForm.d.ts.map +1 -1
  335. package/dist/types/components/forms/PasswordResetForm.d.ts +1 -1
  336. package/dist/types/components/forms/PasswordResetForm.d.ts.map +1 -1
  337. package/dist/types/components/forms/PasswordResetRequestForm.d.ts +1 -1
  338. package/dist/types/components/forms/PasswordResetRequestForm.d.ts.map +1 -1
  339. package/dist/types/components/forms/PasswordlessSignInForm.d.ts +1 -1
  340. package/dist/types/components/forms/PasswordlessSignInForm.d.ts.map +1 -1
  341. package/dist/types/components/forms/PasswordlessSignInInitForm.d.ts +2 -2
  342. package/dist/types/components/forms/PasswordlessSignInInitForm.d.ts.map +1 -1
  343. package/dist/types/components/forms/RequestEmailVerificationForm.d.ts +17 -0
  344. package/dist/types/components/forms/RequestEmailVerificationForm.d.ts.map +1 -0
  345. package/dist/types/components/forms/TenantForm.d.ts +1 -1
  346. package/dist/types/components/forms/TenantForm.d.ts.map +1 -1
  347. package/dist/types/components/forms/UpdateProjectMemberForm.d.ts +1 -1
  348. package/dist/types/components/forms/UpdateProjectMemberForm.d.ts.map +1 -1
  349. package/dist/types/components/forms/VerifyEmailForm.d.ts +18 -0
  350. package/dist/types/components/forms/VerifyEmailForm.d.ts.map +1 -0
  351. package/dist/types/components/forms/index.d.ts +15 -12
  352. package/dist/types/components/forms/index.d.ts.map +1 -1
  353. package/dist/types/components/idp/IDP.d.ts +1 -1
  354. package/dist/types/components/idp/IDP.d.ts.map +1 -1
  355. package/dist/types/components/idp/IDPState.d.ts +1 -1
  356. package/dist/types/components/idp/IDPState.d.ts.map +1 -1
  357. package/dist/types/components/idp/index.d.ts +3 -3
  358. package/dist/types/components/idp/index.d.ts.map +1 -1
  359. package/dist/types/components/index.d.ts +5 -5
  360. package/dist/types/components/index.d.ts.map +1 -1
  361. package/dist/types/components/triggers/LogoutTrigger.d.ts +7 -1
  362. package/dist/types/components/triggers/LogoutTrigger.d.ts.map +1 -1
  363. package/dist/types/components/triggers/RemoveProjectMemberTrigger.d.ts +1 -1
  364. package/dist/types/components/triggers/RemoveProjectMemberTrigger.d.ts.map +1 -1
  365. package/dist/types/components/triggers/index.d.ts +3 -3
  366. package/dist/types/components/triggers/index.d.ts.map +1 -1
  367. package/dist/types/contexts.d.ts +1 -1
  368. package/dist/types/contexts.d.ts.map +1 -1
  369. package/dist/types/hooks/index.d.ts +8 -8
  370. package/dist/types/hooks/index.d.ts.map +1 -1
  371. package/dist/types/hooks/mutations/apiKey/index.d.ts +4 -4
  372. package/dist/types/hooks/mutations/apiKey/index.d.ts.map +1 -1
  373. package/dist/types/hooks/mutations/apiKey/useCreateApiKeyMutation.d.ts +4 -2
  374. package/dist/types/hooks/mutations/apiKey/useCreateApiKeyMutation.d.ts.map +1 -1
  375. package/dist/types/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.d.ts +4 -2
  376. package/dist/types/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.d.ts.map +1 -1
  377. package/dist/types/hooks/mutations/apiKey/useCreateSessionTokenMutation.d.ts +4 -2
  378. package/dist/types/hooks/mutations/apiKey/useCreateSessionTokenMutation.d.ts.map +1 -1
  379. package/dist/types/hooks/mutations/apiKey/useDisableApiKeyMutation.d.ts +2 -2
  380. package/dist/types/hooks/mutations/apiKey/useDisableApiKeyMutation.d.ts.map +1 -1
  381. package/dist/types/hooks/mutations/auth/index.d.ts +3 -3
  382. package/dist/types/hooks/mutations/auth/index.d.ts.map +1 -1
  383. package/dist/types/hooks/mutations/auth/useChangeMyPasswordMutation.d.ts +2 -2
  384. package/dist/types/hooks/mutations/auth/useChangeMyPasswordMutation.d.ts.map +1 -1
  385. package/dist/types/hooks/mutations/auth/useSignInMutation.d.ts +12 -2
  386. package/dist/types/hooks/mutations/auth/useSignInMutation.d.ts.map +1 -1
  387. package/dist/types/hooks/mutations/auth/useSignOutMutation.d.ts +4 -2
  388. package/dist/types/hooks/mutations/auth/useSignOutMutation.d.ts.map +1 -1
  389. package/dist/types/hooks/mutations/emailVerification/index.d.ts +4 -0
  390. package/dist/types/hooks/mutations/emailVerification/index.d.ts.map +1 -0
  391. package/dist/types/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.d.ts +19 -0
  392. package/dist/types/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.d.ts.map +1 -0
  393. package/dist/types/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.d.ts +23 -0
  394. package/dist/types/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.d.ts.map +1 -0
  395. package/dist/types/hooks/mutations/emailVerification/useVerifyEmailMutation.d.ts +19 -0
  396. package/dist/types/hooks/mutations/emailVerification/useVerifyEmailMutation.d.ts.map +1 -0
  397. package/dist/types/hooks/mutations/idp/index.d.ts +2 -2
  398. package/dist/types/hooks/mutations/idp/index.d.ts.map +1 -1
  399. package/dist/types/hooks/mutations/idp/useInitSignInIDPMutation.d.ts +1 -1
  400. package/dist/types/hooks/mutations/idp/useSignInIdpMutation.d.ts +2 -1
  401. package/dist/types/hooks/mutations/idp/useSignInIdpMutation.d.ts.map +1 -1
  402. package/dist/types/hooks/mutations/index.d.ts +10 -9
  403. package/dist/types/hooks/mutations/index.d.ts.map +1 -1
  404. package/dist/types/hooks/mutations/invite/index.d.ts +1 -1
  405. package/dist/types/hooks/mutations/invite/index.d.ts.map +1 -1
  406. package/dist/types/hooks/mutations/invite/useInviteMutation.d.ts +2 -2
  407. package/dist/types/hooks/mutations/memberships/index.d.ts +3 -3
  408. package/dist/types/hooks/mutations/memberships/index.d.ts.map +1 -1
  409. package/dist/types/hooks/mutations/memberships/useAddProjectMemberMutation.d.ts +2 -2
  410. package/dist/types/hooks/mutations/memberships/useAddProjectMemberMutation.d.ts.map +1 -1
  411. package/dist/types/hooks/mutations/memberships/useRemoveProjectMemberMutation.d.ts +2 -2
  412. package/dist/types/hooks/mutations/memberships/useRemoveProjectMemberMutation.d.ts.map +1 -1
  413. package/dist/types/hooks/mutations/memberships/useUpdateProjectMemberMutation.d.ts +2 -2
  414. package/dist/types/hooks/mutations/memberships/useUpdateProjectMemberMutation.d.ts.map +1 -1
  415. package/dist/types/hooks/mutations/otp/index.d.ts +3 -3
  416. package/dist/types/hooks/mutations/otp/index.d.ts.map +1 -1
  417. package/dist/types/hooks/mutations/otp/useConfirmOtpMutation.d.ts +2 -2
  418. package/dist/types/hooks/mutations/otp/useConfirmOtpMutation.d.ts.map +1 -1
  419. package/dist/types/hooks/mutations/otp/useDisableOtpMutation.d.ts +1 -1
  420. package/dist/types/hooks/mutations/otp/useDisableOtpMutation.d.ts.map +1 -1
  421. package/dist/types/hooks/mutations/otp/usePrepareOtpMutation.d.ts +2 -2
  422. package/dist/types/hooks/mutations/passwordReset/index.d.ts +2 -2
  423. package/dist/types/hooks/mutations/passwordReset/index.d.ts.map +1 -1
  424. package/dist/types/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.d.ts +4 -2
  425. package/dist/types/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.d.ts.map +1 -1
  426. package/dist/types/hooks/mutations/passwordReset/useResetPasswordMutation.d.ts +2 -2
  427. package/dist/types/hooks/mutations/passwordReset/useResetPasswordMutation.d.ts.map +1 -1
  428. package/dist/types/hooks/mutations/passwordless/index.d.ts +5 -5
  429. package/dist/types/hooks/mutations/passwordless/index.d.ts.map +1 -1
  430. package/dist/types/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.d.ts +2 -2
  431. package/dist/types/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.d.ts.map +1 -1
  432. package/dist/types/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.d.ts +1 -1
  433. package/dist/types/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.d.ts.map +1 -1
  434. package/dist/types/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.d.ts +1 -1
  435. package/dist/types/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.d.ts.map +1 -1
  436. package/dist/types/hooks/mutations/passwordless/useInitSignInPasswordlessMutation.d.ts +3 -2
  437. package/dist/types/hooks/mutations/passwordless/useInitSignInPasswordlessMutation.d.ts.map +1 -1
  438. package/dist/types/hooks/mutations/passwordless/useSignInPasswordlessMutation.d.ts +4 -2
  439. package/dist/types/hooks/mutations/passwordless/useSignInPasswordlessMutation.d.ts.map +1 -1
  440. package/dist/types/hooks/mutations/profile/index.d.ts +2 -2
  441. package/dist/types/hooks/mutations/profile/index.d.ts.map +1 -1
  442. package/dist/types/hooks/mutations/profile/useChangeMyProfile.d.ts +2 -2
  443. package/dist/types/hooks/mutations/profile/useChangeMyProfile.d.ts.map +1 -1
  444. package/dist/types/hooks/mutations/profile/useChangeProfile.d.ts +2 -2
  445. package/dist/types/hooks/mutations/profile/useChangeProfile.d.ts.map +1 -1
  446. package/dist/types/hooks/queries/index.d.ts +4 -4
  447. package/dist/types/hooks/queries/index.d.ts.map +1 -1
  448. package/dist/types/hooks/queries/useMeQuery.d.ts +1 -1
  449. package/dist/types/hooks/queries/useMeQuery.d.ts.map +1 -1
  450. package/dist/types/hooks/queries/useProjectMembersQuery.d.ts +15 -3
  451. package/dist/types/hooks/queries/useProjectMembersQuery.d.ts.map +1 -1
  452. package/dist/types/hooks/queries/useProjectMembershipsQuery.d.ts +1 -1
  453. package/dist/types/hooks/queries/useProjectMembershipsQuery.d.ts.map +1 -1
  454. package/dist/types/hooks/queries/useProjectRolesDefinitionQuery.d.ts +1 -1
  455. package/dist/types/hooks/queries/useProjectRolesDefinitionQuery.d.ts.map +1 -1
  456. package/dist/types/hooks/useFetchIdentity.d.ts +1 -1
  457. package/dist/types/hooks/useFetchIdentity.d.ts.map +1 -1
  458. package/dist/types/hooks/useLogout.d.ts +2 -1
  459. package/dist/types/hooks/useLogout.d.ts.map +1 -1
  460. package/dist/types/hooks/useTenantMutation.d.ts +1 -1
  461. package/dist/types/hooks/useTenantMutation.d.ts.map +1 -1
  462. package/dist/types/index.d.ts +4 -4
  463. package/dist/types/index.d.ts.map +1 -1
  464. package/dist/types/internal/hooks/useHandleIDPResponse.d.ts +1 -1
  465. package/dist/types/internal/hooks/useHandleIDPResponse.d.ts.map +1 -1
  466. package/dist/types/internal/hooks/useInitIDPRedirect.d.ts +1 -1
  467. package/dist/types/internal/hooks/useInitIDPRedirect.d.ts.map +1 -1
  468. package/dist/types/internal/hooks/useLogoutInternal.d.ts +2 -1
  469. package/dist/types/internal/hooks/useLogoutInternal.d.ts.map +1 -1
  470. package/dist/types/tsconfig.tsbuildinfo +1 -1
  471. package/dist/types/types/index.d.ts +5 -5
  472. package/dist/types/types/index.d.ts.map +1 -1
  473. package/package.json +4 -4
  474. package/src/components/IdentityProvider.tsx +2 -2
  475. package/src/components/IdentityState.tsx +2 -2
  476. package/src/components/forms/ChangeMyPasswordForm.tsx +4 -4
  477. package/src/components/forms/ConfirmEmailChangeForm.tsx +66 -0
  478. package/src/components/forms/CreateApiKeyForm.tsx +4 -4
  479. package/src/components/forms/CreateSessionTokenForm.tsx +4 -4
  480. package/src/components/forms/InviteForm.tsx +4 -4
  481. package/src/components/forms/LoginForm.tsx +7 -5
  482. package/src/components/forms/OtpConfirmForm.tsx +4 -4
  483. package/src/components/forms/OtpPrepareForm.tsx +4 -4
  484. package/src/components/forms/PasswordResetForm.tsx +4 -4
  485. package/src/components/forms/PasswordResetRequestForm.tsx +6 -4
  486. package/src/components/forms/PasswordlessSignInForm.tsx +6 -5
  487. package/src/components/forms/PasswordlessSignInInitForm.tsx +8 -6
  488. package/src/components/forms/RequestEmailVerificationForm.tsx +62 -0
  489. package/src/components/forms/TenantForm.tsx +2 -2
  490. package/src/components/forms/UpdateProjectMemberForm.tsx +4 -4
  491. package/src/components/forms/VerifyEmailForm.tsx +64 -0
  492. package/src/components/forms/index.ts +15 -12
  493. package/src/components/idp/IDP.tsx +5 -5
  494. package/src/components/idp/IDPInitTrigger.tsx +1 -1
  495. package/src/components/idp/IDPState.tsx +2 -2
  496. package/src/components/idp/index.ts +3 -3
  497. package/src/components/index.ts +5 -5
  498. package/src/components/triggers/DisableOtpTrigger.tsx +3 -3
  499. package/src/components/triggers/LogoutTrigger.tsx +9 -3
  500. package/src/components/triggers/RemoveProjectMemberTrigger.tsx +2 -2
  501. package/src/components/triggers/index.ts +3 -3
  502. package/src/contexts.ts +1 -1
  503. package/src/hooks/index.ts +8 -8
  504. package/src/hooks/mutations/apiKey/index.ts +4 -4
  505. package/src/hooks/mutations/apiKey/useCreateApiKeyMutation.tsx +1 -1
  506. package/src/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.tsx +1 -1
  507. package/src/hooks/mutations/apiKey/useCreateSessionTokenMutation.tsx +1 -1
  508. package/src/hooks/mutations/apiKey/useDisableApiKeyMutation.tsx +1 -1
  509. package/src/hooks/mutations/auth/index.ts +3 -3
  510. package/src/hooks/mutations/auth/useChangeMyPasswordMutation.ts +1 -1
  511. package/src/hooks/mutations/auth/useSignInMutation.ts +2 -2
  512. package/src/hooks/mutations/auth/useSignOutMutation.ts +1 -1
  513. package/src/hooks/mutations/emailVerification/index.ts +3 -0
  514. package/src/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.ts +17 -0
  515. package/src/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.ts +17 -0
  516. package/src/hooks/mutations/emailVerification/useVerifyEmailMutation.ts +17 -0
  517. package/src/hooks/mutations/idp/index.ts +2 -2
  518. package/src/hooks/mutations/idp/useInitSignInIDPMutation.ts +2 -2
  519. package/src/hooks/mutations/idp/useSignInIdpMutation.ts +2 -2
  520. package/src/hooks/mutations/index.ts +10 -9
  521. package/src/hooks/mutations/invite/index.ts +1 -1
  522. package/src/hooks/mutations/invite/useInviteMutation.tsx +1 -1
  523. package/src/hooks/mutations/memberships/index.ts +3 -3
  524. package/src/hooks/mutations/memberships/useAddProjectMemberMutation.ts +1 -1
  525. package/src/hooks/mutations/memberships/useRemoveProjectMemberMutation.ts +1 -1
  526. package/src/hooks/mutations/memberships/useUpdateProjectMemberMutation.ts +1 -1
  527. package/src/hooks/mutations/otp/index.ts +3 -3
  528. package/src/hooks/mutations/otp/useConfirmOtpMutation.ts +1 -1
  529. package/src/hooks/mutations/otp/useDisableOtpMutation.ts +1 -1
  530. package/src/hooks/mutations/otp/usePrepareOtpMutation.ts +1 -1
  531. package/src/hooks/mutations/passwordReset/index.ts +2 -2
  532. package/src/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.ts +2 -2
  533. package/src/hooks/mutations/passwordReset/useResetPasswordMutation.ts +2 -2
  534. package/src/hooks/mutations/passwordless/index.ts +5 -5
  535. package/src/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.ts +2 -2
  536. package/src/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.ts +1 -1
  537. package/src/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.ts +1 -1
  538. package/src/hooks/mutations/passwordless/useInitSignInPasswordlessMutation.ts +2 -2
  539. package/src/hooks/mutations/passwordless/useSignInPasswordlessMutation.ts +2 -2
  540. package/src/hooks/mutations/profile/index.ts +2 -2
  541. package/src/hooks/mutations/profile/useChangeMyProfile.ts +1 -1
  542. package/src/hooks/mutations/profile/useChangeProfile.ts +1 -1
  543. package/src/hooks/queries/index.ts +4 -4
  544. package/src/hooks/queries/useMeQuery.ts +1 -1
  545. package/src/hooks/queries/useProjectMembersQuery.ts +1 -1
  546. package/src/hooks/queries/useProjectMembershipsQuery.ts +1 -1
  547. package/src/hooks/queries/useProjectRolesDefinitionQuery.ts +1 -1
  548. package/src/hooks/useFetchIdentity.ts +3 -3
  549. package/src/hooks/useLogout.ts +2 -2
  550. package/src/hooks/usePasswordlessOtpActivator.ts +4 -4
  551. package/src/hooks/useTenantMutation.ts +1 -1
  552. package/src/index.ts +4 -4
  553. package/src/internal/hooks/useHandleIDPResponse.ts +5 -5
  554. package/src/internal/hooks/useInitIDPRedirect.ts +5 -5
  555. package/src/internal/hooks/useLogoutInternal.ts +18 -8
  556. package/src/internal/hooks/useRedirectToBacklink.ts +1 -1
  557. package/src/types/index.ts +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchIdentity.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types'\nimport { GraphQlClientError, useSessionToken } from '@contember/react-client'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\nimport { useMeQuery } from './queries'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue; identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useMeQuery()\n\n\tconst [identityState, setIdentityState] = useState<ReturnType<typeof useFetchIdentity>[0]>({\n\t\tstate: sessionToken ? 'loading' : 'none',\n\t\tidentity: undefined,\n\t})\n\n\tconst clearIdentity = useCallback(() => setIdentityState({ state: 'cleared', identity: undefined }), [])\n\tconst logout = useLogoutInternal(clearIdentity)\n\n\tconst fetch = useCallback(async () => {\n\t\tsetIdentityState({ state: 'loading', identity: undefined })\n\t\ttry {\n\t\t\tconst response = await fetchMe({})\n\t\t\tconst person = response.person\n\t\t\tconst projects = response.projects\n\t\t\tconst permissions = response.permissions ?? { canCreateProject: false }\n\n\t\t\tsetIdentityState({\n\t\t\t\tstate: 'success',\n\t\t\t\tidentity: {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\troles: response.roles ?? [],\n\t\t\t\t\tperson: person ?? undefined,\n\t\t\t\t\tprojects: projects.map(it => ({\n\t\t\t\t\t\tname: it.project.name,\n\t\t\t\t\t\tslug: it.project.slug,\n\t\t\t\t\t\troles: it.memberships.map(it => it.role),\n\t\t\t\t\t})),\n\t\t\t\t\tpermissions,\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (e instanceof GraphQlClientError && e.response?.status === 401) {\n\t\t\t\tlogout({ noRedirect: true })\n\t\t\t} else {\n\t\t\t\tsetIdentityState({ state: 'failed', identity: undefined })\n\t\t\t}\n\t\t}\n\t}, [fetchMe, logout])\n\n\treturn [\n\t\tidentityState,\n\t\tuseMemo((): IdentityMethods => ({\n\t\t\tclearIdentity,\n\t\t\trefreshIdentity: fetch,\n\t\t}), [clearIdentity, fetch]),\n\t]\n}\n"],"names":["useSessionToken","useMeQuery","useState","useCallback","useLogoutInternal","it","GraphQlClientError","useMemo"],"mappings":";;;;;;AAMO,MAAM,mBAAmB,MAAwF;AACvH,QAAM,eAAeA,YAAAA,gBAAA;AACrB,QAAM,UAAUC,WAAAA,WAAA;AAEhB,QAAM,CAAC,eAAe,gBAAgB,IAAIC,eAAiD;AAAA,IAC1F,OAAO,eAAe,YAAY;AAAA,IAClC,UAAU;AAAA,EAAA,CACV;AAED,QAAM,gBAAgBC,MAAAA,YAAY,MAAM,iBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW,GAAG,EAAE;AACvG,QAAM,SAASC,kBAAAA,kBAAkB,aAAa;AAE9C,QAAM,QAAQD,MAAAA,YAAY,YAAY;AACrC,qBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW;AAC1D,QAAI;AACH,YAAM,WAAW,MAAM,QAAQ,EAAE;AACjC,YAAM,SAAS,SAAS;AACxB,YAAM,WAAW,SAAS;AAC1B,YAAM,cAAc,SAAS,eAAe,EAAE,kBAAkB,MAAA;AAEhE,uBAAiB;AAAA,QAChB,OAAO;AAAA,QACP,UAAU;AAAA,UACT,IAAI,SAAS;AAAA,UACb,OAAO,SAAS,SAAS,CAAA;AAAA,UACzB,QAAQ,UAAU;AAAA,UAClB,UAAU,SAAS,IAAI,CAAA,QAAO;AAAA,YAC7B,MAAM,GAAG,QAAQ;AAAA,YACjB,MAAM,GAAG,QAAQ;AAAA,YACjB,OAAO,GAAG,YAAY,IAAI,CAAAE,QAAMA,IAAG,IAAI;AAAA,UAAA,EACtC;AAAA,UACF;AAAA,QAAA;AAAA,MACD,CACA;AAAA,IACF,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,UAAI,aAAaC,YAAAA,sBAAsB,EAAE,UAAU,WAAW,KAAK;AAClE,eAAO,EAAE,YAAY,MAAM;AAAA,MAC5B,OAAO;AACN,yBAAiB,EAAE,OAAO,UAAU,UAAU,QAAW;AAAA,MAC1D;AAAA,IACD;AAAA,EACD,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,SAAO;AAAA,IACN;AAAA,IACAC,MAAAA,QAAQ,OAAwB;AAAA,MAC/B;AAAA,MACA,iBAAiB;AAAA,IAAA,IACd,CAAC,eAAe,KAAK,CAAC;AAAA,EAAA;AAE5B;;"}
1
+ {"version":3,"file":"useFetchIdentity.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types/index.js'\nimport { GraphQlClientError, useSessionToken } from '@contember/react-client'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal.js'\nimport { useMeQuery } from './queries/index.js'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue; identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useMeQuery()\n\n\tconst [identityState, setIdentityState] = useState<ReturnType<typeof useFetchIdentity>[0]>({\n\t\tstate: sessionToken ? 'loading' : 'none',\n\t\tidentity: undefined,\n\t})\n\n\tconst clearIdentity = useCallback(() => setIdentityState({ state: 'cleared', identity: undefined }), [])\n\tconst logout = useLogoutInternal(clearIdentity)\n\n\tconst fetch = useCallback(async () => {\n\t\tsetIdentityState({ state: 'loading', identity: undefined })\n\t\ttry {\n\t\t\tconst response = await fetchMe({})\n\t\t\tconst person = response.person\n\t\t\tconst projects = response.projects\n\t\t\tconst permissions = response.permissions ?? { canCreateProject: false }\n\n\t\t\tsetIdentityState({\n\t\t\t\tstate: 'success',\n\t\t\t\tidentity: {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\troles: response.roles ?? [],\n\t\t\t\t\tperson: person ?? undefined,\n\t\t\t\t\tprojects: projects.map(it => ({\n\t\t\t\t\t\tname: it.project.name,\n\t\t\t\t\t\tslug: it.project.slug,\n\t\t\t\t\t\troles: it.memberships.map(it => it.role),\n\t\t\t\t\t})),\n\t\t\t\t\tpermissions,\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (e instanceof GraphQlClientError && e.response?.status === 401) {\n\t\t\t\tlogout({ noRedirect: true })\n\t\t\t} else {\n\t\t\t\tsetIdentityState({ state: 'failed', identity: undefined })\n\t\t\t}\n\t\t}\n\t}, [fetchMe, logout])\n\n\treturn [\n\t\tidentityState,\n\t\tuseMemo((): IdentityMethods => ({\n\t\t\tclearIdentity,\n\t\t\trefreshIdentity: fetch,\n\t\t}), [clearIdentity, fetch]),\n\t]\n}\n"],"names":["useSessionToken","useMeQuery","useState","useCallback","useLogoutInternal","it","GraphQlClientError","useMemo"],"mappings":";;;;;;AAMO,MAAM,mBAAmB,MAAwF;AACvH,QAAM,eAAeA,YAAAA,gBAAA;AACrB,QAAM,UAAUC,WAAAA,WAAA;AAEhB,QAAM,CAAC,eAAe,gBAAgB,IAAIC,eAAiD;AAAA,IAC1F,OAAO,eAAe,YAAY;AAAA,IAClC,UAAU;AAAA,EAAA,CACV;AAED,QAAM,gBAAgBC,MAAAA,YAAY,MAAM,iBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW,GAAG,EAAE;AACvG,QAAM,SAASC,kBAAAA,kBAAkB,aAAa;AAE9C,QAAM,QAAQD,MAAAA,YAAY,YAAY;AACrC,qBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW;AAC1D,QAAI;AACH,YAAM,WAAW,MAAM,QAAQ,EAAE;AACjC,YAAM,SAAS,SAAS;AACxB,YAAM,WAAW,SAAS;AAC1B,YAAM,cAAc,SAAS,eAAe,EAAE,kBAAkB,MAAA;AAEhE,uBAAiB;AAAA,QAChB,OAAO;AAAA,QACP,UAAU;AAAA,UACT,IAAI,SAAS;AAAA,UACb,OAAO,SAAS,SAAS,CAAA;AAAA,UACzB,QAAQ,UAAU;AAAA,UAClB,UAAU,SAAS,IAAI,CAAA,QAAO;AAAA,YAC7B,MAAM,GAAG,QAAQ;AAAA,YACjB,MAAM,GAAG,QAAQ;AAAA,YACjB,OAAO,GAAG,YAAY,IAAI,CAAAE,QAAMA,IAAG,IAAI;AAAA,UAAA,EACtC;AAAA,UACF;AAAA,QAAA;AAAA,MACD,CACA;AAAA,IACF,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,UAAI,aAAaC,YAAAA,sBAAsB,EAAE,UAAU,WAAW,KAAK;AAClE,eAAO,EAAE,YAAY,MAAM;AAAA,MAC5B,OAAO;AACN,yBAAiB,EAAE,OAAO,UAAU,UAAU,QAAW;AAAA,MAC1D;AAAA,IACD;AAAA,EACD,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,SAAO;AAAA,IACN;AAAA,IACAC,MAAAA,QAAQ,OAAwB;AAAA,MAC/B;AAAA,MACA,iBAAiB;AAAA,IAAA,IACd,CAAC,eAAe,KAAK,CAAC;AAAA,EAAA;AAE5B;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchIdentity.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types'\nimport { GraphQlClientError, useSessionToken } from '@contember/react-client'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\nimport { useMeQuery } from './queries'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue; identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useMeQuery()\n\n\tconst [identityState, setIdentityState] = useState<ReturnType<typeof useFetchIdentity>[0]>({\n\t\tstate: sessionToken ? 'loading' : 'none',\n\t\tidentity: undefined,\n\t})\n\n\tconst clearIdentity = useCallback(() => setIdentityState({ state: 'cleared', identity: undefined }), [])\n\tconst logout = useLogoutInternal(clearIdentity)\n\n\tconst fetch = useCallback(async () => {\n\t\tsetIdentityState({ state: 'loading', identity: undefined })\n\t\ttry {\n\t\t\tconst response = await fetchMe({})\n\t\t\tconst person = response.person\n\t\t\tconst projects = response.projects\n\t\t\tconst permissions = response.permissions ?? { canCreateProject: false }\n\n\t\t\tsetIdentityState({\n\t\t\t\tstate: 'success',\n\t\t\t\tidentity: {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\troles: response.roles ?? [],\n\t\t\t\t\tperson: person ?? undefined,\n\t\t\t\t\tprojects: projects.map(it => ({\n\t\t\t\t\t\tname: it.project.name,\n\t\t\t\t\t\tslug: it.project.slug,\n\t\t\t\t\t\troles: it.memberships.map(it => it.role),\n\t\t\t\t\t})),\n\t\t\t\t\tpermissions,\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (e instanceof GraphQlClientError && e.response?.status === 401) {\n\t\t\t\tlogout({ noRedirect: true })\n\t\t\t} else {\n\t\t\t\tsetIdentityState({ state: 'failed', identity: undefined })\n\t\t\t}\n\t\t}\n\t}, [fetchMe, logout])\n\n\treturn [\n\t\tidentityState,\n\t\tuseMemo((): IdentityMethods => ({\n\t\t\tclearIdentity,\n\t\t\trefreshIdentity: fetch,\n\t\t}), [clearIdentity, fetch]),\n\t]\n}\n"],"names":["it"],"mappings":";;;;AAMO,MAAM,mBAAmB,MAAwF;AACvH,QAAM,eAAe,gBAAA;AACrB,QAAM,UAAU,WAAA;AAEhB,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAiD;AAAA,IAC1F,OAAO,eAAe,YAAY;AAAA,IAClC,UAAU;AAAA,EAAA,CACV;AAED,QAAM,gBAAgB,YAAY,MAAM,iBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW,GAAG,EAAE;AACvG,QAAM,SAAS,kBAAkB,aAAa;AAE9C,QAAM,QAAQ,YAAY,YAAY;AACrC,qBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW;AAC1D,QAAI;AACH,YAAM,WAAW,MAAM,QAAQ,EAAE;AACjC,YAAM,SAAS,SAAS;AACxB,YAAM,WAAW,SAAS;AAC1B,YAAM,cAAc,SAAS,eAAe,EAAE,kBAAkB,MAAA;AAEhE,uBAAiB;AAAA,QAChB,OAAO;AAAA,QACP,UAAU;AAAA,UACT,IAAI,SAAS;AAAA,UACb,OAAO,SAAS,SAAS,CAAA;AAAA,UACzB,QAAQ,UAAU;AAAA,UAClB,UAAU,SAAS,IAAI,CAAA,QAAO;AAAA,YAC7B,MAAM,GAAG,QAAQ;AAAA,YACjB,MAAM,GAAG,QAAQ;AAAA,YACjB,OAAO,GAAG,YAAY,IAAI,CAAAA,QAAMA,IAAG,IAAI;AAAA,UAAA,EACtC;AAAA,UACF;AAAA,QAAA;AAAA,MACD,CACA;AAAA,IACF,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,UAAI,aAAa,sBAAsB,EAAE,UAAU,WAAW,KAAK;AAClE,eAAO,EAAE,YAAY,MAAM;AAAA,MAC5B,OAAO;AACN,yBAAiB,EAAE,OAAO,UAAU,UAAU,QAAW;AAAA,MAC1D;AAAA,IACD;AAAA,EACD,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,SAAO;AAAA,IACN;AAAA,IACA,QAAQ,OAAwB;AAAA,MAC/B;AAAA,MACA,iBAAiB;AAAA,IAAA,IACd,CAAC,eAAe,KAAK,CAAC;AAAA,EAAA;AAE5B;"}
1
+ {"version":3,"file":"useFetchIdentity.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types/index.js'\nimport { GraphQlClientError, useSessionToken } from '@contember/react-client'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal.js'\nimport { useMeQuery } from './queries/index.js'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue; identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useMeQuery()\n\n\tconst [identityState, setIdentityState] = useState<ReturnType<typeof useFetchIdentity>[0]>({\n\t\tstate: sessionToken ? 'loading' : 'none',\n\t\tidentity: undefined,\n\t})\n\n\tconst clearIdentity = useCallback(() => setIdentityState({ state: 'cleared', identity: undefined }), [])\n\tconst logout = useLogoutInternal(clearIdentity)\n\n\tconst fetch = useCallback(async () => {\n\t\tsetIdentityState({ state: 'loading', identity: undefined })\n\t\ttry {\n\t\t\tconst response = await fetchMe({})\n\t\t\tconst person = response.person\n\t\t\tconst projects = response.projects\n\t\t\tconst permissions = response.permissions ?? { canCreateProject: false }\n\n\t\t\tsetIdentityState({\n\t\t\t\tstate: 'success',\n\t\t\t\tidentity: {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\troles: response.roles ?? [],\n\t\t\t\t\tperson: person ?? undefined,\n\t\t\t\t\tprojects: projects.map(it => ({\n\t\t\t\t\t\tname: it.project.name,\n\t\t\t\t\t\tslug: it.project.slug,\n\t\t\t\t\t\troles: it.memberships.map(it => it.role),\n\t\t\t\t\t})),\n\t\t\t\t\tpermissions,\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (e instanceof GraphQlClientError && e.response?.status === 401) {\n\t\t\t\tlogout({ noRedirect: true })\n\t\t\t} else {\n\t\t\t\tsetIdentityState({ state: 'failed', identity: undefined })\n\t\t\t}\n\t\t}\n\t}, [fetchMe, logout])\n\n\treturn [\n\t\tidentityState,\n\t\tuseMemo((): IdentityMethods => ({\n\t\t\tclearIdentity,\n\t\t\trefreshIdentity: fetch,\n\t\t}), [clearIdentity, fetch]),\n\t]\n}\n"],"names":["it"],"mappings":";;;;AAMO,MAAM,mBAAmB,MAAwF;AACvH,QAAM,eAAe,gBAAA;AACrB,QAAM,UAAU,WAAA;AAEhB,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAiD;AAAA,IAC1F,OAAO,eAAe,YAAY;AAAA,IAClC,UAAU;AAAA,EAAA,CACV;AAED,QAAM,gBAAgB,YAAY,MAAM,iBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW,GAAG,EAAE;AACvG,QAAM,SAAS,kBAAkB,aAAa;AAE9C,QAAM,QAAQ,YAAY,YAAY;AACrC,qBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW;AAC1D,QAAI;AACH,YAAM,WAAW,MAAM,QAAQ,EAAE;AACjC,YAAM,SAAS,SAAS;AACxB,YAAM,WAAW,SAAS;AAC1B,YAAM,cAAc,SAAS,eAAe,EAAE,kBAAkB,MAAA;AAEhE,uBAAiB;AAAA,QAChB,OAAO;AAAA,QACP,UAAU;AAAA,UACT,IAAI,SAAS;AAAA,UACb,OAAO,SAAS,SAAS,CAAA;AAAA,UACzB,QAAQ,UAAU;AAAA,UAClB,UAAU,SAAS,IAAI,CAAA,QAAO;AAAA,YAC7B,MAAM,GAAG,QAAQ;AAAA,YACjB,MAAM,GAAG,QAAQ;AAAA,YACjB,OAAO,GAAG,YAAY,IAAI,CAAAA,QAAMA,IAAG,IAAI;AAAA,UAAA,EACtC;AAAA,UACF;AAAA,QAAA;AAAA,MACD,CACA;AAAA,IACF,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,UAAI,aAAa,sBAAsB,EAAE,UAAU,WAAW,KAAK;AAClE,eAAO,EAAE,YAAY,MAAM;AAAA,MAC5B,OAAO;AACN,yBAAiB,EAAE,OAAO,UAAU,UAAU,QAAW;AAAA,MAC1D;AAAA,IACD;AAAA,EACD,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,SAAO;AAAA,IACN;AAAA,IACA,QAAQ,OAAwB;AAAA,MAC/B;AAAA,MACA,iBAAiB;AAAA,IAAA,IACd,CAAC,eAAe,KAAK,CAAC;AAAA,EAAA;AAE5B;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLogout.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useLogout.ts"],"sourcesContent":["import { useIdentityMethods } from '../contexts'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\n\nexport const useLogout = () => {\n\tconst { clearIdentity } = useIdentityMethods()\n\treturn useLogoutInternal(clearIdentity)\n}\n"],"names":["useIdentityMethods","useLogoutInternal"],"mappings":";;;;AAGO,MAAM,YAAY,MAAM;AAC9B,QAAM,EAAE,cAAA,IAAkBA,4BAAA;AAC1B,SAAOC,kBAAAA,kBAAkB,aAAa;AACvC;;"}
1
+ {"version":3,"file":"useLogout.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useLogout.ts"],"sourcesContent":["import { useIdentityMethods } from '../contexts.js'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal.js'\n\nexport const useLogout = () => {\n\tconst { clearIdentity } = useIdentityMethods()\n\treturn useLogoutInternal(clearIdentity)\n}\n"],"names":["useIdentityMethods","useLogoutInternal"],"mappings":";;;;AAGO,MAAM,YAAY,MAAM;AAC9B,QAAM,EAAE,cAAA,IAAkBA,4BAAA;AAC1B,SAAOC,kBAAAA,kBAAkB,aAAa;AACvC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLogout.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useLogout.ts"],"sourcesContent":["import { useIdentityMethods } from '../contexts'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\n\nexport const useLogout = () => {\n\tconst { clearIdentity } = useIdentityMethods()\n\treturn useLogoutInternal(clearIdentity)\n}\n"],"names":[],"mappings":";;AAGO,MAAM,YAAY,MAAM;AAC9B,QAAM,EAAE,cAAA,IAAkB,mBAAA;AAC1B,SAAO,kBAAkB,aAAa;AACvC;"}
1
+ {"version":3,"file":"useLogout.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useLogout.ts"],"sourcesContent":["import { useIdentityMethods } from '../contexts.js'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal.js'\n\nexport const useLogout = () => {\n\tconst { clearIdentity } = useIdentityMethods()\n\treturn useLogoutInternal(clearIdentity)\n}\n"],"names":[],"mappings":";;AAGO,MAAM,YAAY,MAAM;AAC9B,QAAM,EAAE,cAAA,IAAkB,mBAAA;AAC1B,SAAO,kBAAkB,aAAa;AACvC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePasswordlessOtpActivator.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/usePasswordlessOtpActivator.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { PASSWORDLESS_REQUEST_STORAGE_KEY } from '../consts'\nimport { useActivatePasswordlessOtpMutation } from './mutations'\nimport { randomString } from '../internal/utils/randomInt'\nimport { calculateHash } from '../internal/utils/hashing'\nimport { ActivatePasswordlessOtpErrorCode } from '@contember/graphql-client-tenant'\n\nconst usePasswordlessParams = (): { localStorageRequestId: string | null; urlRequestId: string | null; urlToken: string | null } => {\n\tconst localStorageValue = localStorage.getItem(PASSWORDLESS_REQUEST_STORAGE_KEY) ?? null\n\tconst urlParams = new URLSearchParams(window.location.search)\n\tconst requestId = urlParams.get('request_id')\n\tconst token = urlParams.get('token')\n\n\treturn { localStorageRequestId: localStorageValue, urlRequestId: requestId, urlToken: token }\n}\n\nexport type PasswordlessResponseHandlerState =\n\t| { type: 'empty' }\n\t| { type: 'otp_activating' }\n\t| { type: 'otp_activated'; otp: string }\n\t| { type: 'otp_activation_failed'; error: ActivatePasswordlessOtpErrorCode | 'UNKNOWN_ERROR' }\n\t| { type: 'can_proceed_to_login' }\n\nexport const usePasswordlessOtpActivator = ({ otpLength = 6, otpChars = '0123456789ABCDEF' }: {\n\totpLength?: number\n\totpChars?: string\n} = {}) => {\n\tconst { localStorageRequestId, urlRequestId, urlToken } = usePasswordlessParams()\n\tconst activateOtp = useActivatePasswordlessOtpMutation()\n\n\tconst [state, setState] = useState<PasswordlessResponseHandlerState>(() => {\n\t\tif (urlRequestId && urlToken) {\n\t\t\tif (localStorageRequestId !== urlRequestId) {\n\t\t\t\treturn { type: 'otp_activating' }\n\t\t\t} else {\n\t\t\t\treturn { type: 'can_proceed_to_login' }\n\t\t\t}\n\t\t}\n\t\treturn { type: 'empty' }\n\t})\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n\tuseEffect(() => {\n\t\t;(async () => {\n\t\t\tif (state.type === 'otp_activating') {\n\t\t\t\tconst otpCode = randomString(otpLength, otpChars)\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await activateOtp({\n\t\t\t\t\t\trequestId: urlRequestId!,\n\t\t\t\t\t\ttoken: urlToken!,\n\t\t\t\t\t\totpHash: await calculateHash('SHA-256', otpCode),\n\t\t\t\t\t})\n\t\t\t\t\tif (!result.ok) {\n\t\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: result.error })\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetState({ type: 'otp_activated', otp: otpCode })\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error(e)\n\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: 'UNKNOWN_ERROR' })\n\t\t\t\t}\n\t\t\t}\n\t\t})()\n\t}, [activateOtp, localStorageRequestId, otpChars, otpLength, state.type, urlRequestId, urlToken])\n\n\treturn state\n}\n"],"names":["PASSWORDLESS_REQUEST_STORAGE_KEY","useActivatePasswordlessOtpMutation","useState","useEffect","randomString","calculateHash"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB,MAAsG;AACnI,QAAM,oBAAoB,aAAa,QAAQA,OAAAA,gCAAgC,KAAK;AACpF,QAAM,YAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC5D,QAAM,YAAY,UAAU,IAAI,YAAY;AAC5C,QAAM,QAAQ,UAAU,IAAI,OAAO;AAEnC,SAAO,EAAE,uBAAuB,mBAAmB,cAAc,WAAW,UAAU,MAAA;AACvF;AASO,MAAM,8BAA8B,CAAC,EAAE,YAAY,GAAG,WAAW,mBAAA,IAGpE,OAAO;AACV,QAAM,EAAE,uBAAuB,cAAc,SAAA,IAAa,sBAAA;AAC1D,QAAM,cAAcC,mCAAAA,mCAAA;AAEpB,QAAM,CAAC,OAAO,QAAQ,IAAIC,MAAAA,SAA2C,MAAM;AAC1E,QAAI,gBAAgB,UAAU;AAC7B,UAAI,0BAA0B,cAAc;AAC3C,eAAO,EAAE,MAAM,iBAAA;AAAA,MAChB,OAAO;AACN,eAAO,EAAE,MAAM,uBAAA;AAAA,MAChB;AAAA,IACD;AACA,WAAO,EAAE,MAAM,QAAA;AAAA,EAChB,CAAC;AAGDC,QAAAA,UAAU,MAAM;AACd,KAAC,YAAY;AACb,UAAI,MAAM,SAAS,kBAAkB;AACpC,cAAM,UAAUC,UAAAA,aAAa,WAAW,QAAQ;AAChD,YAAI;AACH,gBAAM,SAAS,MAAM,YAAY;AAAA,YAChC,WAAW;AAAA,YACX,OAAO;AAAA,YACP,SAAS,MAAMC,sBAAc,WAAW,OAAO;AAAA,UAAA,CAC/C;AACD,cAAI,CAAC,OAAO,IAAI;AACf,qBAAS,EAAE,MAAM,yBAAyB,OAAO,OAAO,OAAO;AAAA,UAChE,OAAO;AACN,qBAAS,EAAE,MAAM,iBAAiB,KAAK,SAAS;AAAA,UACjD;AAAA,QACD,SAAS,GAAG;AACX,kBAAQ,MAAM,CAAC;AACf,mBAAS,EAAE,MAAM,yBAAyB,OAAO,iBAAiB;AAAA,QACnE;AAAA,MACD;AAAA,IACD,GAAA;AAAA,EACD,GAAG,CAAC,aAAa,uBAAuB,UAAU,WAAW,MAAM,MAAM,cAAc,QAAQ,CAAC;AAEhG,SAAO;AACR;;"}
1
+ {"version":3,"file":"usePasswordlessOtpActivator.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/usePasswordlessOtpActivator.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { PASSWORDLESS_REQUEST_STORAGE_KEY } from '../consts.js'\nimport { useActivatePasswordlessOtpMutation } from './mutations/index.js'\nimport { randomString } from '../internal/utils/randomInt.js'\nimport { calculateHash } from '../internal/utils/hashing.js'\nimport { ActivatePasswordlessOtpErrorCode } from '@contember/graphql-client-tenant'\n\nconst usePasswordlessParams = (): { localStorageRequestId: string | null; urlRequestId: string | null; urlToken: string | null } => {\n\tconst localStorageValue = localStorage.getItem(PASSWORDLESS_REQUEST_STORAGE_KEY) ?? null\n\tconst urlParams = new URLSearchParams(window.location.search)\n\tconst requestId = urlParams.get('request_id')\n\tconst token = urlParams.get('token')\n\n\treturn { localStorageRequestId: localStorageValue, urlRequestId: requestId, urlToken: token }\n}\n\nexport type PasswordlessResponseHandlerState =\n\t| { type: 'empty' }\n\t| { type: 'otp_activating' }\n\t| { type: 'otp_activated'; otp: string }\n\t| { type: 'otp_activation_failed'; error: ActivatePasswordlessOtpErrorCode | 'UNKNOWN_ERROR' }\n\t| { type: 'can_proceed_to_login' }\n\nexport const usePasswordlessOtpActivator = ({ otpLength = 6, otpChars = '0123456789ABCDEF' }: {\n\totpLength?: number\n\totpChars?: string\n} = {}) => {\n\tconst { localStorageRequestId, urlRequestId, urlToken } = usePasswordlessParams()\n\tconst activateOtp = useActivatePasswordlessOtpMutation()\n\n\tconst [state, setState] = useState<PasswordlessResponseHandlerState>(() => {\n\t\tif (urlRequestId && urlToken) {\n\t\t\tif (localStorageRequestId !== urlRequestId) {\n\t\t\t\treturn { type: 'otp_activating' }\n\t\t\t} else {\n\t\t\t\treturn { type: 'can_proceed_to_login' }\n\t\t\t}\n\t\t}\n\t\treturn { type: 'empty' }\n\t})\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n\tuseEffect(() => {\n\t\t;(async () => {\n\t\t\tif (state.type === 'otp_activating') {\n\t\t\t\tconst otpCode = randomString(otpLength, otpChars)\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await activateOtp({\n\t\t\t\t\t\trequestId: urlRequestId!,\n\t\t\t\t\t\ttoken: urlToken!,\n\t\t\t\t\t\totpHash: await calculateHash('SHA-256', otpCode),\n\t\t\t\t\t})\n\t\t\t\t\tif (!result.ok) {\n\t\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: result.error })\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetState({ type: 'otp_activated', otp: otpCode })\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error(e)\n\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: 'UNKNOWN_ERROR' })\n\t\t\t\t}\n\t\t\t}\n\t\t})()\n\t}, [activateOtp, localStorageRequestId, otpChars, otpLength, state.type, urlRequestId, urlToken])\n\n\treturn state\n}\n"],"names":["PASSWORDLESS_REQUEST_STORAGE_KEY","useActivatePasswordlessOtpMutation","useState","useEffect","randomString","calculateHash"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB,MAAsG;AACnI,QAAM,oBAAoB,aAAa,QAAQA,OAAAA,gCAAgC,KAAK;AACpF,QAAM,YAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC5D,QAAM,YAAY,UAAU,IAAI,YAAY;AAC5C,QAAM,QAAQ,UAAU,IAAI,OAAO;AAEnC,SAAO,EAAE,uBAAuB,mBAAmB,cAAc,WAAW,UAAU,MAAA;AACvF;AASO,MAAM,8BAA8B,CAAC,EAAE,YAAY,GAAG,WAAW,mBAAA,IAGpE,OAAO;AACV,QAAM,EAAE,uBAAuB,cAAc,SAAA,IAAa,sBAAA;AAC1D,QAAM,cAAcC,mCAAAA,mCAAA;AAEpB,QAAM,CAAC,OAAO,QAAQ,IAAIC,MAAAA,SAA2C,MAAM;AAC1E,QAAI,gBAAgB,UAAU;AAC7B,UAAI,0BAA0B,cAAc;AAC3C,eAAO,EAAE,MAAM,iBAAA;AAAA,MAChB,OAAO;AACN,eAAO,EAAE,MAAM,uBAAA;AAAA,MAChB;AAAA,IACD;AACA,WAAO,EAAE,MAAM,QAAA;AAAA,EAChB,CAAC;AAGDC,QAAAA,UAAU,MAAM;AACd,KAAC,YAAY;AACb,UAAI,MAAM,SAAS,kBAAkB;AACpC,cAAM,UAAUC,UAAAA,aAAa,WAAW,QAAQ;AAChD,YAAI;AACH,gBAAM,SAAS,MAAM,YAAY;AAAA,YAChC,WAAW;AAAA,YACX,OAAO;AAAA,YACP,SAAS,MAAMC,sBAAc,WAAW,OAAO;AAAA,UAAA,CAC/C;AACD,cAAI,CAAC,OAAO,IAAI;AACf,qBAAS,EAAE,MAAM,yBAAyB,OAAO,OAAO,OAAO;AAAA,UAChE,OAAO;AACN,qBAAS,EAAE,MAAM,iBAAiB,KAAK,SAAS;AAAA,UACjD;AAAA,QACD,SAAS,GAAG;AACX,kBAAQ,MAAM,CAAC;AACf,mBAAS,EAAE,MAAM,yBAAyB,OAAO,iBAAiB;AAAA,QACnE;AAAA,MACD;AAAA,IACD,GAAA;AAAA,EACD,GAAG,CAAC,aAAa,uBAAuB,UAAU,WAAW,MAAM,MAAM,cAAc,QAAQ,CAAC;AAEhG,SAAO;AACR;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePasswordlessOtpActivator.js","sources":["../../../../../packages/react-client-tenant/src/hooks/usePasswordlessOtpActivator.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { PASSWORDLESS_REQUEST_STORAGE_KEY } from '../consts'\nimport { useActivatePasswordlessOtpMutation } from './mutations'\nimport { randomString } from '../internal/utils/randomInt'\nimport { calculateHash } from '../internal/utils/hashing'\nimport { ActivatePasswordlessOtpErrorCode } from '@contember/graphql-client-tenant'\n\nconst usePasswordlessParams = (): { localStorageRequestId: string | null; urlRequestId: string | null; urlToken: string | null } => {\n\tconst localStorageValue = localStorage.getItem(PASSWORDLESS_REQUEST_STORAGE_KEY) ?? null\n\tconst urlParams = new URLSearchParams(window.location.search)\n\tconst requestId = urlParams.get('request_id')\n\tconst token = urlParams.get('token')\n\n\treturn { localStorageRequestId: localStorageValue, urlRequestId: requestId, urlToken: token }\n}\n\nexport type PasswordlessResponseHandlerState =\n\t| { type: 'empty' }\n\t| { type: 'otp_activating' }\n\t| { type: 'otp_activated'; otp: string }\n\t| { type: 'otp_activation_failed'; error: ActivatePasswordlessOtpErrorCode | 'UNKNOWN_ERROR' }\n\t| { type: 'can_proceed_to_login' }\n\nexport const usePasswordlessOtpActivator = ({ otpLength = 6, otpChars = '0123456789ABCDEF' }: {\n\totpLength?: number\n\totpChars?: string\n} = {}) => {\n\tconst { localStorageRequestId, urlRequestId, urlToken } = usePasswordlessParams()\n\tconst activateOtp = useActivatePasswordlessOtpMutation()\n\n\tconst [state, setState] = useState<PasswordlessResponseHandlerState>(() => {\n\t\tif (urlRequestId && urlToken) {\n\t\t\tif (localStorageRequestId !== urlRequestId) {\n\t\t\t\treturn { type: 'otp_activating' }\n\t\t\t} else {\n\t\t\t\treturn { type: 'can_proceed_to_login' }\n\t\t\t}\n\t\t}\n\t\treturn { type: 'empty' }\n\t})\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n\tuseEffect(() => {\n\t\t;(async () => {\n\t\t\tif (state.type === 'otp_activating') {\n\t\t\t\tconst otpCode = randomString(otpLength, otpChars)\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await activateOtp({\n\t\t\t\t\t\trequestId: urlRequestId!,\n\t\t\t\t\t\ttoken: urlToken!,\n\t\t\t\t\t\totpHash: await calculateHash('SHA-256', otpCode),\n\t\t\t\t\t})\n\t\t\t\t\tif (!result.ok) {\n\t\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: result.error })\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetState({ type: 'otp_activated', otp: otpCode })\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error(e)\n\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: 'UNKNOWN_ERROR' })\n\t\t\t\t}\n\t\t\t}\n\t\t})()\n\t}, [activateOtp, localStorageRequestId, otpChars, otpLength, state.type, urlRequestId, urlToken])\n\n\treturn state\n}\n"],"names":[],"mappings":";;;;;AAOA,MAAM,wBAAwB,MAAsG;AACnI,QAAM,oBAAoB,aAAa,QAAQ,gCAAgC,KAAK;AACpF,QAAM,YAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC5D,QAAM,YAAY,UAAU,IAAI,YAAY;AAC5C,QAAM,QAAQ,UAAU,IAAI,OAAO;AAEnC,SAAO,EAAE,uBAAuB,mBAAmB,cAAc,WAAW,UAAU,MAAA;AACvF;AASO,MAAM,8BAA8B,CAAC,EAAE,YAAY,GAAG,WAAW,mBAAA,IAGpE,OAAO;AACV,QAAM,EAAE,uBAAuB,cAAc,SAAA,IAAa,sBAAA;AAC1D,QAAM,cAAc,mCAAA;AAEpB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAA2C,MAAM;AAC1E,QAAI,gBAAgB,UAAU;AAC7B,UAAI,0BAA0B,cAAc;AAC3C,eAAO,EAAE,MAAM,iBAAA;AAAA,MAChB,OAAO;AACN,eAAO,EAAE,MAAM,uBAAA;AAAA,MAChB;AAAA,IACD;AACA,WAAO,EAAE,MAAM,QAAA;AAAA,EAChB,CAAC;AAGD,YAAU,MAAM;AACd,KAAC,YAAY;AACb,UAAI,MAAM,SAAS,kBAAkB;AACpC,cAAM,UAAU,aAAa,WAAW,QAAQ;AAChD,YAAI;AACH,gBAAM,SAAS,MAAM,YAAY;AAAA,YAChC,WAAW;AAAA,YACX,OAAO;AAAA,YACP,SAAS,MAAM,cAAc,WAAW,OAAO;AAAA,UAAA,CAC/C;AACD,cAAI,CAAC,OAAO,IAAI;AACf,qBAAS,EAAE,MAAM,yBAAyB,OAAO,OAAO,OAAO;AAAA,UAChE,OAAO;AACN,qBAAS,EAAE,MAAM,iBAAiB,KAAK,SAAS;AAAA,UACjD;AAAA,QACD,SAAS,GAAG;AACX,kBAAQ,MAAM,CAAC;AACf,mBAAS,EAAE,MAAM,yBAAyB,OAAO,iBAAiB;AAAA,QACnE;AAAA,MACD;AAAA,IACD,GAAA;AAAA,EACD,GAAG,CAAC,aAAa,uBAAuB,UAAU,WAAW,MAAM,MAAM,cAAc,QAAQ,CAAC;AAEhG,SAAO;AACR;"}
1
+ {"version":3,"file":"usePasswordlessOtpActivator.js","sources":["../../../../../packages/react-client-tenant/src/hooks/usePasswordlessOtpActivator.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { PASSWORDLESS_REQUEST_STORAGE_KEY } from '../consts.js'\nimport { useActivatePasswordlessOtpMutation } from './mutations/index.js'\nimport { randomString } from '../internal/utils/randomInt.js'\nimport { calculateHash } from '../internal/utils/hashing.js'\nimport { ActivatePasswordlessOtpErrorCode } from '@contember/graphql-client-tenant'\n\nconst usePasswordlessParams = (): { localStorageRequestId: string | null; urlRequestId: string | null; urlToken: string | null } => {\n\tconst localStorageValue = localStorage.getItem(PASSWORDLESS_REQUEST_STORAGE_KEY) ?? null\n\tconst urlParams = new URLSearchParams(window.location.search)\n\tconst requestId = urlParams.get('request_id')\n\tconst token = urlParams.get('token')\n\n\treturn { localStorageRequestId: localStorageValue, urlRequestId: requestId, urlToken: token }\n}\n\nexport type PasswordlessResponseHandlerState =\n\t| { type: 'empty' }\n\t| { type: 'otp_activating' }\n\t| { type: 'otp_activated'; otp: string }\n\t| { type: 'otp_activation_failed'; error: ActivatePasswordlessOtpErrorCode | 'UNKNOWN_ERROR' }\n\t| { type: 'can_proceed_to_login' }\n\nexport const usePasswordlessOtpActivator = ({ otpLength = 6, otpChars = '0123456789ABCDEF' }: {\n\totpLength?: number\n\totpChars?: string\n} = {}) => {\n\tconst { localStorageRequestId, urlRequestId, urlToken } = usePasswordlessParams()\n\tconst activateOtp = useActivatePasswordlessOtpMutation()\n\n\tconst [state, setState] = useState<PasswordlessResponseHandlerState>(() => {\n\t\tif (urlRequestId && urlToken) {\n\t\t\tif (localStorageRequestId !== urlRequestId) {\n\t\t\t\treturn { type: 'otp_activating' }\n\t\t\t} else {\n\t\t\t\treturn { type: 'can_proceed_to_login' }\n\t\t\t}\n\t\t}\n\t\treturn { type: 'empty' }\n\t})\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n\tuseEffect(() => {\n\t\t;(async () => {\n\t\t\tif (state.type === 'otp_activating') {\n\t\t\t\tconst otpCode = randomString(otpLength, otpChars)\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await activateOtp({\n\t\t\t\t\t\trequestId: urlRequestId!,\n\t\t\t\t\t\ttoken: urlToken!,\n\t\t\t\t\t\totpHash: await calculateHash('SHA-256', otpCode),\n\t\t\t\t\t})\n\t\t\t\t\tif (!result.ok) {\n\t\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: result.error })\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetState({ type: 'otp_activated', otp: otpCode })\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error(e)\n\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: 'UNKNOWN_ERROR' })\n\t\t\t\t}\n\t\t\t}\n\t\t})()\n\t}, [activateOtp, localStorageRequestId, otpChars, otpLength, state.type, urlRequestId, urlToken])\n\n\treturn state\n}\n"],"names":[],"mappings":";;;;;AAOA,MAAM,wBAAwB,MAAsG;AACnI,QAAM,oBAAoB,aAAa,QAAQ,gCAAgC,KAAK;AACpF,QAAM,YAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC5D,QAAM,YAAY,UAAU,IAAI,YAAY;AAC5C,QAAM,QAAQ,UAAU,IAAI,OAAO;AAEnC,SAAO,EAAE,uBAAuB,mBAAmB,cAAc,WAAW,UAAU,MAAA;AACvF;AASO,MAAM,8BAA8B,CAAC,EAAE,YAAY,GAAG,WAAW,mBAAA,IAGpE,OAAO;AACV,QAAM,EAAE,uBAAuB,cAAc,SAAA,IAAa,sBAAA;AAC1D,QAAM,cAAc,mCAAA;AAEpB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAA2C,MAAM;AAC1E,QAAI,gBAAgB,UAAU;AAC7B,UAAI,0BAA0B,cAAc;AAC3C,eAAO,EAAE,MAAM,iBAAA;AAAA,MAChB,OAAO;AACN,eAAO,EAAE,MAAM,uBAAA;AAAA,MAChB;AAAA,IACD;AACA,WAAO,EAAE,MAAM,QAAA;AAAA,EAChB,CAAC;AAGD,YAAU,MAAM;AACd,KAAC,YAAY;AACb,UAAI,MAAM,SAAS,kBAAkB;AACpC,cAAM,UAAU,aAAa,WAAW,QAAQ;AAChD,YAAI;AACH,gBAAM,SAAS,MAAM,YAAY;AAAA,YAChC,WAAW;AAAA,YACX,OAAO;AAAA,YACP,SAAS,MAAM,cAAc,WAAW,OAAO;AAAA,UAAA,CAC/C;AACD,cAAI,CAAC,OAAO,IAAI;AACf,qBAAS,EAAE,MAAM,yBAAyB,OAAO,OAAO,OAAO;AAAA,UAChE,OAAO;AACN,qBAAS,EAAE,MAAM,iBAAiB,KAAK,SAAS;AAAA,UACjD;AAAA,QACD,SAAS,GAAG;AACX,kBAAQ,MAAM,CAAC;AACf,mBAAS,EAAE,MAAM,yBAAyB,OAAO,iBAAiB;AAAA,QACnE;AAAA,MACD;AAAA,IACD,GAAA;AAAA,EACD,GAAG,CAAC,aAAa,uBAAuB,UAAU,WAAW,MAAM,MAAM,cAAc,QAAQ,CAAC;AAEhG,SAAO;AACR;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTenantMutation.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantMutation.ts"],"sourcesContent":["import { TenantApiOptions, useTenantApi } from './useTenantApi'\nimport { useCallback, useMemo } from 'react'\nimport { MutationFetcher } from '@contember/graphql-client-tenant'\n\nexport type TenantMutationOkResponse<Result> = { ok: true; result: Result }\nexport type TenantMutationErrorResponse<Error> = { ok: false; error: Error; developerMessage?: string }\nexport type TenantMutationResponse<Result, Error> = TenantMutationOkResponse<Result> | TenantMutationErrorResponse<Error>\n\nexport type TenantMutation<Result, Error> = {\n\treadonly mutation?: { readonly ok: boolean; readonly error?: { readonly code: Error; readonly developerMessage: string }; readonly result?: Result }\n}\n\nexport const useTenantMutation = <TResult, TError extends string = never, TVariables extends object = {}>(\n\tfetcher: MutationFetcher<TenantMutation<TResult, TError>, TVariables>,\n\t{ headers, apiToken }: TenantApiOptions = {},\n) => {\n\tconst tenantApi = useTenantApi({ headers, apiToken })\n\n\treturn useCallback(async (variables: TVariables): Promise<TenantMutationResponse<TResult, TError>> => {\n\t\tconst result = await tenantApi(\n\t\t\tfetcher,\n\t\t\t{\n\t\t\t\tvariables,\n\t\t\t},\n\t\t)\n\t\tif (!result.mutation?.ok) {\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terror: result.mutation?.error?.code as TError,\n\t\t\t\tdeveloperMessage: result.mutation?.error?.developerMessage,\n\t\t\t}\n\t\t} else {\n\t\t\treturn { ok: true, result: result.mutation.result as TResult }\n\t\t}\n\t}, [fetcher, tenantApi])\n}\n\nexport const createTenantMutation = <TResult, TError extends string = never, TVariables extends object = {}>(\n\tfetcher: MutationFetcher<TenantMutation<TResult, TError>, TVariables>,\n\tdefaultOptions?: TenantApiOptions,\n) => {\n\treturn ({ headers, apiToken }: TenantApiOptions = {}) =>\n\t\tuseTenantMutation(fetcher, {\n\t\t\theaders: useMemo(() => ({ ...defaultOptions?.headers, ...headers }), [headers]),\n\t\t\tapiToken: apiToken ?? defaultOptions?.apiToken,\n\t\t})\n}\n"],"names":["useTenantApi","useCallback","useMemo"],"mappings":";;;;AAYO,MAAM,oBAAoB,CAChC,SACA,EAAE,SAAS,SAAA,IAA+B,CAAA,MACtC;AACJ,QAAM,YAAYA,aAAAA,aAAa,EAAE,SAAS,UAAU;AAEpD,SAAOC,MAAAA,YAAY,OAAO,cAA4E;AACrG,UAAM,SAAS,MAAM;AAAA,MACpB;AAAA,MACA;AAAA,QACC;AAAA,MAAA;AAAA,IACD;AAED,QAAI,CAAC,OAAO,UAAU,IAAI;AACzB,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,OAAO,OAAO,UAAU,OAAO;AAAA,QAC/B,kBAAkB,OAAO,UAAU,OAAO;AAAA,MAAA;AAAA,IAE5C,OAAO;AACN,aAAO,EAAE,IAAI,MAAM,QAAQ,OAAO,SAAS,OAAA;AAAA,IAC5C;AAAA,EACD,GAAG,CAAC,SAAS,SAAS,CAAC;AACxB;AAEO,MAAM,uBAAuB,CACnC,SACA,mBACI;AACJ,SAAO,CAAC,EAAE,SAAS,SAAA,IAA+B,CAAA,MACjD,kBAAkB,SAAS;AAAA,IAC1B,SAASC,MAAAA,QAAQ,OAAO,EAAE,GAAG,gBAAgB,SAAS,GAAG,QAAA,IAAY,CAAC,OAAO,CAAC;AAAA,IAC9E,UAAU,YAAY,gBAAgB;AAAA,EAAA,CACtC;AACH;;;"}
1
+ {"version":3,"file":"useTenantMutation.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantMutation.ts"],"sourcesContent":["import { TenantApiOptions, useTenantApi } from './useTenantApi.js'\nimport { useCallback, useMemo } from 'react'\nimport { MutationFetcher } from '@contember/graphql-client-tenant'\n\nexport type TenantMutationOkResponse<Result> = { ok: true; result: Result }\nexport type TenantMutationErrorResponse<Error> = { ok: false; error: Error; developerMessage?: string }\nexport type TenantMutationResponse<Result, Error> = TenantMutationOkResponse<Result> | TenantMutationErrorResponse<Error>\n\nexport type TenantMutation<Result, Error> = {\n\treadonly mutation?: { readonly ok: boolean; readonly error?: { readonly code: Error; readonly developerMessage: string }; readonly result?: Result }\n}\n\nexport const useTenantMutation = <TResult, TError extends string = never, TVariables extends object = {}>(\n\tfetcher: MutationFetcher<TenantMutation<TResult, TError>, TVariables>,\n\t{ headers, apiToken }: TenantApiOptions = {},\n) => {\n\tconst tenantApi = useTenantApi({ headers, apiToken })\n\n\treturn useCallback(async (variables: TVariables): Promise<TenantMutationResponse<TResult, TError>> => {\n\t\tconst result = await tenantApi(\n\t\t\tfetcher,\n\t\t\t{\n\t\t\t\tvariables,\n\t\t\t},\n\t\t)\n\t\tif (!result.mutation?.ok) {\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terror: result.mutation?.error?.code as TError,\n\t\t\t\tdeveloperMessage: result.mutation?.error?.developerMessage,\n\t\t\t}\n\t\t} else {\n\t\t\treturn { ok: true, result: result.mutation.result as TResult }\n\t\t}\n\t}, [fetcher, tenantApi])\n}\n\nexport const createTenantMutation = <TResult, TError extends string = never, TVariables extends object = {}>(\n\tfetcher: MutationFetcher<TenantMutation<TResult, TError>, TVariables>,\n\tdefaultOptions?: TenantApiOptions,\n) => {\n\treturn ({ headers, apiToken }: TenantApiOptions = {}) =>\n\t\tuseTenantMutation(fetcher, {\n\t\t\theaders: useMemo(() => ({ ...defaultOptions?.headers, ...headers }), [headers]),\n\t\t\tapiToken: apiToken ?? defaultOptions?.apiToken,\n\t\t})\n}\n"],"names":["useTenantApi","useCallback","useMemo"],"mappings":";;;;AAYO,MAAM,oBAAoB,CAChC,SACA,EAAE,SAAS,SAAA,IAA+B,CAAA,MACtC;AACJ,QAAM,YAAYA,aAAAA,aAAa,EAAE,SAAS,UAAU;AAEpD,SAAOC,MAAAA,YAAY,OAAO,cAA4E;AACrG,UAAM,SAAS,MAAM;AAAA,MACpB;AAAA,MACA;AAAA,QACC;AAAA,MAAA;AAAA,IACD;AAED,QAAI,CAAC,OAAO,UAAU,IAAI;AACzB,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,OAAO,OAAO,UAAU,OAAO;AAAA,QAC/B,kBAAkB,OAAO,UAAU,OAAO;AAAA,MAAA;AAAA,IAE5C,OAAO;AACN,aAAO,EAAE,IAAI,MAAM,QAAQ,OAAO,SAAS,OAAA;AAAA,IAC5C;AAAA,EACD,GAAG,CAAC,SAAS,SAAS,CAAC;AACxB;AAEO,MAAM,uBAAuB,CACnC,SACA,mBACI;AACJ,SAAO,CAAC,EAAE,SAAS,SAAA,IAA+B,CAAA,MACjD,kBAAkB,SAAS;AAAA,IAC1B,SAASC,MAAAA,QAAQ,OAAO,EAAE,GAAG,gBAAgB,SAAS,GAAG,QAAA,IAAY,CAAC,OAAO,CAAC;AAAA,IAC9E,UAAU,YAAY,gBAAgB;AAAA,EAAA,CACtC;AACH;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTenantMutation.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantMutation.ts"],"sourcesContent":["import { TenantApiOptions, useTenantApi } from './useTenantApi'\nimport { useCallback, useMemo } from 'react'\nimport { MutationFetcher } from '@contember/graphql-client-tenant'\n\nexport type TenantMutationOkResponse<Result> = { ok: true; result: Result }\nexport type TenantMutationErrorResponse<Error> = { ok: false; error: Error; developerMessage?: string }\nexport type TenantMutationResponse<Result, Error> = TenantMutationOkResponse<Result> | TenantMutationErrorResponse<Error>\n\nexport type TenantMutation<Result, Error> = {\n\treadonly mutation?: { readonly ok: boolean; readonly error?: { readonly code: Error; readonly developerMessage: string }; readonly result?: Result }\n}\n\nexport const useTenantMutation = <TResult, TError extends string = never, TVariables extends object = {}>(\n\tfetcher: MutationFetcher<TenantMutation<TResult, TError>, TVariables>,\n\t{ headers, apiToken }: TenantApiOptions = {},\n) => {\n\tconst tenantApi = useTenantApi({ headers, apiToken })\n\n\treturn useCallback(async (variables: TVariables): Promise<TenantMutationResponse<TResult, TError>> => {\n\t\tconst result = await tenantApi(\n\t\t\tfetcher,\n\t\t\t{\n\t\t\t\tvariables,\n\t\t\t},\n\t\t)\n\t\tif (!result.mutation?.ok) {\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terror: result.mutation?.error?.code as TError,\n\t\t\t\tdeveloperMessage: result.mutation?.error?.developerMessage,\n\t\t\t}\n\t\t} else {\n\t\t\treturn { ok: true, result: result.mutation.result as TResult }\n\t\t}\n\t}, [fetcher, tenantApi])\n}\n\nexport const createTenantMutation = <TResult, TError extends string = never, TVariables extends object = {}>(\n\tfetcher: MutationFetcher<TenantMutation<TResult, TError>, TVariables>,\n\tdefaultOptions?: TenantApiOptions,\n) => {\n\treturn ({ headers, apiToken }: TenantApiOptions = {}) =>\n\t\tuseTenantMutation(fetcher, {\n\t\t\theaders: useMemo(() => ({ ...defaultOptions?.headers, ...headers }), [headers]),\n\t\t\tapiToken: apiToken ?? defaultOptions?.apiToken,\n\t\t})\n}\n"],"names":[],"mappings":";;AAYO,MAAM,oBAAoB,CAChC,SACA,EAAE,SAAS,SAAA,IAA+B,CAAA,MACtC;AACJ,QAAM,YAAY,aAAa,EAAE,SAAS,UAAU;AAEpD,SAAO,YAAY,OAAO,cAA4E;AACrG,UAAM,SAAS,MAAM;AAAA,MACpB;AAAA,MACA;AAAA,QACC;AAAA,MAAA;AAAA,IACD;AAED,QAAI,CAAC,OAAO,UAAU,IAAI;AACzB,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,OAAO,OAAO,UAAU,OAAO;AAAA,QAC/B,kBAAkB,OAAO,UAAU,OAAO;AAAA,MAAA;AAAA,IAE5C,OAAO;AACN,aAAO,EAAE,IAAI,MAAM,QAAQ,OAAO,SAAS,OAAA;AAAA,IAC5C;AAAA,EACD,GAAG,CAAC,SAAS,SAAS,CAAC;AACxB;AAEO,MAAM,uBAAuB,CACnC,SACA,mBACI;AACJ,SAAO,CAAC,EAAE,SAAS,SAAA,IAA+B,CAAA,MACjD,kBAAkB,SAAS;AAAA,IAC1B,SAAS,QAAQ,OAAO,EAAE,GAAG,gBAAgB,SAAS,GAAG,QAAA,IAAY,CAAC,OAAO,CAAC;AAAA,IAC9E,UAAU,YAAY,gBAAgB;AAAA,EAAA,CACtC;AACH;"}
1
+ {"version":3,"file":"useTenantMutation.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantMutation.ts"],"sourcesContent":["import { TenantApiOptions, useTenantApi } from './useTenantApi.js'\nimport { useCallback, useMemo } from 'react'\nimport { MutationFetcher } from '@contember/graphql-client-tenant'\n\nexport type TenantMutationOkResponse<Result> = { ok: true; result: Result }\nexport type TenantMutationErrorResponse<Error> = { ok: false; error: Error; developerMessage?: string }\nexport type TenantMutationResponse<Result, Error> = TenantMutationOkResponse<Result> | TenantMutationErrorResponse<Error>\n\nexport type TenantMutation<Result, Error> = {\n\treadonly mutation?: { readonly ok: boolean; readonly error?: { readonly code: Error; readonly developerMessage: string }; readonly result?: Result }\n}\n\nexport const useTenantMutation = <TResult, TError extends string = never, TVariables extends object = {}>(\n\tfetcher: MutationFetcher<TenantMutation<TResult, TError>, TVariables>,\n\t{ headers, apiToken }: TenantApiOptions = {},\n) => {\n\tconst tenantApi = useTenantApi({ headers, apiToken })\n\n\treturn useCallback(async (variables: TVariables): Promise<TenantMutationResponse<TResult, TError>> => {\n\t\tconst result = await tenantApi(\n\t\t\tfetcher,\n\t\t\t{\n\t\t\t\tvariables,\n\t\t\t},\n\t\t)\n\t\tif (!result.mutation?.ok) {\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terror: result.mutation?.error?.code as TError,\n\t\t\t\tdeveloperMessage: result.mutation?.error?.developerMessage,\n\t\t\t}\n\t\t} else {\n\t\t\treturn { ok: true, result: result.mutation.result as TResult }\n\t\t}\n\t}, [fetcher, tenantApi])\n}\n\nexport const createTenantMutation = <TResult, TError extends string = never, TVariables extends object = {}>(\n\tfetcher: MutationFetcher<TenantMutation<TResult, TError>, TVariables>,\n\tdefaultOptions?: TenantApiOptions,\n) => {\n\treturn ({ headers, apiToken }: TenantApiOptions = {}) =>\n\t\tuseTenantMutation(fetcher, {\n\t\t\theaders: useMemo(() => ({ ...defaultOptions?.headers, ...headers }), [headers]),\n\t\t\tapiToken: apiToken ?? defaultOptions?.apiToken,\n\t\t})\n}\n"],"names":[],"mappings":";;AAYO,MAAM,oBAAoB,CAChC,SACA,EAAE,SAAS,SAAA,IAA+B,CAAA,MACtC;AACJ,QAAM,YAAY,aAAa,EAAE,SAAS,UAAU;AAEpD,SAAO,YAAY,OAAO,cAA4E;AACrG,UAAM,SAAS,MAAM;AAAA,MACpB;AAAA,MACA;AAAA,QACC;AAAA,MAAA;AAAA,IACD;AAED,QAAI,CAAC,OAAO,UAAU,IAAI;AACzB,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,OAAO,OAAO,UAAU,OAAO;AAAA,QAC/B,kBAAkB,OAAO,UAAU,OAAO;AAAA,MAAA;AAAA,IAE5C,OAAO;AACN,aAAO,EAAE,IAAI,MAAM,QAAQ,OAAO,SAAS,OAAA;AAAA,IAC5C;AAAA,EACD,GAAG,CAAC,SAAS,SAAS,CAAC;AACxB;AAEO,MAAM,uBAAuB,CACnC,SACA,mBACI;AACJ,SAAO,CAAC,EAAE,SAAS,SAAA,IAA+B,CAAA,MACjD,kBAAkB,SAAS;AAAA,IAC1B,SAAS,QAAQ,OAAO,EAAE,GAAG,gBAAgB,SAAS,GAAG,QAAA,IAAY,CAAC,OAAO,CAAC;AAAA,IAC9E,UAAU,YAAY,gBAAgB;AAAA,EAAA,CACtC;AACH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useHandleIDPResponse.cjs","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useHandleIDPResponse.ts"],"sourcesContent":["import { SetStateAction, useEffect, useRef } from 'react'\nimport { useSetSessionToken } from '@contember/react-client'\nimport { useIDPStateStore } from './useIDPStateStore'\nimport { getBaseHref } from '../utils/getBaseHref'\nimport { IDPStateValue } from '../../types/idp'\nimport { useSignInIDPMutation } from '../../hooks'\nimport { useRedirectToBacklinkCallback } from './useRedirectToBacklink'\n\nexport interface UseHandleIDPResponseProps {\n\tonLogin?: () => void\n\texpiration?: number\n\n\tsetState: (state: SetStateAction<IDPStateValue>) => void\n\thasOauthResponse: boolean\n\tredirectUrl?: string\n}\n\nconst headers = {\n\t'X-Contember-Token-Path': 'data.mutation.result.token',\n}\n\nconst DEFAULT_LOGIN_EXPIRATION = 14 * 24 * 60 // 14 days\n\nexport const useHandleIDPResponse = (\n\t{ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION, setState, hasOauthResponse, redirectUrl }: UseHandleIDPResponseProps,\n): void => {\n\tconst idpSignIn = useSignInIDPMutation({ headers })\n\tconst setSessionToken = useSetSessionToken()\n\n\tconst firstRenderRef = useRef(true)\n\n\tconst { get: loadIdpState } = useIDPStateStore()\n\tconst redirectToBackLink = useRedirectToBacklinkCallback()\n\n\tuseEffect(() => {\n\t\tif (!hasOauthResponse || !firstRenderRef.current) {\n\t\t\treturn\n\t\t}\n\t\tfirstRenderRef.current = false\n\t\t;(async () => {\n\t\t\tconst idpState = loadIdpState()\n\t\t\tif (!idpState) {\n\t\t\t\tsetState({ type: 'response_failed', error: 'INVALID_LOCAL_STATE' })\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst response = await idpSignIn({\n\t\t\t\tdata: {\n\t\t\t\t\turl: window.location.href,\n\t\t\t\t\tredirectUrl: redirectUrl || getBaseHref(),\n\t\t\t\t\tsessionData: idpState.sessionData,\n\t\t\t\t},\n\t\t\t\tidentityProvider: idpState.provider,\n\t\t\t\texpiration,\n\t\t\t})\n\t\t\tif (!response.ok) {\n\t\t\t\tsetState({ type: 'response_failed', error: response.error || 'UNKNOWN_ERROR' })\n\t\t\t} else {\n\t\t\t\tsetSessionToken(response.result.token)\n\t\t\t\tsetState({ type: 'success' })\n\n\t\t\t\tonLogin?.()\n\t\t\t\tredirectToBackLink()\n\t\t\t}\n\t\t})()\n\t}, [idpSignIn, onLogin, setSessionToken, hasOauthResponse, loadIdpState, expiration, setState, redirectToBackLink, redirectUrl])\n}\n"],"names":["useSignInIDPMutation","useSetSessionToken","useRef","useIDPStateStore","useRedirectToBacklinkCallback","useEffect","getBaseHref"],"mappings":";;;;;;;;AAiBA,MAAM,UAAU;AAAA,EACf,0BAA0B;AAC3B;AAEA,MAAM,2BAA2B,KAAK,KAAK;AAEpC,MAAM,uBAAuB,CACnC,EAAE,SAAS,aAAa,0BAA0B,UAAU,kBAAkB,kBACpE;AACV,QAAM,YAAYA,qBAAAA,qBAAqB,EAAE,SAAS;AAClD,QAAM,kBAAkBC,YAAAA,mBAAA;AAExB,QAAM,iBAAiBC,MAAAA,OAAO,IAAI;AAElC,QAAM,EAAE,KAAK,aAAA,IAAiBC,kCAAA;AAC9B,QAAM,qBAAqBC,sBAAAA,8BAAA;AAE3BC,QAAAA,UAAU,MAAM;AACf,QAAI,CAAC,oBAAoB,CAAC,eAAe,SAAS;AACjD;AAAA,IACD;AACA,mBAAe,UAAU;AACxB,KAAC,YAAY;AACb,YAAM,WAAW,aAAA;AACjB,UAAI,CAAC,UAAU;AACd,iBAAS,EAAE,MAAM,mBAAmB,OAAO,uBAAuB;AAClE;AAAA,MACD;AAEA,YAAM,WAAW,MAAM,UAAU;AAAA,QAChC,MAAM;AAAA,UACL,KAAK,OAAO,SAAS;AAAA,UACrB,aAAa,eAAeC,wBAAA;AAAA,UAC5B,aAAa,SAAS;AAAA,QAAA;AAAA,QAEvB,kBAAkB,SAAS;AAAA,QAC3B;AAAA,MAAA,CACA;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,iBAAS,EAAE,MAAM,mBAAmB,OAAO,SAAS,SAAS,iBAAiB;AAAA,MAC/E,OAAO;AACN,wBAAgB,SAAS,OAAO,KAAK;AACrC,iBAAS,EAAE,MAAM,WAAW;AAE5B,kBAAA;AACA,2BAAA;AAAA,MACD;AAAA,IACD,GAAA;AAAA,EACD,GAAG,CAAC,WAAW,SAAS,iBAAiB,kBAAkB,cAAc,YAAY,UAAU,oBAAoB,WAAW,CAAC;AAChI;;"}
1
+ {"version":3,"file":"useHandleIDPResponse.cjs","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useHandleIDPResponse.ts"],"sourcesContent":["import { SetStateAction, useEffect, useRef } from 'react'\nimport { useSetSessionToken } from '@contember/react-client'\nimport { useIDPStateStore } from './useIDPStateStore.js'\nimport { getBaseHref } from '../utils/getBaseHref.js'\nimport { IDPStateValue } from '../../types/idp.js'\nimport { useSignInIDPMutation } from '../../hooks/index.js'\nimport { useRedirectToBacklinkCallback } from './useRedirectToBacklink.js'\n\nexport interface UseHandleIDPResponseProps {\n\tonLogin?: () => void\n\texpiration?: number\n\n\tsetState: (state: SetStateAction<IDPStateValue>) => void\n\thasOauthResponse: boolean\n\tredirectUrl?: string\n}\n\nconst headers = {\n\t'X-Contember-Token-Path': 'data.mutation.result.token',\n}\n\nconst DEFAULT_LOGIN_EXPIRATION = 14 * 24 * 60 // 14 days\n\nexport const useHandleIDPResponse = (\n\t{ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION, setState, hasOauthResponse, redirectUrl }: UseHandleIDPResponseProps,\n): void => {\n\tconst idpSignIn = useSignInIDPMutation({ headers })\n\tconst setSessionToken = useSetSessionToken()\n\n\tconst firstRenderRef = useRef(true)\n\n\tconst { get: loadIdpState } = useIDPStateStore()\n\tconst redirectToBackLink = useRedirectToBacklinkCallback()\n\n\tuseEffect(() => {\n\t\tif (!hasOauthResponse || !firstRenderRef.current) {\n\t\t\treturn\n\t\t}\n\t\tfirstRenderRef.current = false\n\t\t;(async () => {\n\t\t\tconst idpState = loadIdpState()\n\t\t\tif (!idpState) {\n\t\t\t\tsetState({ type: 'response_failed', error: 'INVALID_LOCAL_STATE' })\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst response = await idpSignIn({\n\t\t\t\tdata: {\n\t\t\t\t\turl: window.location.href,\n\t\t\t\t\tredirectUrl: redirectUrl || getBaseHref(),\n\t\t\t\t\tsessionData: idpState.sessionData,\n\t\t\t\t},\n\t\t\t\tidentityProvider: idpState.provider,\n\t\t\t\texpiration,\n\t\t\t})\n\t\t\tif (!response.ok) {\n\t\t\t\tsetState({ type: 'response_failed', error: response.error || 'UNKNOWN_ERROR' })\n\t\t\t} else {\n\t\t\t\tsetSessionToken(response.result.token)\n\t\t\t\tsetState({ type: 'success' })\n\n\t\t\t\tonLogin?.()\n\t\t\t\tredirectToBackLink()\n\t\t\t}\n\t\t})()\n\t}, [idpSignIn, onLogin, setSessionToken, hasOauthResponse, loadIdpState, expiration, setState, redirectToBackLink, redirectUrl])\n}\n"],"names":["useSignInIDPMutation","useSetSessionToken","useRef","useIDPStateStore","useRedirectToBacklinkCallback","useEffect","getBaseHref"],"mappings":";;;;;;;;AAiBA,MAAM,UAAU;AAAA,EACf,0BAA0B;AAC3B;AAEA,MAAM,2BAA2B,KAAK,KAAK;AAEpC,MAAM,uBAAuB,CACnC,EAAE,SAAS,aAAa,0BAA0B,UAAU,kBAAkB,kBACpE;AACV,QAAM,YAAYA,qBAAAA,qBAAqB,EAAE,SAAS;AAClD,QAAM,kBAAkBC,YAAAA,mBAAA;AAExB,QAAM,iBAAiBC,MAAAA,OAAO,IAAI;AAElC,QAAM,EAAE,KAAK,aAAA,IAAiBC,kCAAA;AAC9B,QAAM,qBAAqBC,sBAAAA,8BAAA;AAE3BC,QAAAA,UAAU,MAAM;AACf,QAAI,CAAC,oBAAoB,CAAC,eAAe,SAAS;AACjD;AAAA,IACD;AACA,mBAAe,UAAU;AACxB,KAAC,YAAY;AACb,YAAM,WAAW,aAAA;AACjB,UAAI,CAAC,UAAU;AACd,iBAAS,EAAE,MAAM,mBAAmB,OAAO,uBAAuB;AAClE;AAAA,MACD;AAEA,YAAM,WAAW,MAAM,UAAU;AAAA,QAChC,MAAM;AAAA,UACL,KAAK,OAAO,SAAS;AAAA,UACrB,aAAa,eAAeC,wBAAA;AAAA,UAC5B,aAAa,SAAS;AAAA,QAAA;AAAA,QAEvB,kBAAkB,SAAS;AAAA,QAC3B;AAAA,MAAA,CACA;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,iBAAS,EAAE,MAAM,mBAAmB,OAAO,SAAS,SAAS,iBAAiB;AAAA,MAC/E,OAAO;AACN,wBAAgB,SAAS,OAAO,KAAK;AACrC,iBAAS,EAAE,MAAM,WAAW;AAE5B,kBAAA;AACA,2BAAA;AAAA,MACD;AAAA,IACD,GAAA;AAAA,EACD,GAAG,CAAC,WAAW,SAAS,iBAAiB,kBAAkB,cAAc,YAAY,UAAU,oBAAoB,WAAW,CAAC;AAChI;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useHandleIDPResponse.js","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useHandleIDPResponse.ts"],"sourcesContent":["import { SetStateAction, useEffect, useRef } from 'react'\nimport { useSetSessionToken } from '@contember/react-client'\nimport { useIDPStateStore } from './useIDPStateStore'\nimport { getBaseHref } from '../utils/getBaseHref'\nimport { IDPStateValue } from '../../types/idp'\nimport { useSignInIDPMutation } from '../../hooks'\nimport { useRedirectToBacklinkCallback } from './useRedirectToBacklink'\n\nexport interface UseHandleIDPResponseProps {\n\tonLogin?: () => void\n\texpiration?: number\n\n\tsetState: (state: SetStateAction<IDPStateValue>) => void\n\thasOauthResponse: boolean\n\tredirectUrl?: string\n}\n\nconst headers = {\n\t'X-Contember-Token-Path': 'data.mutation.result.token',\n}\n\nconst DEFAULT_LOGIN_EXPIRATION = 14 * 24 * 60 // 14 days\n\nexport const useHandleIDPResponse = (\n\t{ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION, setState, hasOauthResponse, redirectUrl }: UseHandleIDPResponseProps,\n): void => {\n\tconst idpSignIn = useSignInIDPMutation({ headers })\n\tconst setSessionToken = useSetSessionToken()\n\n\tconst firstRenderRef = useRef(true)\n\n\tconst { get: loadIdpState } = useIDPStateStore()\n\tconst redirectToBackLink = useRedirectToBacklinkCallback()\n\n\tuseEffect(() => {\n\t\tif (!hasOauthResponse || !firstRenderRef.current) {\n\t\t\treturn\n\t\t}\n\t\tfirstRenderRef.current = false\n\t\t;(async () => {\n\t\t\tconst idpState = loadIdpState()\n\t\t\tif (!idpState) {\n\t\t\t\tsetState({ type: 'response_failed', error: 'INVALID_LOCAL_STATE' })\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst response = await idpSignIn({\n\t\t\t\tdata: {\n\t\t\t\t\turl: window.location.href,\n\t\t\t\t\tredirectUrl: redirectUrl || getBaseHref(),\n\t\t\t\t\tsessionData: idpState.sessionData,\n\t\t\t\t},\n\t\t\t\tidentityProvider: idpState.provider,\n\t\t\t\texpiration,\n\t\t\t})\n\t\t\tif (!response.ok) {\n\t\t\t\tsetState({ type: 'response_failed', error: response.error || 'UNKNOWN_ERROR' })\n\t\t\t} else {\n\t\t\t\tsetSessionToken(response.result.token)\n\t\t\t\tsetState({ type: 'success' })\n\n\t\t\t\tonLogin?.()\n\t\t\t\tredirectToBackLink()\n\t\t\t}\n\t\t})()\n\t}, [idpSignIn, onLogin, setSessionToken, hasOauthResponse, loadIdpState, expiration, setState, redirectToBackLink, redirectUrl])\n}\n"],"names":[],"mappings":";;;;;;AAiBA,MAAM,UAAU;AAAA,EACf,0BAA0B;AAC3B;AAEA,MAAM,2BAA2B,KAAK,KAAK;AAEpC,MAAM,uBAAuB,CACnC,EAAE,SAAS,aAAa,0BAA0B,UAAU,kBAAkB,kBACpE;AACV,QAAM,YAAY,qBAAqB,EAAE,SAAS;AAClD,QAAM,kBAAkB,mBAAA;AAExB,QAAM,iBAAiB,OAAO,IAAI;AAElC,QAAM,EAAE,KAAK,aAAA,IAAiB,iBAAA;AAC9B,QAAM,qBAAqB,8BAAA;AAE3B,YAAU,MAAM;AACf,QAAI,CAAC,oBAAoB,CAAC,eAAe,SAAS;AACjD;AAAA,IACD;AACA,mBAAe,UAAU;AACxB,KAAC,YAAY;AACb,YAAM,WAAW,aAAA;AACjB,UAAI,CAAC,UAAU;AACd,iBAAS,EAAE,MAAM,mBAAmB,OAAO,uBAAuB;AAClE;AAAA,MACD;AAEA,YAAM,WAAW,MAAM,UAAU;AAAA,QAChC,MAAM;AAAA,UACL,KAAK,OAAO,SAAS;AAAA,UACrB,aAAa,eAAe,YAAA;AAAA,UAC5B,aAAa,SAAS;AAAA,QAAA;AAAA,QAEvB,kBAAkB,SAAS;AAAA,QAC3B;AAAA,MAAA,CACA;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,iBAAS,EAAE,MAAM,mBAAmB,OAAO,SAAS,SAAS,iBAAiB;AAAA,MAC/E,OAAO;AACN,wBAAgB,SAAS,OAAO,KAAK;AACrC,iBAAS,EAAE,MAAM,WAAW;AAE5B,kBAAA;AACA,2BAAA;AAAA,MACD;AAAA,IACD,GAAA;AAAA,EACD,GAAG,CAAC,WAAW,SAAS,iBAAiB,kBAAkB,cAAc,YAAY,UAAU,oBAAoB,WAAW,CAAC;AAChI;"}
1
+ {"version":3,"file":"useHandleIDPResponse.js","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useHandleIDPResponse.ts"],"sourcesContent":["import { SetStateAction, useEffect, useRef } from 'react'\nimport { useSetSessionToken } from '@contember/react-client'\nimport { useIDPStateStore } from './useIDPStateStore.js'\nimport { getBaseHref } from '../utils/getBaseHref.js'\nimport { IDPStateValue } from '../../types/idp.js'\nimport { useSignInIDPMutation } from '../../hooks/index.js'\nimport { useRedirectToBacklinkCallback } from './useRedirectToBacklink.js'\n\nexport interface UseHandleIDPResponseProps {\n\tonLogin?: () => void\n\texpiration?: number\n\n\tsetState: (state: SetStateAction<IDPStateValue>) => void\n\thasOauthResponse: boolean\n\tredirectUrl?: string\n}\n\nconst headers = {\n\t'X-Contember-Token-Path': 'data.mutation.result.token',\n}\n\nconst DEFAULT_LOGIN_EXPIRATION = 14 * 24 * 60 // 14 days\n\nexport const useHandleIDPResponse = (\n\t{ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION, setState, hasOauthResponse, redirectUrl }: UseHandleIDPResponseProps,\n): void => {\n\tconst idpSignIn = useSignInIDPMutation({ headers })\n\tconst setSessionToken = useSetSessionToken()\n\n\tconst firstRenderRef = useRef(true)\n\n\tconst { get: loadIdpState } = useIDPStateStore()\n\tconst redirectToBackLink = useRedirectToBacklinkCallback()\n\n\tuseEffect(() => {\n\t\tif (!hasOauthResponse || !firstRenderRef.current) {\n\t\t\treturn\n\t\t}\n\t\tfirstRenderRef.current = false\n\t\t;(async () => {\n\t\t\tconst idpState = loadIdpState()\n\t\t\tif (!idpState) {\n\t\t\t\tsetState({ type: 'response_failed', error: 'INVALID_LOCAL_STATE' })\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst response = await idpSignIn({\n\t\t\t\tdata: {\n\t\t\t\t\turl: window.location.href,\n\t\t\t\t\tredirectUrl: redirectUrl || getBaseHref(),\n\t\t\t\t\tsessionData: idpState.sessionData,\n\t\t\t\t},\n\t\t\t\tidentityProvider: idpState.provider,\n\t\t\t\texpiration,\n\t\t\t})\n\t\t\tif (!response.ok) {\n\t\t\t\tsetState({ type: 'response_failed', error: response.error || 'UNKNOWN_ERROR' })\n\t\t\t} else {\n\t\t\t\tsetSessionToken(response.result.token)\n\t\t\t\tsetState({ type: 'success' })\n\n\t\t\t\tonLogin?.()\n\t\t\t\tredirectToBackLink()\n\t\t\t}\n\t\t})()\n\t}, [idpSignIn, onLogin, setSessionToken, hasOauthResponse, loadIdpState, expiration, setState, redirectToBackLink, redirectUrl])\n}\n"],"names":[],"mappings":";;;;;;AAiBA,MAAM,UAAU;AAAA,EACf,0BAA0B;AAC3B;AAEA,MAAM,2BAA2B,KAAK,KAAK;AAEpC,MAAM,uBAAuB,CACnC,EAAE,SAAS,aAAa,0BAA0B,UAAU,kBAAkB,kBACpE;AACV,QAAM,YAAY,qBAAqB,EAAE,SAAS;AAClD,QAAM,kBAAkB,mBAAA;AAExB,QAAM,iBAAiB,OAAO,IAAI;AAElC,QAAM,EAAE,KAAK,aAAA,IAAiB,iBAAA;AAC9B,QAAM,qBAAqB,8BAAA;AAE3B,YAAU,MAAM;AACf,QAAI,CAAC,oBAAoB,CAAC,eAAe,SAAS;AACjD;AAAA,IACD;AACA,mBAAe,UAAU;AACxB,KAAC,YAAY;AACb,YAAM,WAAW,aAAA;AACjB,UAAI,CAAC,UAAU;AACd,iBAAS,EAAE,MAAM,mBAAmB,OAAO,uBAAuB;AAClE;AAAA,MACD;AAEA,YAAM,WAAW,MAAM,UAAU;AAAA,QAChC,MAAM;AAAA,UACL,KAAK,OAAO,SAAS;AAAA,UACrB,aAAa,eAAe,YAAA;AAAA,UAC5B,aAAa,SAAS;AAAA,QAAA;AAAA,QAEvB,kBAAkB,SAAS;AAAA,QAC3B;AAAA,MAAA,CACA;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,iBAAS,EAAE,MAAM,mBAAmB,OAAO,SAAS,SAAS,iBAAiB;AAAA,MAC/E,OAAO;AACN,wBAAgB,SAAS,OAAO,KAAK;AACrC,iBAAS,EAAE,MAAM,WAAW;AAE5B,kBAAA;AACA,2BAAA;AAAA,MACD;AAAA,IACD,GAAA;AAAA,EACD,GAAG,CAAC,WAAW,SAAS,iBAAiB,kBAAkB,cAAc,YAAY,UAAU,oBAAoB,WAAW,CAAC;AAChI;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useInitIDPRedirect.cjs","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useInitIDPRedirect.ts"],"sourcesContent":["import { SetStateAction, useCallback } from 'react'\nimport { useIDPStateStore } from './useIDPStateStore'\nimport { getBaseHref } from '../utils/getBaseHref'\nimport { IDPInitError, IDPStateValue } from '../../types/idp'\nimport { useInitSignInIDPMutation } from '../../hooks'\nimport { useSaveBacklink } from './useRedirectToBacklink'\n\nexport interface UseInitIDPRedirectProps {\n\tonRedirect?: (url: string) => void\n\tsetState: (state: SetStateAction<IDPStateValue>) => void\n\tredirectUrl?: string\n}\n\nexport const useInitIDPRedirect = ({ onRedirect, setState, redirectUrl }: UseInitIDPRedirectProps) => {\n\tconst initRequest = useInitSignInIDPMutation()\n\tconst saveBacklink = useSaveBacklink()\n\tconst { set: saveIdpState } = useIDPStateStore()\n\n\treturn useCallback(async ({ provider }: { provider: string }): Promise<{ ok: true } | { ok: false; error: IDPInitError }> => {\n\t\tconst fail = (error: IDPInitError) => {\n\t\t\tsetState({ type: 'init_failed', error })\n\t\t\treturn { ok: false, error }\n\t\t}\n\t\ttry {\n\t\t\tsetState({ type: 'processing_init' })\n\t\t\tconst response = await initRequest({\n\t\t\t\tdata: {\n\t\t\t\t\tredirectUrl: redirectUrl || getBaseHref(),\n\t\t\t\t},\n\t\t\t\tidentityProvider: provider,\n\t\t\t})\n\t\t\tif (!response.ok) {\n\t\t\t\treturn fail(response.error || 'UNKNOWN_ERROR')\n\t\t\t} else {\n\t\t\t\tsaveIdpState({ provider, sessionData: response.result.sessionData as string })\n\t\t\t\tsaveBacklink()\n\t\t\t\tif (onRedirect) {\n\t\t\t\t\tonRedirect(response.result.authUrl as string)\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = response.result.authUrl as string\n\t\t\t\t}\n\t\t\t\treturn { ok: true }\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\treturn fail('UNKNOWN_ERROR')\n\t\t}\n\t}, [initRequest, onRedirect, saveBacklink, saveIdpState, setState, redirectUrl])\n}\n"],"names":["useInitSignInIDPMutation","useSaveBacklink","useIDPStateStore","useCallback","getBaseHref"],"mappings":";;;;;;;AAaO,MAAM,qBAAqB,CAAC,EAAE,YAAY,UAAU,kBAA2C;AACrG,QAAM,cAAcA,yBAAAA,yBAAA;AACpB,QAAM,eAAeC,sBAAAA,gBAAA;AACrB,QAAM,EAAE,KAAK,aAAA,IAAiBC,kCAAA;AAE9B,SAAOC,MAAAA,YAAY,OAAO,EAAE,eAAiG;AAC5H,UAAM,OAAO,CAAC,UAAwB;AACrC,eAAS,EAAE,MAAM,eAAe,MAAA,CAAO;AACvC,aAAO,EAAE,IAAI,OAAO,MAAA;AAAA,IACrB;AACA,QAAI;AACH,eAAS,EAAE,MAAM,mBAAmB;AACpC,YAAM,WAAW,MAAM,YAAY;AAAA,QAClC,MAAM;AAAA,UACL,aAAa,eAAeC,YAAAA,YAAA;AAAA,QAAY;AAAA,QAEzC,kBAAkB;AAAA,MAAA,CAClB;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,eAAO,KAAK,SAAS,SAAS,eAAe;AAAA,MAC9C,OAAO;AACN,qBAAa,EAAE,UAAU,aAAa,SAAS,OAAO,aAAuB;AAC7E,qBAAA;AACA,YAAI,YAAY;AACf,qBAAW,SAAS,OAAO,OAAiB;AAAA,QAC7C,OAAO;AACN,iBAAO,SAAS,OAAO,SAAS,OAAO;AAAA,QACxC;AACA,eAAO,EAAE,IAAI,KAAA;AAAA,MACd;AAAA,IACD,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,aAAO,KAAK,eAAe;AAAA,IAC5B;AAAA,EACD,GAAG,CAAC,aAAa,YAAY,cAAc,cAAc,UAAU,WAAW,CAAC;AAChF;;"}
1
+ {"version":3,"file":"useInitIDPRedirect.cjs","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useInitIDPRedirect.ts"],"sourcesContent":["import { SetStateAction, useCallback } from 'react'\nimport { useIDPStateStore } from './useIDPStateStore.js'\nimport { getBaseHref } from '../utils/getBaseHref.js'\nimport { IDPInitError, IDPStateValue } from '../../types/idp.js'\nimport { useInitSignInIDPMutation } from '../../hooks/index.js'\nimport { useSaveBacklink } from './useRedirectToBacklink.js'\n\nexport interface UseInitIDPRedirectProps {\n\tonRedirect?: (url: string) => void\n\tsetState: (state: SetStateAction<IDPStateValue>) => void\n\tredirectUrl?: string\n}\n\nexport const useInitIDPRedirect = ({ onRedirect, setState, redirectUrl }: UseInitIDPRedirectProps) => {\n\tconst initRequest = useInitSignInIDPMutation()\n\tconst saveBacklink = useSaveBacklink()\n\tconst { set: saveIdpState } = useIDPStateStore()\n\n\treturn useCallback(async ({ provider }: { provider: string }): Promise<{ ok: true } | { ok: false; error: IDPInitError }> => {\n\t\tconst fail = (error: IDPInitError) => {\n\t\t\tsetState({ type: 'init_failed', error })\n\t\t\treturn { ok: false, error }\n\t\t}\n\t\ttry {\n\t\t\tsetState({ type: 'processing_init' })\n\t\t\tconst response = await initRequest({\n\t\t\t\tdata: {\n\t\t\t\t\tredirectUrl: redirectUrl || getBaseHref(),\n\t\t\t\t},\n\t\t\t\tidentityProvider: provider,\n\t\t\t})\n\t\t\tif (!response.ok) {\n\t\t\t\treturn fail(response.error || 'UNKNOWN_ERROR')\n\t\t\t} else {\n\t\t\t\tsaveIdpState({ provider, sessionData: response.result.sessionData as string })\n\t\t\t\tsaveBacklink()\n\t\t\t\tif (onRedirect) {\n\t\t\t\t\tonRedirect(response.result.authUrl as string)\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = response.result.authUrl as string\n\t\t\t\t}\n\t\t\t\treturn { ok: true }\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\treturn fail('UNKNOWN_ERROR')\n\t\t}\n\t}, [initRequest, onRedirect, saveBacklink, saveIdpState, setState, redirectUrl])\n}\n"],"names":["useInitSignInIDPMutation","useSaveBacklink","useIDPStateStore","useCallback","getBaseHref"],"mappings":";;;;;;;AAaO,MAAM,qBAAqB,CAAC,EAAE,YAAY,UAAU,kBAA2C;AACrG,QAAM,cAAcA,yBAAAA,yBAAA;AACpB,QAAM,eAAeC,sBAAAA,gBAAA;AACrB,QAAM,EAAE,KAAK,aAAA,IAAiBC,kCAAA;AAE9B,SAAOC,MAAAA,YAAY,OAAO,EAAE,eAAiG;AAC5H,UAAM,OAAO,CAAC,UAAwB;AACrC,eAAS,EAAE,MAAM,eAAe,MAAA,CAAO;AACvC,aAAO,EAAE,IAAI,OAAO,MAAA;AAAA,IACrB;AACA,QAAI;AACH,eAAS,EAAE,MAAM,mBAAmB;AACpC,YAAM,WAAW,MAAM,YAAY;AAAA,QAClC,MAAM;AAAA,UACL,aAAa,eAAeC,YAAAA,YAAA;AAAA,QAAY;AAAA,QAEzC,kBAAkB;AAAA,MAAA,CAClB;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,eAAO,KAAK,SAAS,SAAS,eAAe;AAAA,MAC9C,OAAO;AACN,qBAAa,EAAE,UAAU,aAAa,SAAS,OAAO,aAAuB;AAC7E,qBAAA;AACA,YAAI,YAAY;AACf,qBAAW,SAAS,OAAO,OAAiB;AAAA,QAC7C,OAAO;AACN,iBAAO,SAAS,OAAO,SAAS,OAAO;AAAA,QACxC;AACA,eAAO,EAAE,IAAI,KAAA;AAAA,MACd;AAAA,IACD,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,aAAO,KAAK,eAAe;AAAA,IAC5B;AAAA,EACD,GAAG,CAAC,aAAa,YAAY,cAAc,cAAc,UAAU,WAAW,CAAC;AAChF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useInitIDPRedirect.js","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useInitIDPRedirect.ts"],"sourcesContent":["import { SetStateAction, useCallback } from 'react'\nimport { useIDPStateStore } from './useIDPStateStore'\nimport { getBaseHref } from '../utils/getBaseHref'\nimport { IDPInitError, IDPStateValue } from '../../types/idp'\nimport { useInitSignInIDPMutation } from '../../hooks'\nimport { useSaveBacklink } from './useRedirectToBacklink'\n\nexport interface UseInitIDPRedirectProps {\n\tonRedirect?: (url: string) => void\n\tsetState: (state: SetStateAction<IDPStateValue>) => void\n\tredirectUrl?: string\n}\n\nexport const useInitIDPRedirect = ({ onRedirect, setState, redirectUrl }: UseInitIDPRedirectProps) => {\n\tconst initRequest = useInitSignInIDPMutation()\n\tconst saveBacklink = useSaveBacklink()\n\tconst { set: saveIdpState } = useIDPStateStore()\n\n\treturn useCallback(async ({ provider }: { provider: string }): Promise<{ ok: true } | { ok: false; error: IDPInitError }> => {\n\t\tconst fail = (error: IDPInitError) => {\n\t\t\tsetState({ type: 'init_failed', error })\n\t\t\treturn { ok: false, error }\n\t\t}\n\t\ttry {\n\t\t\tsetState({ type: 'processing_init' })\n\t\t\tconst response = await initRequest({\n\t\t\t\tdata: {\n\t\t\t\t\tredirectUrl: redirectUrl || getBaseHref(),\n\t\t\t\t},\n\t\t\t\tidentityProvider: provider,\n\t\t\t})\n\t\t\tif (!response.ok) {\n\t\t\t\treturn fail(response.error || 'UNKNOWN_ERROR')\n\t\t\t} else {\n\t\t\t\tsaveIdpState({ provider, sessionData: response.result.sessionData as string })\n\t\t\t\tsaveBacklink()\n\t\t\t\tif (onRedirect) {\n\t\t\t\t\tonRedirect(response.result.authUrl as string)\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = response.result.authUrl as string\n\t\t\t\t}\n\t\t\t\treturn { ok: true }\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\treturn fail('UNKNOWN_ERROR')\n\t\t}\n\t}, [initRequest, onRedirect, saveBacklink, saveIdpState, setState, redirectUrl])\n}\n"],"names":[],"mappings":";;;;;AAaO,MAAM,qBAAqB,CAAC,EAAE,YAAY,UAAU,kBAA2C;AACrG,QAAM,cAAc,yBAAA;AACpB,QAAM,eAAe,gBAAA;AACrB,QAAM,EAAE,KAAK,aAAA,IAAiB,iBAAA;AAE9B,SAAO,YAAY,OAAO,EAAE,eAAiG;AAC5H,UAAM,OAAO,CAAC,UAAwB;AACrC,eAAS,EAAE,MAAM,eAAe,MAAA,CAAO;AACvC,aAAO,EAAE,IAAI,OAAO,MAAA;AAAA,IACrB;AACA,QAAI;AACH,eAAS,EAAE,MAAM,mBAAmB;AACpC,YAAM,WAAW,MAAM,YAAY;AAAA,QAClC,MAAM;AAAA,UACL,aAAa,eAAe,YAAA;AAAA,QAAY;AAAA,QAEzC,kBAAkB;AAAA,MAAA,CAClB;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,eAAO,KAAK,SAAS,SAAS,eAAe;AAAA,MAC9C,OAAO;AACN,qBAAa,EAAE,UAAU,aAAa,SAAS,OAAO,aAAuB;AAC7E,qBAAA;AACA,YAAI,YAAY;AACf,qBAAW,SAAS,OAAO,OAAiB;AAAA,QAC7C,OAAO;AACN,iBAAO,SAAS,OAAO,SAAS,OAAO;AAAA,QACxC;AACA,eAAO,EAAE,IAAI,KAAA;AAAA,MACd;AAAA,IACD,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,aAAO,KAAK,eAAe;AAAA,IAC5B;AAAA,EACD,GAAG,CAAC,aAAa,YAAY,cAAc,cAAc,UAAU,WAAW,CAAC;AAChF;"}
1
+ {"version":3,"file":"useInitIDPRedirect.js","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useInitIDPRedirect.ts"],"sourcesContent":["import { SetStateAction, useCallback } from 'react'\nimport { useIDPStateStore } from './useIDPStateStore.js'\nimport { getBaseHref } from '../utils/getBaseHref.js'\nimport { IDPInitError, IDPStateValue } from '../../types/idp.js'\nimport { useInitSignInIDPMutation } from '../../hooks/index.js'\nimport { useSaveBacklink } from './useRedirectToBacklink.js'\n\nexport interface UseInitIDPRedirectProps {\n\tonRedirect?: (url: string) => void\n\tsetState: (state: SetStateAction<IDPStateValue>) => void\n\tredirectUrl?: string\n}\n\nexport const useInitIDPRedirect = ({ onRedirect, setState, redirectUrl }: UseInitIDPRedirectProps) => {\n\tconst initRequest = useInitSignInIDPMutation()\n\tconst saveBacklink = useSaveBacklink()\n\tconst { set: saveIdpState } = useIDPStateStore()\n\n\treturn useCallback(async ({ provider }: { provider: string }): Promise<{ ok: true } | { ok: false; error: IDPInitError }> => {\n\t\tconst fail = (error: IDPInitError) => {\n\t\t\tsetState({ type: 'init_failed', error })\n\t\t\treturn { ok: false, error }\n\t\t}\n\t\ttry {\n\t\t\tsetState({ type: 'processing_init' })\n\t\t\tconst response = await initRequest({\n\t\t\t\tdata: {\n\t\t\t\t\tredirectUrl: redirectUrl || getBaseHref(),\n\t\t\t\t},\n\t\t\t\tidentityProvider: provider,\n\t\t\t})\n\t\t\tif (!response.ok) {\n\t\t\t\treturn fail(response.error || 'UNKNOWN_ERROR')\n\t\t\t} else {\n\t\t\t\tsaveIdpState({ provider, sessionData: response.result.sessionData as string })\n\t\t\t\tsaveBacklink()\n\t\t\t\tif (onRedirect) {\n\t\t\t\t\tonRedirect(response.result.authUrl as string)\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = response.result.authUrl as string\n\t\t\t\t}\n\t\t\t\treturn { ok: true }\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\treturn fail('UNKNOWN_ERROR')\n\t\t}\n\t}, [initRequest, onRedirect, saveBacklink, saveIdpState, setState, redirectUrl])\n}\n"],"names":[],"mappings":";;;;;AAaO,MAAM,qBAAqB,CAAC,EAAE,YAAY,UAAU,kBAA2C;AACrG,QAAM,cAAc,yBAAA;AACpB,QAAM,eAAe,gBAAA;AACrB,QAAM,EAAE,KAAK,aAAA,IAAiB,iBAAA;AAE9B,SAAO,YAAY,OAAO,EAAE,eAAiG;AAC5H,UAAM,OAAO,CAAC,UAAwB;AACrC,eAAS,EAAE,MAAM,eAAe,MAAA,CAAO;AACvC,aAAO,EAAE,IAAI,OAAO,MAAA;AAAA,IACrB;AACA,QAAI;AACH,eAAS,EAAE,MAAM,mBAAmB;AACpC,YAAM,WAAW,MAAM,YAAY;AAAA,QAClC,MAAM;AAAA,UACL,aAAa,eAAe,YAAA;AAAA,QAAY;AAAA,QAEzC,kBAAkB;AAAA,MAAA,CAClB;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,eAAO,KAAK,SAAS,SAAS,eAAe;AAAA,MAC9C,OAAO;AACN,qBAAa,EAAE,UAAU,aAAa,SAAS,OAAO,aAAuB;AAC7E,qBAAA;AACA,YAAI,YAAY;AACf,qBAAW,SAAS,OAAO,OAAiB;AAAA,QAC7C,OAAO;AACN,iBAAO,SAAS,OAAO,SAAS,OAAO;AAAA,QACxC;AACA,eAAO,EAAE,IAAI,KAAA;AAAA,MACd;AAAA,IACD,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,aAAO,KAAK,eAAe;AAAA,IAC5B;AAAA,EACD,GAAG,CAAC,aAAa,YAAY,cAAc,cAAc,UAAU,WAAW,CAAC;AAChF;"}
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const reactClient = require("@contember/react-client");
4
4
  const React = require("react");
5
+ const useTenantApi = require("../../hooks/useTenantApi.cjs");
5
6
  const useSignOutMutation = require("../../hooks/mutations/auth/useSignOutMutation.cjs");
6
7
  const useLogoutInternal = (clearIdentity) => {
7
- const tenantLogout = useSignOutMutation.useSignOutMutation();
8
+ const tenantApi = useTenantApi.useTenantApi();
8
9
  const setSessionToken = reactClient.useSetSessionToken();
9
10
  return React.useCallback(
10
- async ({ noRedirect = false } = {}) => {
11
+ async ({ noRedirect = false, idpLogout = false } = {}) => {
11
12
  if (navigator.credentials?.preventSilentAccess) {
12
13
  try {
13
14
  await navigator.credentials.preventSilentAccess();
@@ -16,19 +17,23 @@ const useLogoutInternal = (clearIdentity) => {
16
17
  }
17
18
  clearIdentity?.();
18
19
  setSessionToken(void 0);
20
+ let idpLogoutUrl;
19
21
  try {
20
- const response = await tenantLogout({});
21
- if (!response?.ok) {
22
- console.warn(response?.error);
22
+ const { mutation } = await tenantApi(useSignOutMutation.signOutMutation);
23
+ if (!mutation?.ok) {
24
+ console.warn(mutation?.error);
25
+ }
26
+ if (idpLogout) {
27
+ idpLogoutUrl = mutation?.logoutUrl ?? void 0;
23
28
  }
24
29
  } catch (e) {
25
30
  console.warn(e);
26
31
  }
27
32
  if (!noRedirect) {
28
- window.location.href = "/";
33
+ window.location.href = idpLogoutUrl ?? "/";
29
34
  }
30
35
  },
31
- [clearIdentity, setSessionToken, tenantLogout]
36
+ [clearIdentity, setSessionToken, tenantApi]
32
37
  );
33
38
  };
34
39
  exports.useLogoutInternal = useLogoutInternal;
@@ -1 +1 @@
1
- {"version":3,"file":"useLogoutInternal.cjs","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useLogoutInternal.ts"],"sourcesContent":["import { useSetSessionToken } from '@contember/react-client'\nimport { useCallback } from 'react'\nimport { useSignOutMutation } from '../../hooks'\n\nexport const useLogoutInternal = (clearIdentity?: () => void) => {\n\tconst tenantLogout = useSignOutMutation()\n\tconst setSessionToken = useSetSessionToken()\n\n\treturn useCallback(\n\t\tasync ({ noRedirect = false }: { noRedirect?: boolean } = {}) => {\n\t\t\tif (navigator.credentials?.preventSilentAccess) {\n\t\t\t\ttry {\n\t\t\t\t\tawait navigator.credentials.preventSilentAccess()\n\t\t\t\t} catch {\n\t\t\t\t\t// actually, not implemented in safari:\n\t\t\t\t\t// https://github.com/WebKit/WebKit/blob/414f4e45b0e82bbfcee783d08a9642be1afa8f72/Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp#L132\n\t\t\t\t}\n\t\t\t}\n\t\t\tclearIdentity?.()\n\t\t\tsetSessionToken(undefined)\n\t\t\ttry {\n\t\t\t\tconst response = await tenantLogout({})\n\t\t\t\tif (!response?.ok) {\n\t\t\t\t\tconsole.warn(response?.error)\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t}\n\t\t\tif (!noRedirect) {\n\t\t\t\twindow.location.href = '/' // todo better redirect?\n\t\t\t}\n\t\t},\n\t\t[clearIdentity, setSessionToken, tenantLogout],\n\t)\n}\n"],"names":["useSignOutMutation","useSetSessionToken","useCallback"],"mappings":";;;;;AAIO,MAAM,oBAAoB,CAAC,kBAA+B;AAChE,QAAM,eAAeA,mBAAAA,mBAAA;AACrB,QAAM,kBAAkBC,YAAAA,mBAAA;AAExB,SAAOC,MAAAA;AAAAA,IACN,OAAO,EAAE,aAAa,MAAA,IAAoC,OAAO;AAChE,UAAI,UAAU,aAAa,qBAAqB;AAC/C,YAAI;AACH,gBAAM,UAAU,YAAY,oBAAA;AAAA,QAC7B,QAAQ;AAAA,QAGR;AAAA,MACD;AACA,sBAAA;AACA,sBAAgB,MAAS;AACzB,UAAI;AACH,cAAM,WAAW,MAAM,aAAa,EAAE;AACtC,YAAI,CAAC,UAAU,IAAI;AAClB,kBAAQ,KAAK,UAAU,KAAK;AAAA,QAC7B;AAAA,MACD,SAAS,GAAG;AACX,gBAAQ,KAAK,CAAC;AAAA,MACf;AACA,UAAI,CAAC,YAAY;AAChB,eAAO,SAAS,OAAO;AAAA,MACxB;AAAA,IACD;AAAA,IACA,CAAC,eAAe,iBAAiB,YAAY;AAAA,EAAA;AAE/C;;"}
1
+ {"version":3,"file":"useLogoutInternal.cjs","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useLogoutInternal.ts"],"sourcesContent":["import { useSetSessionToken } from '@contember/react-client'\nimport { useCallback } from 'react'\nimport { signOutMutation, useTenantApi } from '../../hooks/index.js'\n\nexport const useLogoutInternal = (clearIdentity?: () => void) => {\n\tconst tenantApi = useTenantApi()\n\tconst setSessionToken = useSetSessionToken()\n\n\treturn useCallback(\n\t\tasync ({ noRedirect = false, idpLogout = false }: { noRedirect?: boolean; idpLogout?: boolean } = {}) => {\n\t\t\tif (navigator.credentials?.preventSilentAccess) {\n\t\t\t\ttry {\n\t\t\t\t\tawait navigator.credentials.preventSilentAccess()\n\t\t\t\t} catch {\n\t\t\t\t\t// actually, not implemented in safari:\n\t\t\t\t\t// https://github.com/WebKit/WebKit/blob/414f4e45b0e82bbfcee783d08a9642be1afa8f72/Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp#L132\n\t\t\t\t}\n\t\t\t}\n\t\t\tclearIdentity?.()\n\t\t\tsetSessionToken(undefined)\n\t\t\t// RP-initiated (front-channel) Single Logout: when the session was federated via an OIDC\n\t\t\t// IdP that advertises an end_session_endpoint, `signOut` returns the URL to send the\n\t\t\t// browser to so the user is also signed out at the IdP. Opt-in via `idpLogout` — by\n\t\t\t// default we keep the existing local-only redirect to `/`. We call the tenant API\n\t\t\t// directly (not useSignOutMutation) because the generic mutation wrapper only surfaces a\n\t\t\t// `result` payload, whereas `logoutUrl` is a top-level field on SignOutResponse.\n\t\t\tlet idpLogoutUrl: string | undefined\n\t\t\ttry {\n\t\t\t\tconst { mutation } = await tenantApi(signOutMutation)\n\t\t\t\tif (!mutation?.ok) {\n\t\t\t\t\tconsole.warn(mutation?.error)\n\t\t\t\t}\n\t\t\t\tif (idpLogout) {\n\t\t\t\t\tidpLogoutUrl = mutation?.logoutUrl ?? undefined\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t}\n\t\t\tif (!noRedirect) {\n\t\t\t\twindow.location.href = idpLogoutUrl ?? '/' // todo better redirect?\n\t\t\t}\n\t\t},\n\t\t[clearIdentity, setSessionToken, tenantApi],\n\t)\n}\n"],"names":["useTenantApi","useSetSessionToken","useCallback","signOutMutation"],"mappings":";;;;;;AAIO,MAAM,oBAAoB,CAAC,kBAA+B;AAChE,QAAM,YAAYA,aAAAA,aAAA;AAClB,QAAM,kBAAkBC,YAAAA,mBAAA;AAExB,SAAOC,MAAAA;AAAAA,IACN,OAAO,EAAE,aAAa,OAAO,YAAY,MAAA,IAAyD,CAAA,MAAO;AACxG,UAAI,UAAU,aAAa,qBAAqB;AAC/C,YAAI;AACH,gBAAM,UAAU,YAAY,oBAAA;AAAA,QAC7B,QAAQ;AAAA,QAGR;AAAA,MACD;AACA,sBAAA;AACA,sBAAgB,MAAS;AAOzB,UAAI;AACJ,UAAI;AACH,cAAM,EAAE,SAAA,IAAa,MAAM,UAAUC,mBAAAA,eAAe;AACpD,YAAI,CAAC,UAAU,IAAI;AAClB,kBAAQ,KAAK,UAAU,KAAK;AAAA,QAC7B;AACA,YAAI,WAAW;AACd,yBAAe,UAAU,aAAa;AAAA,QACvC;AAAA,MACD,SAAS,GAAG;AACX,gBAAQ,KAAK,CAAC;AAAA,MACf;AACA,UAAI,CAAC,YAAY;AAChB,eAAO,SAAS,OAAO,gBAAgB;AAAA,MACxC;AAAA,IACD;AAAA,IACA,CAAC,eAAe,iBAAiB,SAAS;AAAA,EAAA;AAE5C;;"}
@@ -1,11 +1,12 @@
1
1
  import { useSetSessionToken } from "@contember/react-client";
2
2
  import { useCallback } from "react";
3
- import { useSignOutMutation } from "../../hooks/mutations/auth/useSignOutMutation.js";
3
+ import { useTenantApi } from "../../hooks/useTenantApi.js";
4
+ import { signOutMutation } from "../../hooks/mutations/auth/useSignOutMutation.js";
4
5
  const useLogoutInternal = (clearIdentity) => {
5
- const tenantLogout = useSignOutMutation();
6
+ const tenantApi = useTenantApi();
6
7
  const setSessionToken = useSetSessionToken();
7
8
  return useCallback(
8
- async ({ noRedirect = false } = {}) => {
9
+ async ({ noRedirect = false, idpLogout = false } = {}) => {
9
10
  if (navigator.credentials?.preventSilentAccess) {
10
11
  try {
11
12
  await navigator.credentials.preventSilentAccess();
@@ -14,19 +15,23 @@ const useLogoutInternal = (clearIdentity) => {
14
15
  }
15
16
  clearIdentity?.();
16
17
  setSessionToken(void 0);
18
+ let idpLogoutUrl;
17
19
  try {
18
- const response = await tenantLogout({});
19
- if (!response?.ok) {
20
- console.warn(response?.error);
20
+ const { mutation } = await tenantApi(signOutMutation);
21
+ if (!mutation?.ok) {
22
+ console.warn(mutation?.error);
23
+ }
24
+ if (idpLogout) {
25
+ idpLogoutUrl = mutation?.logoutUrl ?? void 0;
21
26
  }
22
27
  } catch (e) {
23
28
  console.warn(e);
24
29
  }
25
30
  if (!noRedirect) {
26
- window.location.href = "/";
31
+ window.location.href = idpLogoutUrl ?? "/";
27
32
  }
28
33
  },
29
- [clearIdentity, setSessionToken, tenantLogout]
34
+ [clearIdentity, setSessionToken, tenantApi]
30
35
  );
31
36
  };
32
37
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"useLogoutInternal.js","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useLogoutInternal.ts"],"sourcesContent":["import { useSetSessionToken } from '@contember/react-client'\nimport { useCallback } from 'react'\nimport { useSignOutMutation } from '../../hooks'\n\nexport const useLogoutInternal = (clearIdentity?: () => void) => {\n\tconst tenantLogout = useSignOutMutation()\n\tconst setSessionToken = useSetSessionToken()\n\n\treturn useCallback(\n\t\tasync ({ noRedirect = false }: { noRedirect?: boolean } = {}) => {\n\t\t\tif (navigator.credentials?.preventSilentAccess) {\n\t\t\t\ttry {\n\t\t\t\t\tawait navigator.credentials.preventSilentAccess()\n\t\t\t\t} catch {\n\t\t\t\t\t// actually, not implemented in safari:\n\t\t\t\t\t// https://github.com/WebKit/WebKit/blob/414f4e45b0e82bbfcee783d08a9642be1afa8f72/Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp#L132\n\t\t\t\t}\n\t\t\t}\n\t\t\tclearIdentity?.()\n\t\t\tsetSessionToken(undefined)\n\t\t\ttry {\n\t\t\t\tconst response = await tenantLogout({})\n\t\t\t\tif (!response?.ok) {\n\t\t\t\t\tconsole.warn(response?.error)\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t}\n\t\t\tif (!noRedirect) {\n\t\t\t\twindow.location.href = '/' // todo better redirect?\n\t\t\t}\n\t\t},\n\t\t[clearIdentity, setSessionToken, tenantLogout],\n\t)\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,oBAAoB,CAAC,kBAA+B;AAChE,QAAM,eAAe,mBAAA;AACrB,QAAM,kBAAkB,mBAAA;AAExB,SAAO;AAAA,IACN,OAAO,EAAE,aAAa,MAAA,IAAoC,OAAO;AAChE,UAAI,UAAU,aAAa,qBAAqB;AAC/C,YAAI;AACH,gBAAM,UAAU,YAAY,oBAAA;AAAA,QAC7B,QAAQ;AAAA,QAGR;AAAA,MACD;AACA,sBAAA;AACA,sBAAgB,MAAS;AACzB,UAAI;AACH,cAAM,WAAW,MAAM,aAAa,EAAE;AACtC,YAAI,CAAC,UAAU,IAAI;AAClB,kBAAQ,KAAK,UAAU,KAAK;AAAA,QAC7B;AAAA,MACD,SAAS,GAAG;AACX,gBAAQ,KAAK,CAAC;AAAA,MACf;AACA,UAAI,CAAC,YAAY;AAChB,eAAO,SAAS,OAAO;AAAA,MACxB;AAAA,IACD;AAAA,IACA,CAAC,eAAe,iBAAiB,YAAY;AAAA,EAAA;AAE/C;"}
1
+ {"version":3,"file":"useLogoutInternal.js","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useLogoutInternal.ts"],"sourcesContent":["import { useSetSessionToken } from '@contember/react-client'\nimport { useCallback } from 'react'\nimport { signOutMutation, useTenantApi } from '../../hooks/index.js'\n\nexport const useLogoutInternal = (clearIdentity?: () => void) => {\n\tconst tenantApi = useTenantApi()\n\tconst setSessionToken = useSetSessionToken()\n\n\treturn useCallback(\n\t\tasync ({ noRedirect = false, idpLogout = false }: { noRedirect?: boolean; idpLogout?: boolean } = {}) => {\n\t\t\tif (navigator.credentials?.preventSilentAccess) {\n\t\t\t\ttry {\n\t\t\t\t\tawait navigator.credentials.preventSilentAccess()\n\t\t\t\t} catch {\n\t\t\t\t\t// actually, not implemented in safari:\n\t\t\t\t\t// https://github.com/WebKit/WebKit/blob/414f4e45b0e82bbfcee783d08a9642be1afa8f72/Source/WebCore/Modules/credentialmanagement/CredentialsContainer.cpp#L132\n\t\t\t\t}\n\t\t\t}\n\t\t\tclearIdentity?.()\n\t\t\tsetSessionToken(undefined)\n\t\t\t// RP-initiated (front-channel) Single Logout: when the session was federated via an OIDC\n\t\t\t// IdP that advertises an end_session_endpoint, `signOut` returns the URL to send the\n\t\t\t// browser to so the user is also signed out at the IdP. Opt-in via `idpLogout` — by\n\t\t\t// default we keep the existing local-only redirect to `/`. We call the tenant API\n\t\t\t// directly (not useSignOutMutation) because the generic mutation wrapper only surfaces a\n\t\t\t// `result` payload, whereas `logoutUrl` is a top-level field on SignOutResponse.\n\t\t\tlet idpLogoutUrl: string | undefined\n\t\t\ttry {\n\t\t\t\tconst { mutation } = await tenantApi(signOutMutation)\n\t\t\t\tif (!mutation?.ok) {\n\t\t\t\t\tconsole.warn(mutation?.error)\n\t\t\t\t}\n\t\t\t\tif (idpLogout) {\n\t\t\t\t\tidpLogoutUrl = mutation?.logoutUrl ?? undefined\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t}\n\t\t\tif (!noRedirect) {\n\t\t\t\twindow.location.href = idpLogoutUrl ?? '/' // todo better redirect?\n\t\t\t}\n\t\t},\n\t\t[clearIdentity, setSessionToken, tenantApi],\n\t)\n}\n"],"names":[],"mappings":";;;;AAIO,MAAM,oBAAoB,CAAC,kBAA+B;AAChE,QAAM,YAAY,aAAA;AAClB,QAAM,kBAAkB,mBAAA;AAExB,SAAO;AAAA,IACN,OAAO,EAAE,aAAa,OAAO,YAAY,MAAA,IAAyD,CAAA,MAAO;AACxG,UAAI,UAAU,aAAa,qBAAqB;AAC/C,YAAI;AACH,gBAAM,UAAU,YAAY,oBAAA;AAAA,QAC7B,QAAQ;AAAA,QAGR;AAAA,MACD;AACA,sBAAA;AACA,sBAAgB,MAAS;AAOzB,UAAI;AACJ,UAAI;AACH,cAAM,EAAE,SAAA,IAAa,MAAM,UAAU,eAAe;AACpD,YAAI,CAAC,UAAU,IAAI;AAClB,kBAAQ,KAAK,UAAU,KAAK;AAAA,QAC7B;AACA,YAAI,WAAW;AACd,yBAAe,UAAU,aAAa;AAAA,QACvC;AAAA,MACD,SAAS,GAAG;AACX,gBAAQ,KAAK,CAAC;AAAA,MACf;AACA,UAAI,CAAC,YAAY;AAChB,eAAO,SAAS,OAAO,gBAAgB;AAAA,MACxC;AAAA,IACD;AAAA,IACA,CAAC,eAAe,iBAAiB,SAAS;AAAA,EAAA;AAE5C;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useRedirectToBacklink.cjs","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useRedirectToBacklink.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react'\nimport { useIdentity } from '../../contexts'\n\nconst getBacklinkFromUrl = () => {\n\treturn new URLSearchParams(window.location.search).get('backlink')\n}\n\nexport const useSaveBacklink = ({ storage = 'session' }: {\n\tstorage?: 'session' | 'local'\n} = {}) => {\n\treturn useCallback(() => {\n\t\tconst backlink = getBacklinkFromUrl()\n\t\tif (!backlink) {\n\t\t\treturn\n\t\t}\n\t\tif (storage === 'local') {\n\t\t\tlocalStorage.setItem('backlink', backlink)\n\t\t} else {\n\t\t\tsessionStorage.setItem('backlink', backlink)\n\t\t}\n\t}, [storage])\n}\n\nexport const useRedirectToBacklinkCallback = () => {\n\treturn useCallback(() => {\n\t\tconst backlink = getBacklinkFromUrl() ?? sessionStorage.getItem('backlink') ?? localStorage.getItem('backlink')\n\t\tif (!backlink) {\n\t\t\treturn\n\t\t}\n\t\tsessionStorage.removeItem('backlink')\n\t\tlocalStorage.removeItem('backlink')\n\t\tconst resolvedBacklink = new URL(backlink, window.location.href)\n\t\tif (resolvedBacklink.origin === window.location.origin) {\n\t\t\twindow.location.href = resolvedBacklink.toString()\n\t\t}\n\t}, [])\n}\n\nexport const useRedirectToBacklink = () => {\n\tconst identity = useIdentity()\n\tconst redirect = useRedirectToBacklinkCallback()\n\tuseEffect(() => {\n\t\tif (!identity) {\n\t\t\treturn\n\t\t}\n\t\tredirect()\n\t}, [identity, redirect])\n}\n"],"names":["useCallback"],"mappings":";;;AAGA,MAAM,qBAAqB,MAAM;AAChC,SAAO,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,IAAI,UAAU;AAClE;AAEO,MAAM,kBAAkB,CAAC,EAAE,UAAU,UAAA,IAExC,CAAA,MAAO;AACV,SAAOA,MAAAA,YAAY,MAAM;AACxB,UAAM,WAAW,mBAAA;AACjB,QAAI,CAAC,UAAU;AACd;AAAA,IACD;AACA,QAAI,YAAY,SAAS;AACxB,mBAAa,QAAQ,YAAY,QAAQ;AAAA,IAC1C,OAAO;AACN,qBAAe,QAAQ,YAAY,QAAQ;AAAA,IAC5C;AAAA,EACD,GAAG,CAAC,OAAO,CAAC;AACb;AAEO,MAAM,gCAAgC,MAAM;AAClD,SAAOA,MAAAA,YAAY,MAAM;AACxB,UAAM,WAAW,wBAAwB,eAAe,QAAQ,UAAU,KAAK,aAAa,QAAQ,UAAU;AAC9G,QAAI,CAAC,UAAU;AACd;AAAA,IACD;AACA,mBAAe,WAAW,UAAU;AACpC,iBAAa,WAAW,UAAU;AAClC,UAAM,mBAAmB,IAAI,IAAI,UAAU,OAAO,SAAS,IAAI;AAC/D,QAAI,iBAAiB,WAAW,OAAO,SAAS,QAAQ;AACvD,aAAO,SAAS,OAAO,iBAAiB,SAAA;AAAA,IACzC;AAAA,EACD,GAAG,CAAA,CAAE;AACN;;;"}
1
+ {"version":3,"file":"useRedirectToBacklink.cjs","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useRedirectToBacklink.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react'\nimport { useIdentity } from '../../contexts.js'\n\nconst getBacklinkFromUrl = () => {\n\treturn new URLSearchParams(window.location.search).get('backlink')\n}\n\nexport const useSaveBacklink = ({ storage = 'session' }: {\n\tstorage?: 'session' | 'local'\n} = {}) => {\n\treturn useCallback(() => {\n\t\tconst backlink = getBacklinkFromUrl()\n\t\tif (!backlink) {\n\t\t\treturn\n\t\t}\n\t\tif (storage === 'local') {\n\t\t\tlocalStorage.setItem('backlink', backlink)\n\t\t} else {\n\t\t\tsessionStorage.setItem('backlink', backlink)\n\t\t}\n\t}, [storage])\n}\n\nexport const useRedirectToBacklinkCallback = () => {\n\treturn useCallback(() => {\n\t\tconst backlink = getBacklinkFromUrl() ?? sessionStorage.getItem('backlink') ?? localStorage.getItem('backlink')\n\t\tif (!backlink) {\n\t\t\treturn\n\t\t}\n\t\tsessionStorage.removeItem('backlink')\n\t\tlocalStorage.removeItem('backlink')\n\t\tconst resolvedBacklink = new URL(backlink, window.location.href)\n\t\tif (resolvedBacklink.origin === window.location.origin) {\n\t\t\twindow.location.href = resolvedBacklink.toString()\n\t\t}\n\t}, [])\n}\n\nexport const useRedirectToBacklink = () => {\n\tconst identity = useIdentity()\n\tconst redirect = useRedirectToBacklinkCallback()\n\tuseEffect(() => {\n\t\tif (!identity) {\n\t\t\treturn\n\t\t}\n\t\tredirect()\n\t}, [identity, redirect])\n}\n"],"names":["useCallback"],"mappings":";;;AAGA,MAAM,qBAAqB,MAAM;AAChC,SAAO,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,IAAI,UAAU;AAClE;AAEO,MAAM,kBAAkB,CAAC,EAAE,UAAU,UAAA,IAExC,CAAA,MAAO;AACV,SAAOA,MAAAA,YAAY,MAAM;AACxB,UAAM,WAAW,mBAAA;AACjB,QAAI,CAAC,UAAU;AACd;AAAA,IACD;AACA,QAAI,YAAY,SAAS;AACxB,mBAAa,QAAQ,YAAY,QAAQ;AAAA,IAC1C,OAAO;AACN,qBAAe,QAAQ,YAAY,QAAQ;AAAA,IAC5C;AAAA,EACD,GAAG,CAAC,OAAO,CAAC;AACb;AAEO,MAAM,gCAAgC,MAAM;AAClD,SAAOA,MAAAA,YAAY,MAAM;AACxB,UAAM,WAAW,wBAAwB,eAAe,QAAQ,UAAU,KAAK,aAAa,QAAQ,UAAU;AAC9G,QAAI,CAAC,UAAU;AACd;AAAA,IACD;AACA,mBAAe,WAAW,UAAU;AACpC,iBAAa,WAAW,UAAU;AAClC,UAAM,mBAAmB,IAAI,IAAI,UAAU,OAAO,SAAS,IAAI;AAC/D,QAAI,iBAAiB,WAAW,OAAO,SAAS,QAAQ;AACvD,aAAO,SAAS,OAAO,iBAAiB,SAAA;AAAA,IACzC;AAAA,EACD,GAAG,CAAA,CAAE;AACN;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useRedirectToBacklink.js","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useRedirectToBacklink.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react'\nimport { useIdentity } from '../../contexts'\n\nconst getBacklinkFromUrl = () => {\n\treturn new URLSearchParams(window.location.search).get('backlink')\n}\n\nexport const useSaveBacklink = ({ storage = 'session' }: {\n\tstorage?: 'session' | 'local'\n} = {}) => {\n\treturn useCallback(() => {\n\t\tconst backlink = getBacklinkFromUrl()\n\t\tif (!backlink) {\n\t\t\treturn\n\t\t}\n\t\tif (storage === 'local') {\n\t\t\tlocalStorage.setItem('backlink', backlink)\n\t\t} else {\n\t\t\tsessionStorage.setItem('backlink', backlink)\n\t\t}\n\t}, [storage])\n}\n\nexport const useRedirectToBacklinkCallback = () => {\n\treturn useCallback(() => {\n\t\tconst backlink = getBacklinkFromUrl() ?? sessionStorage.getItem('backlink') ?? localStorage.getItem('backlink')\n\t\tif (!backlink) {\n\t\t\treturn\n\t\t}\n\t\tsessionStorage.removeItem('backlink')\n\t\tlocalStorage.removeItem('backlink')\n\t\tconst resolvedBacklink = new URL(backlink, window.location.href)\n\t\tif (resolvedBacklink.origin === window.location.origin) {\n\t\t\twindow.location.href = resolvedBacklink.toString()\n\t\t}\n\t}, [])\n}\n\nexport const useRedirectToBacklink = () => {\n\tconst identity = useIdentity()\n\tconst redirect = useRedirectToBacklinkCallback()\n\tuseEffect(() => {\n\t\tif (!identity) {\n\t\t\treturn\n\t\t}\n\t\tredirect()\n\t}, [identity, redirect])\n}\n"],"names":[],"mappings":";AAGA,MAAM,qBAAqB,MAAM;AAChC,SAAO,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,IAAI,UAAU;AAClE;AAEO,MAAM,kBAAkB,CAAC,EAAE,UAAU,UAAA,IAExC,CAAA,MAAO;AACV,SAAO,YAAY,MAAM;AACxB,UAAM,WAAW,mBAAA;AACjB,QAAI,CAAC,UAAU;AACd;AAAA,IACD;AACA,QAAI,YAAY,SAAS;AACxB,mBAAa,QAAQ,YAAY,QAAQ;AAAA,IAC1C,OAAO;AACN,qBAAe,QAAQ,YAAY,QAAQ;AAAA,IAC5C;AAAA,EACD,GAAG,CAAC,OAAO,CAAC;AACb;AAEO,MAAM,gCAAgC,MAAM;AAClD,SAAO,YAAY,MAAM;AACxB,UAAM,WAAW,wBAAwB,eAAe,QAAQ,UAAU,KAAK,aAAa,QAAQ,UAAU;AAC9G,QAAI,CAAC,UAAU;AACd;AAAA,IACD;AACA,mBAAe,WAAW,UAAU;AACpC,iBAAa,WAAW,UAAU;AAClC,UAAM,mBAAmB,IAAI,IAAI,UAAU,OAAO,SAAS,IAAI;AAC/D,QAAI,iBAAiB,WAAW,OAAO,SAAS,QAAQ;AACvD,aAAO,SAAS,OAAO,iBAAiB,SAAA;AAAA,IACzC;AAAA,EACD,GAAG,CAAA,CAAE;AACN;"}
1
+ {"version":3,"file":"useRedirectToBacklink.js","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useRedirectToBacklink.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react'\nimport { useIdentity } from '../../contexts.js'\n\nconst getBacklinkFromUrl = () => {\n\treturn new URLSearchParams(window.location.search).get('backlink')\n}\n\nexport const useSaveBacklink = ({ storage = 'session' }: {\n\tstorage?: 'session' | 'local'\n} = {}) => {\n\treturn useCallback(() => {\n\t\tconst backlink = getBacklinkFromUrl()\n\t\tif (!backlink) {\n\t\t\treturn\n\t\t}\n\t\tif (storage === 'local') {\n\t\t\tlocalStorage.setItem('backlink', backlink)\n\t\t} else {\n\t\t\tsessionStorage.setItem('backlink', backlink)\n\t\t}\n\t}, [storage])\n}\n\nexport const useRedirectToBacklinkCallback = () => {\n\treturn useCallback(() => {\n\t\tconst backlink = getBacklinkFromUrl() ?? sessionStorage.getItem('backlink') ?? localStorage.getItem('backlink')\n\t\tif (!backlink) {\n\t\t\treturn\n\t\t}\n\t\tsessionStorage.removeItem('backlink')\n\t\tlocalStorage.removeItem('backlink')\n\t\tconst resolvedBacklink = new URL(backlink, window.location.href)\n\t\tif (resolvedBacklink.origin === window.location.origin) {\n\t\t\twindow.location.href = resolvedBacklink.toString()\n\t\t}\n\t}, [])\n}\n\nexport const useRedirectToBacklink = () => {\n\tconst identity = useIdentity()\n\tconst redirect = useRedirectToBacklinkCallback()\n\tuseEffect(() => {\n\t\tif (!identity) {\n\t\t\treturn\n\t\t}\n\t\tredirect()\n\t}, [identity, redirect])\n}\n"],"names":[],"mappings":";AAGA,MAAM,qBAAqB,MAAM;AAChC,SAAO,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAAE,IAAI,UAAU;AAClE;AAEO,MAAM,kBAAkB,CAAC,EAAE,UAAU,UAAA,IAExC,CAAA,MAAO;AACV,SAAO,YAAY,MAAM;AACxB,UAAM,WAAW,mBAAA;AACjB,QAAI,CAAC,UAAU;AACd;AAAA,IACD;AACA,QAAI,YAAY,SAAS;AACxB,mBAAa,QAAQ,YAAY,QAAQ;AAAA,IAC1C,OAAO;AACN,qBAAe,QAAQ,YAAY,QAAQ;AAAA,IAC5C;AAAA,EACD,GAAG,CAAC,OAAO,CAAC;AACb;AAEO,MAAM,gCAAgC,MAAM;AAClD,SAAO,YAAY,MAAM;AACxB,UAAM,WAAW,wBAAwB,eAAe,QAAQ,UAAU,KAAK,aAAa,QAAQ,UAAU;AAC9G,QAAI,CAAC,UAAU;AACd;AAAA,IACD;AACA,mBAAe,WAAW,UAAU;AACpC,iBAAa,WAAW,UAAU;AAClC,UAAM,mBAAmB,IAAI,IAAI,UAAU,OAAO,SAAS,IAAI;AAC/D,QAAI,iBAAiB,WAAW,OAAO,SAAS,QAAQ;AACvD,aAAO,SAAS,OAAO,iBAAiB,SAAA;AAAA,IACzC;AAAA,EACD,GAAG,CAAA,CAAE;AACN;"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const contexts = require("./src/contexts.cjs");
4
4
  const ChangeMyPasswordForm = require("./src/components/forms/ChangeMyPasswordForm.cjs");
5
+ const ConfirmEmailChangeForm = require("./src/components/forms/ConfirmEmailChangeForm.cjs");
5
6
  const CreateApiKeyForm = require("./src/components/forms/CreateApiKeyForm.cjs");
6
7
  const CreateSessionTokenForm = require("./src/components/forms/CreateSessionTokenForm.cjs");
7
8
  const DisableOtpTrigger = require("./src/components/triggers/DisableOtpTrigger.cjs");
@@ -21,11 +22,14 @@ const PasswordResetRequestForm = require("./src/components/forms/PasswordResetRe
21
22
  const PasswordlessSignInForm = require("./src/components/forms/PasswordlessSignInForm.cjs");
22
23
  const PasswordlessSignInInitForm = require("./src/components/forms/PasswordlessSignInInitForm.cjs");
23
24
  const RemoveProjectMemberTrigger = require("./src/components/triggers/RemoveProjectMemberTrigger.cjs");
25
+ const RequestEmailVerificationForm = require("./src/components/forms/RequestEmailVerificationForm.cjs");
24
26
  const UpdateProjectMemberForm = require("./src/components/forms/UpdateProjectMemberForm.cjs");
27
+ const VerifyEmailForm = require("./src/components/forms/VerifyEmailForm.cjs");
25
28
  const useAddProjectMemberMutation = require("./src/hooks/mutations/memberships/useAddProjectMemberMutation.cjs");
26
29
  const useChangeMyPasswordMutation = require("./src/hooks/mutations/auth/useChangeMyPasswordMutation.cjs");
27
30
  const useChangeMyProfile = require("./src/hooks/mutations/profile/useChangeMyProfile.cjs");
28
31
  const useChangeProfile = require("./src/hooks/mutations/profile/useChangeProfile.cjs");
32
+ const useConfirmEmailChangeMutation = require("./src/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.cjs");
29
33
  const useConfirmOtpMutation = require("./src/hooks/mutations/otp/useConfirmOtpMutation.cjs");
30
34
  const useCreateApiKeyMutation = require("./src/hooks/mutations/apiKey/useCreateApiKeyMutation.cjs");
31
35
  const useCreateGlobalApiKeyMutation = require("./src/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.cjs");
@@ -37,6 +41,7 @@ const useDisableOtpMutation = require("./src/hooks/mutations/otp/useDisableOtpMu
37
41
  const useInviteMutation = require("./src/hooks/mutations/invite/useInviteMutation.cjs");
38
42
  const usePrepareOtpMutation = require("./src/hooks/mutations/otp/usePrepareOtpMutation.cjs");
39
43
  const useRemoveProjectMemberMutation = require("./src/hooks/mutations/memberships/useRemoveProjectMemberMutation.cjs");
44
+ const useRequestEmailVerificationMutation = require("./src/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.cjs");
40
45
  const useResetPasswordMutation = require("./src/hooks/mutations/passwordReset/useResetPasswordMutation.cjs");
41
46
  const useSignInIdpMutation = require("./src/hooks/mutations/idp/useSignInIdpMutation.cjs");
42
47
  const useSignInMutation = require("./src/hooks/mutations/auth/useSignInMutation.cjs");
@@ -56,6 +61,7 @@ const useProjectMembershipsQuery = require("./src/hooks/queries/useProjectMember
56
61
  const useProjectRolesDefinitionQuery = require("./src/hooks/queries/useProjectRolesDefinitionQuery.cjs");
57
62
  const useSignInPasswordlessMutation = require("./src/hooks/mutations/passwordless/useSignInPasswordlessMutation.cjs");
58
63
  const useTenantQueryLoader = require("./src/hooks/useTenantQueryLoader.cjs");
64
+ const useVerifyEmailMutation = require("./src/hooks/mutations/emailVerification/useVerifyEmailMutation.cjs");
59
65
  exports.FormContext = contexts.FormContext;
60
66
  exports.IDPMethodsContextProvider = contexts.IDPMethodsContextProvider;
61
67
  exports.IDPStateContextProvider = contexts.IDPStateContextProvider;
@@ -70,6 +76,8 @@ exports.useIdentityMethods = contexts.useIdentityMethods;
70
76
  exports.useIdentityState = contexts.useIdentityState;
71
77
  exports.ChangeMyPasswordForm = ChangeMyPasswordForm.ChangeMyPasswordForm;
72
78
  exports.useChangeMyPasswordForm = ChangeMyPasswordForm.useChangeMyPasswordForm;
79
+ exports.ConfirmEmailChangeForm = ConfirmEmailChangeForm.ConfirmEmailChangeForm;
80
+ exports.useConfirmEmailChangeForm = ConfirmEmailChangeForm.useConfirmEmailChangeForm;
73
81
  exports.CreateApiKeyForm = CreateApiKeyForm.CreateApiKeyForm;
74
82
  exports.useCreateApiKeyForm = CreateApiKeyForm.useCreateApiKeyForm;
75
83
  exports.CreateSessionTokenForm = CreateSessionTokenForm.CreateSessionTokenForm;
@@ -100,8 +108,12 @@ exports.usePasswordlessSignInForm = PasswordlessSignInForm.usePasswordlessSignIn
100
108
  exports.PasswordlessSignInInitForm = PasswordlessSignInInitForm.PasswordlessSignInInitForm;
101
109
  exports.usePasswordlessSignInInitForm = PasswordlessSignInInitForm.usePasswordlessSignInInitForm;
102
110
  exports.RemoveProjectMemberTrigger = RemoveProjectMemberTrigger.RemoveProjectMemberTrigger;
111
+ exports.RequestEmailVerificationForm = RequestEmailVerificationForm.RequestEmailVerificationForm;
112
+ exports.useRequestEmailVerificationForm = RequestEmailVerificationForm.useRequestEmailVerificationForm;
103
113
  exports.UpdateProjectMemberForm = UpdateProjectMemberForm.UpdateProjectMemberForm;
104
114
  exports.useUpdateProjectMemberForm = UpdateProjectMemberForm.useUpdateProjectMemberForm;
115
+ exports.VerifyEmailForm = VerifyEmailForm.VerifyEmailForm;
116
+ exports.useVerifyEmailForm = VerifyEmailForm.useVerifyEmailForm;
105
117
  exports.addProjectMemberMutation = useAddProjectMemberMutation.addProjectMemberMutation;
106
118
  exports.useAddProjectMemberMutation = useAddProjectMemberMutation.useAddProjectMemberMutation;
107
119
  exports.changeMyPasswordMutation = useChangeMyPasswordMutation.changeMyPasswordMutation;
@@ -110,6 +122,8 @@ exports.changeMyProfile = useChangeMyProfile.changeMyProfile;
110
122
  exports.useChangeMyProfileMutation = useChangeMyProfile.useChangeMyProfileMutation;
111
123
  exports.changeProfile = useChangeProfile.changeProfile;
112
124
  exports.useChangeProfileMutation = useChangeProfile.useChangeProfileMutation;
125
+ exports.confirmEmailChangeMutation = useConfirmEmailChangeMutation.confirmEmailChangeMutation;
126
+ exports.useConfirmEmailChangeMutation = useConfirmEmailChangeMutation.useConfirmEmailChangeMutation;
113
127
  exports.confirmOtpMutation = useConfirmOtpMutation.confirmOtpMutation;
114
128
  exports.useConfirmOtpMutation = useConfirmOtpMutation.useConfirmOtpMutation;
115
129
  exports.createApiKeyMutation = useCreateApiKeyMutation.createApiKeyMutation;
@@ -132,6 +146,8 @@ exports.prepareOtpMutation = usePrepareOtpMutation.prepareOtpMutation;
132
146
  exports.usePrepareOtpMutation = usePrepareOtpMutation.usePrepareOtpMutation;
133
147
  exports.removeProjectMemberMutation = useRemoveProjectMemberMutation.removeProjectMemberMutation;
134
148
  exports.useRemoveProjectMemberMutation = useRemoveProjectMemberMutation.useRemoveProjectMemberMutation;
149
+ exports.requestEmailVerificationMutation = useRequestEmailVerificationMutation.requestEmailVerificationMutation;
150
+ exports.useRequestEmailVerificationMutation = useRequestEmailVerificationMutation.useRequestEmailVerificationMutation;
135
151
  exports.resetPasswordMutation = useResetPasswordMutation.resetPasswordMutation;
136
152
  exports.useResetPasswordMutation = useResetPasswordMutation.useResetPasswordMutation;
137
153
  exports.signInIDPMutation = useSignInIdpMutation.signInIDPMutation;
@@ -156,4 +172,6 @@ exports.useProjectMembershipsQuery = useProjectMembershipsQuery.useProjectMember
156
172
  exports.useProjectRolesDefinitionQuery = useProjectRolesDefinitionQuery.useProjectRolesDefinitionQuery;
157
173
  exports.useSignInPasswordlessMutation = useSignInPasswordlessMutation.useSignInPasswordlessMutation;
158
174
  exports.useTenantQueryLoader = useTenantQueryLoader.useTenantQueryLoader;
175
+ exports.useVerifyEmailMutation = useVerifyEmailMutation.useVerifyEmailMutation;
176
+ exports.verifyEmailMutation = useVerifyEmailMutation.verifyEmailMutation;
159
177
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { FormContext, IDPMethodsContextProvider, IDPStateContextProvider, IdentityContext, IdentityMethodsContext, IdentityStateContext, useForm, useIDPMethods, useIDPState, useIdentity, useIdentityMethods, useIdentityState } from "./src/contexts.js";
2
2
  import { ChangeMyPasswordForm, useChangeMyPasswordForm } from "./src/components/forms/ChangeMyPasswordForm.js";
3
+ import { ConfirmEmailChangeForm, useConfirmEmailChangeForm } from "./src/components/forms/ConfirmEmailChangeForm.js";
3
4
  import { CreateApiKeyForm, useCreateApiKeyForm } from "./src/components/forms/CreateApiKeyForm.js";
4
5
  import { CreateSessionTokenForm, useCreateSessionTokenForm } from "./src/components/forms/CreateSessionTokenForm.js";
5
6
  import { DisableOtpTrigger } from "./src/components/triggers/DisableOtpTrigger.js";
@@ -19,11 +20,14 @@ import { PasswordResetRequestForm, usePasswordResetRequestForm } from "./src/com
19
20
  import { PasswordlessSignInForm, usePasswordlessSignInForm } from "./src/components/forms/PasswordlessSignInForm.js";
20
21
  import { PasswordlessSignInInitForm, usePasswordlessSignInInitForm } from "./src/components/forms/PasswordlessSignInInitForm.js";
21
22
  import { RemoveProjectMemberTrigger } from "./src/components/triggers/RemoveProjectMemberTrigger.js";
23
+ import { RequestEmailVerificationForm, useRequestEmailVerificationForm } from "./src/components/forms/RequestEmailVerificationForm.js";
22
24
  import { UpdateProjectMemberForm, useUpdateProjectMemberForm } from "./src/components/forms/UpdateProjectMemberForm.js";
25
+ import { VerifyEmailForm, useVerifyEmailForm } from "./src/components/forms/VerifyEmailForm.js";
23
26
  import { addProjectMemberMutation, useAddProjectMemberMutation } from "./src/hooks/mutations/memberships/useAddProjectMemberMutation.js";
24
27
  import { changeMyPasswordMutation, useChangeMyPasswordMutation } from "./src/hooks/mutations/auth/useChangeMyPasswordMutation.js";
25
28
  import { changeMyProfile, useChangeMyProfileMutation } from "./src/hooks/mutations/profile/useChangeMyProfile.js";
26
29
  import { changeProfile, useChangeProfileMutation } from "./src/hooks/mutations/profile/useChangeProfile.js";
30
+ import { confirmEmailChangeMutation, useConfirmEmailChangeMutation } from "./src/hooks/mutations/emailVerification/useConfirmEmailChangeMutation.js";
27
31
  import { confirmOtpMutation, useConfirmOtpMutation } from "./src/hooks/mutations/otp/useConfirmOtpMutation.js";
28
32
  import { createApiKeyMutation, useCreateApiKeyMutation } from "./src/hooks/mutations/apiKey/useCreateApiKeyMutation.js";
29
33
  import { createGlobalApiKeyMutation, useCreateGlobalApiKeyMutation } from "./src/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.js";
@@ -35,6 +39,7 @@ import { disableOtpMutation, useDisableOtpMutation } from "./src/hooks/mutations
35
39
  import { inviteMutation, useInviteMutation } from "./src/hooks/mutations/invite/useInviteMutation.js";
36
40
  import { prepareOtpMutation, usePrepareOtpMutation } from "./src/hooks/mutations/otp/usePrepareOtpMutation.js";
37
41
  import { removeProjectMemberMutation, useRemoveProjectMemberMutation } from "./src/hooks/mutations/memberships/useRemoveProjectMemberMutation.js";
42
+ import { requestEmailVerificationMutation, useRequestEmailVerificationMutation } from "./src/hooks/mutations/emailVerification/useRequestEmailVerificationMutation.js";
38
43
  import { resetPasswordMutation, useResetPasswordMutation } from "./src/hooks/mutations/passwordReset/useResetPasswordMutation.js";
39
44
  import { signInIDPMutation, useSignInIDPMutation } from "./src/hooks/mutations/idp/useSignInIdpMutation.js";
40
45
  import { signInMutation, useSignInMutation } from "./src/hooks/mutations/auth/useSignInMutation.js";
@@ -54,8 +59,10 @@ import { useProjectMembershipsQuery } from "./src/hooks/queries/useProjectMember
54
59
  import { useProjectRolesDefinitionQuery } from "./src/hooks/queries/useProjectRolesDefinitionQuery.js";
55
60
  import { useSignInPasswordlessMutation } from "./src/hooks/mutations/passwordless/useSignInPasswordlessMutation.js";
56
61
  import { useTenantQueryLoader } from "./src/hooks/useTenantQueryLoader.js";
62
+ import { useVerifyEmailMutation, verifyEmailMutation } from "./src/hooks/mutations/emailVerification/useVerifyEmailMutation.js";
57
63
  export {
58
64
  ChangeMyPasswordForm,
65
+ ConfirmEmailChangeForm,
59
66
  CreateApiKeyForm,
60
67
  CreateSessionTokenForm,
61
68
  DisableOtpTrigger,
@@ -81,11 +88,14 @@ export {
81
88
  PasswordlessSignInForm,
82
89
  PasswordlessSignInInitForm,
83
90
  RemoveProjectMemberTrigger,
91
+ RequestEmailVerificationForm,
84
92
  UpdateProjectMemberForm,
93
+ VerifyEmailForm,
85
94
  addProjectMemberMutation,
86
95
  changeMyPasswordMutation,
87
96
  changeMyProfile,
88
97
  changeProfile,
98
+ confirmEmailChangeMutation,
89
99
  confirmOtpMutation,
90
100
  createApiKeyMutation,
91
101
  createGlobalApiKeyMutation,
@@ -97,6 +107,7 @@ export {
97
107
  inviteMutation,
98
108
  prepareOtpMutation,
99
109
  removeProjectMemberMutation,
110
+ requestEmailVerificationMutation,
100
111
  resetPasswordMutation,
101
112
  signInIDPMutation,
102
113
  signInMutation,
@@ -108,6 +119,8 @@ export {
108
119
  useChangeMyPasswordMutation,
109
120
  useChangeMyProfileMutation,
110
121
  useChangeProfileMutation,
122
+ useConfirmEmailChangeForm,
123
+ useConfirmEmailChangeMutation,
111
124
  useConfirmOtpMutation,
112
125
  useCreateApiKeyForm,
113
126
  useCreateApiKeyMutation,
@@ -145,6 +158,8 @@ export {
145
158
  useProjectMembershipsQuery,
146
159
  useProjectRolesDefinitionQuery,
147
160
  useRemoveProjectMemberMutation,
161
+ useRequestEmailVerificationForm,
162
+ useRequestEmailVerificationMutation,
148
163
  useResetPasswordMutation,
149
164
  useSignInIDPMutation,
150
165
  useSignInMutation,
@@ -154,6 +169,9 @@ export {
154
169
  useTenantMutation,
155
170
  useTenantQueryLoader,
156
171
  useUpdateProjectMemberForm,
157
- useUpdateProjectMemberMutation
172
+ useUpdateProjectMemberMutation,
173
+ useVerifyEmailForm,
174
+ useVerifyEmailMutation,
175
+ verifyEmailMutation
158
176
  };
159
177
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityProvider.cjs","sources":["../../../../../packages/react-client-tenant/src/components/IdentityProvider.tsx"],"sourcesContent":["import { useSessionToken } from '@contember/react-client'\nimport { ReactNode, useEffect } from 'react'\nimport { useFetchIdentity } from '../hooks'\nimport { IdentityContext, IdentityMethodsContext, IdentityStateContext } from '../contexts'\n\nexport interface IdentityProviderProps {\n\tchildren: ReactNode\n}\n\nexport const IdentityProvider: React.FC<IdentityProviderProps> = ({ children }) => {\n\tconst sessionToken = useSessionToken()\n\tconst [{ identity, state }, methods] = useFetchIdentity()\n\n\tconst { refreshIdentity, clearIdentity } = methods\n\tuseEffect(() => {\n\t\tif (sessionToken !== undefined) {\n\t\t\trefreshIdentity()\n\t\t}\n\t}, [sessionToken, refreshIdentity])\n\n\tconst hasIdentity = identity !== undefined\n\tuseEffect(() => {\n\t\tif (sessionToken === undefined && hasIdentity) {\n\t\t\tclearIdentity()\n\t\t}\n\t}, [sessionToken, clearIdentity, hasIdentity])\n\n\treturn (\n\t\t<IdentityStateContext.Provider value={state}>\n\t\t\t<IdentityContext.Provider value={identity}>\n\t\t\t\t<IdentityMethodsContext.Provider value={methods}>\n\t\t\t\t\t{children}\n\t\t\t\t</IdentityMethodsContext.Provider>\n\t\t\t</IdentityContext.Provider>\n\t\t</IdentityStateContext.Provider>\n\t)\n}\n"],"names":["useSessionToken","useFetchIdentity","useEffect","jsx","IdentityStateContext","IdentityContext","IdentityMethodsContext"],"mappings":";;;;;;;AASO,MAAM,mBAAoD,CAAC,EAAE,eAAe;AAClF,QAAM,eAAeA,YAAAA,gBAAA;AACrB,QAAM,CAAC,EAAE,UAAU,SAAS,OAAO,IAAIC,iBAAAA,iBAAA;AAEvC,QAAM,EAAE,iBAAiB,cAAA,IAAkB;AAC3CC,QAAAA,UAAU,MAAM;AACf,QAAI,iBAAiB,QAAW;AAC/B,sBAAA;AAAA,IACD;AAAA,EACD,GAAG,CAAC,cAAc,eAAe,CAAC;AAElC,QAAM,cAAc,aAAa;AACjCA,QAAAA,UAAU,MAAM;AACf,QAAI,iBAAiB,UAAa,aAAa;AAC9C,oBAAA;AAAA,IACD;AAAA,EACD,GAAG,CAAC,cAAc,eAAe,WAAW,CAAC;AAE7C,SACCC,+BAACC,SAAAA,qBAAqB,UAArB,EAA8B,OAAO,OACrC,UAAAD,2BAAAA,IAACE,yBAAgB,UAAhB,EAAyB,OAAO,UAChC,UAAAF,2BAAAA,IAACG,SAAAA,uBAAuB,UAAvB,EAAgC,OAAO,SACtC,SAAA,CACF,GACD,GACD;AAEF;;"}
1
+ {"version":3,"file":"IdentityProvider.cjs","sources":["../../../../../packages/react-client-tenant/src/components/IdentityProvider.tsx"],"sourcesContent":["import { useSessionToken } from '@contember/react-client'\nimport { ReactNode, useEffect } from 'react'\nimport { useFetchIdentity } from '../hooks/index.js'\nimport { IdentityContext, IdentityMethodsContext, IdentityStateContext } from '../contexts.js'\n\nexport interface IdentityProviderProps {\n\tchildren: ReactNode\n}\n\nexport const IdentityProvider: React.FC<IdentityProviderProps> = ({ children }) => {\n\tconst sessionToken = useSessionToken()\n\tconst [{ identity, state }, methods] = useFetchIdentity()\n\n\tconst { refreshIdentity, clearIdentity } = methods\n\tuseEffect(() => {\n\t\tif (sessionToken !== undefined) {\n\t\t\trefreshIdentity()\n\t\t}\n\t}, [sessionToken, refreshIdentity])\n\n\tconst hasIdentity = identity !== undefined\n\tuseEffect(() => {\n\t\tif (sessionToken === undefined && hasIdentity) {\n\t\t\tclearIdentity()\n\t\t}\n\t}, [sessionToken, clearIdentity, hasIdentity])\n\n\treturn (\n\t\t<IdentityStateContext.Provider value={state}>\n\t\t\t<IdentityContext.Provider value={identity}>\n\t\t\t\t<IdentityMethodsContext.Provider value={methods}>\n\t\t\t\t\t{children}\n\t\t\t\t</IdentityMethodsContext.Provider>\n\t\t\t</IdentityContext.Provider>\n\t\t</IdentityStateContext.Provider>\n\t)\n}\n"],"names":["useSessionToken","useFetchIdentity","useEffect","jsx","IdentityStateContext","IdentityContext","IdentityMethodsContext"],"mappings":";;;;;;;AASO,MAAM,mBAAoD,CAAC,EAAE,eAAe;AAClF,QAAM,eAAeA,YAAAA,gBAAA;AACrB,QAAM,CAAC,EAAE,UAAU,SAAS,OAAO,IAAIC,iBAAAA,iBAAA;AAEvC,QAAM,EAAE,iBAAiB,cAAA,IAAkB;AAC3CC,QAAAA,UAAU,MAAM;AACf,QAAI,iBAAiB,QAAW;AAC/B,sBAAA;AAAA,IACD;AAAA,EACD,GAAG,CAAC,cAAc,eAAe,CAAC;AAElC,QAAM,cAAc,aAAa;AACjCA,QAAAA,UAAU,MAAM;AACf,QAAI,iBAAiB,UAAa,aAAa;AAC9C,oBAAA;AAAA,IACD;AAAA,EACD,GAAG,CAAC,cAAc,eAAe,WAAW,CAAC;AAE7C,SACCC,+BAACC,SAAAA,qBAAqB,UAArB,EAA8B,OAAO,OACrC,UAAAD,2BAAAA,IAACE,yBAAgB,UAAhB,EAAyB,OAAO,UAChC,UAAAF,2BAAAA,IAACG,SAAAA,uBAAuB,UAAvB,EAAgC,OAAO,SACtC,SAAA,CACF,GACD,GACD;AAEF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityProvider.js","sources":["../../../../../packages/react-client-tenant/src/components/IdentityProvider.tsx"],"sourcesContent":["import { useSessionToken } from '@contember/react-client'\nimport { ReactNode, useEffect } from 'react'\nimport { useFetchIdentity } from '../hooks'\nimport { IdentityContext, IdentityMethodsContext, IdentityStateContext } from '../contexts'\n\nexport interface IdentityProviderProps {\n\tchildren: ReactNode\n}\n\nexport const IdentityProvider: React.FC<IdentityProviderProps> = ({ children }) => {\n\tconst sessionToken = useSessionToken()\n\tconst [{ identity, state }, methods] = useFetchIdentity()\n\n\tconst { refreshIdentity, clearIdentity } = methods\n\tuseEffect(() => {\n\t\tif (sessionToken !== undefined) {\n\t\t\trefreshIdentity()\n\t\t}\n\t}, [sessionToken, refreshIdentity])\n\n\tconst hasIdentity = identity !== undefined\n\tuseEffect(() => {\n\t\tif (sessionToken === undefined && hasIdentity) {\n\t\t\tclearIdentity()\n\t\t}\n\t}, [sessionToken, clearIdentity, hasIdentity])\n\n\treturn (\n\t\t<IdentityStateContext.Provider value={state}>\n\t\t\t<IdentityContext.Provider value={identity}>\n\t\t\t\t<IdentityMethodsContext.Provider value={methods}>\n\t\t\t\t\t{children}\n\t\t\t\t</IdentityMethodsContext.Provider>\n\t\t\t</IdentityContext.Provider>\n\t\t</IdentityStateContext.Provider>\n\t)\n}\n"],"names":[],"mappings":";;;;;AASO,MAAM,mBAAoD,CAAC,EAAE,eAAe;AAClF,QAAM,eAAe,gBAAA;AACrB,QAAM,CAAC,EAAE,UAAU,SAAS,OAAO,IAAI,iBAAA;AAEvC,QAAM,EAAE,iBAAiB,cAAA,IAAkB;AAC3C,YAAU,MAAM;AACf,QAAI,iBAAiB,QAAW;AAC/B,sBAAA;AAAA,IACD;AAAA,EACD,GAAG,CAAC,cAAc,eAAe,CAAC;AAElC,QAAM,cAAc,aAAa;AACjC,YAAU,MAAM;AACf,QAAI,iBAAiB,UAAa,aAAa;AAC9C,oBAAA;AAAA,IACD;AAAA,EACD,GAAG,CAAC,cAAc,eAAe,WAAW,CAAC;AAE7C,SACC,oBAAC,qBAAqB,UAArB,EAA8B,OAAO,OACrC,UAAA,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,UAChC,UAAA,oBAAC,uBAAuB,UAAvB,EAAgC,OAAO,SACtC,SAAA,CACF,GACD,GACD;AAEF;"}
1
+ {"version":3,"file":"IdentityProvider.js","sources":["../../../../../packages/react-client-tenant/src/components/IdentityProvider.tsx"],"sourcesContent":["import { useSessionToken } from '@contember/react-client'\nimport { ReactNode, useEffect } from 'react'\nimport { useFetchIdentity } from '../hooks/index.js'\nimport { IdentityContext, IdentityMethodsContext, IdentityStateContext } from '../contexts.js'\n\nexport interface IdentityProviderProps {\n\tchildren: ReactNode\n}\n\nexport const IdentityProvider: React.FC<IdentityProviderProps> = ({ children }) => {\n\tconst sessionToken = useSessionToken()\n\tconst [{ identity, state }, methods] = useFetchIdentity()\n\n\tconst { refreshIdentity, clearIdentity } = methods\n\tuseEffect(() => {\n\t\tif (sessionToken !== undefined) {\n\t\t\trefreshIdentity()\n\t\t}\n\t}, [sessionToken, refreshIdentity])\n\n\tconst hasIdentity = identity !== undefined\n\tuseEffect(() => {\n\t\tif (sessionToken === undefined && hasIdentity) {\n\t\t\tclearIdentity()\n\t\t}\n\t}, [sessionToken, clearIdentity, hasIdentity])\n\n\treturn (\n\t\t<IdentityStateContext.Provider value={state}>\n\t\t\t<IdentityContext.Provider value={identity}>\n\t\t\t\t<IdentityMethodsContext.Provider value={methods}>\n\t\t\t\t\t{children}\n\t\t\t\t</IdentityMethodsContext.Provider>\n\t\t\t</IdentityContext.Provider>\n\t\t</IdentityStateContext.Provider>\n\t)\n}\n"],"names":[],"mappings":";;;;;AASO,MAAM,mBAAoD,CAAC,EAAE,eAAe;AAClF,QAAM,eAAe,gBAAA;AACrB,QAAM,CAAC,EAAE,UAAU,SAAS,OAAO,IAAI,iBAAA;AAEvC,QAAM,EAAE,iBAAiB,cAAA,IAAkB;AAC3C,YAAU,MAAM;AACf,QAAI,iBAAiB,QAAW;AAC/B,sBAAA;AAAA,IACD;AAAA,EACD,GAAG,CAAC,cAAc,eAAe,CAAC;AAElC,QAAM,cAAc,aAAa;AACjC,YAAU,MAAM;AACf,QAAI,iBAAiB,UAAa,aAAa;AAC9C,oBAAA;AAAA,IACD;AAAA,EACD,GAAG,CAAC,cAAc,eAAe,WAAW,CAAC;AAE7C,SACC,oBAAC,qBAAqB,UAArB,EAA8B,OAAO,OACrC,UAAA,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,UAChC,UAAA,oBAAC,uBAAuB,UAAvB,EAAgC,OAAO,SACtC,SAAA,CACF,GACD,GACD;AAEF;"}