@stytch/react 20.0.0-next.4 → 20.0.0-next.6

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 (316) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/StytchSSRProxy-Bz6LNYdq.js.map +1 -1
  3. package/dist/cjs/adminPortal/index.cjs +2 -2
  4. package/dist/cjs/b2b/index.cjs +11 -8
  5. package/dist/cjs/b2b/index.cjs.map +1 -1
  6. package/dist/cjs/b2b/index.headless.cjs +456 -496
  7. package/dist/cjs/b2b/index.headless.cjs.map +1 -1
  8. package/dist/cjs/{idpHelpers-Bj_7pbfW.js → idpHelpers-UZaYQqT8.js} +111 -129
  9. package/dist/cjs/{idpHelpers-Bj_7pbfW.js.map → idpHelpers-UZaYQqT8.js.map} +1 -1
  10. package/dist/cjs/{index-BIjXBvf_.js → index-MDH3lelI.js} +2 -2
  11. package/dist/cjs/{index-BIjXBvf_.js.map → index-MDH3lelI.js.map} +1 -1
  12. package/dist/cjs/index.cjs +18 -14
  13. package/dist/cjs/index.cjs.map +1 -1
  14. package/dist/cjs/index.headless.cjs +401 -448
  15. package/dist/cjs/index.headless.cjs.map +1 -1
  16. package/dist/cjs/{passwordManagerDisableAutofillProps-DV31RTL_.js → passwordManagerDisableAutofillProps-BzR1GTDj.js} +42 -33
  17. package/dist/cjs/passwordManagerDisableAutofillProps-BzR1GTDj.js.map +1 -0
  18. package/dist/cjs/{shadcn-aVU6Lm9q.js → shadcn-BNtf3uZr.js} +7 -6
  19. package/dist/cjs/shadcn-BNtf3uZr.js.map +1 -0
  20. package/dist/cjs-dev/adminPortal/index.cjs +2 -2
  21. package/dist/cjs-dev/b2b/index.cjs +11 -8
  22. package/dist/cjs-dev/b2b/index.cjs.map +1 -1
  23. package/dist/cjs-dev/b2b/index.headless.cjs +468 -508
  24. package/dist/cjs-dev/b2b/index.headless.cjs.map +1 -1
  25. package/dist/cjs-dev/dev-DaCGDI6V.js.map +1 -1
  26. package/dist/cjs-dev/{idpHelpers-DOYYSxsX.js → idpHelpers-CVk39K69.js} +111 -129
  27. package/dist/cjs-dev/{idpHelpers-DOYYSxsX.js.map → idpHelpers-CVk39K69.js.map} +1 -1
  28. package/dist/cjs-dev/{index-rquGmIlv.js → index-BDTK8QN0.js} +2 -2
  29. package/dist/cjs-dev/{index-rquGmIlv.js.map → index-BDTK8QN0.js.map} +1 -1
  30. package/dist/cjs-dev/index.cjs +18 -14
  31. package/dist/cjs-dev/index.cjs.map +1 -1
  32. package/dist/cjs-dev/index.headless.cjs +405 -452
  33. package/dist/cjs-dev/index.headless.cjs.map +1 -1
  34. package/dist/cjs-dev/{passwordManagerDisableAutofillProps-CgiK2M_U.js → passwordManagerDisableAutofillProps--FLcEDiY.js} +42 -33
  35. package/dist/cjs-dev/passwordManagerDisableAutofillProps--FLcEDiY.js.map +1 -0
  36. package/dist/cjs-dev/{shadcn-DMk6ZSoD.js → shadcn-CvmoCuzj.js} +9 -8
  37. package/dist/cjs-dev/shadcn-CvmoCuzj.js.map +1 -0
  38. package/dist/esm/_virtual/index3.mjs +3 -5
  39. package/dist/esm/_virtual/index3.mjs.map +1 -1
  40. package/dist/esm/_virtual/index4.mjs +5 -3
  41. package/dist/esm/_virtual/index4.mjs.map +1 -1
  42. package/dist/esm/node_modules/@lingui/react/dist/index.mjs +14 -13
  43. package/dist/esm/node_modules/@lingui/react/dist/index.mjs.map +1 -1
  44. package/dist/esm/node_modules/@lingui/react/dist/shared/{react.31c3b5fa.mjs → react.8970326b.mjs} +32 -23
  45. package/dist/esm/node_modules/@lingui/react/dist/shared/react.8970326b.mjs.map +1 -0
  46. package/dist/esm/packages/core/src/DFPProtectedAuthProvider.mjs +39 -43
  47. package/dist/esm/packages/core/src/DFPProtectedAuthProvider.mjs.map +1 -1
  48. package/dist/esm/packages/core/src/EventLogger.mjs.map +1 -1
  49. package/dist/esm/packages/core/src/HeadlessClients/HeadlessCryptoWalletClient.mjs.map +1 -1
  50. package/dist/esm/packages/core/src/HeadlessClients/HeadlessIDPClient.mjs +15 -18
  51. package/dist/esm/packages/core/src/HeadlessClients/HeadlessIDPClient.mjs.map +1 -1
  52. package/dist/esm/packages/core/src/HeadlessClients/HeadlessImpersonationClient.mjs.map +1 -1
  53. package/dist/esm/packages/core/src/HeadlessClients/HeadlessMagicLinkClient.mjs.map +1 -1
  54. package/dist/esm/packages/core/src/HeadlessClients/HeadlessOAuthClient.mjs +58 -77
  55. package/dist/esm/packages/core/src/HeadlessClients/HeadlessOAuthClient.mjs.map +1 -1
  56. package/dist/esm/packages/core/src/HeadlessClients/HeadlessOTPClient.mjs +100 -103
  57. package/dist/esm/packages/core/src/HeadlessClients/HeadlessOTPClient.mjs.map +1 -1
  58. package/dist/esm/packages/core/src/HeadlessClients/HeadlessPasswordClient.mjs.map +1 -1
  59. package/dist/esm/packages/core/src/HeadlessClients/HeadlessRBACClient.mjs +6 -8
  60. package/dist/esm/packages/core/src/HeadlessClients/HeadlessRBACClient.mjs.map +1 -1
  61. package/dist/esm/packages/core/src/HeadlessClients/HeadlessSessionClient.mjs +77 -82
  62. package/dist/esm/packages/core/src/HeadlessClients/HeadlessSessionClient.mjs.map +1 -1
  63. package/dist/esm/packages/core/src/HeadlessClients/HeadlessTOTPClient.mjs.map +1 -1
  64. package/dist/esm/packages/core/src/HeadlessClients/HeadlessUserClient.mjs +111 -125
  65. package/dist/esm/packages/core/src/HeadlessClients/HeadlessUserClient.mjs.map +1 -1
  66. package/dist/esm/packages/core/src/HeadlessClients/HeadlessWebAuthnClient.mjs +10 -11
  67. package/dist/esm/packages/core/src/HeadlessClients/HeadlessWebAuthnClient.mjs.map +1 -1
  68. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BDiscoveryClient.mjs.map +1 -1
  69. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BIDPClient.mjs +16 -19
  70. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BIDPClient.mjs.map +1 -1
  71. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BImpersonationClient.mjs.map +1 -1
  72. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BMagicLinkClient.mjs.map +1 -1
  73. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BOAuthClient.mjs.map +1 -1
  74. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BOTPsClient.mjs.map +1 -1
  75. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BOrganizationClient.mjs +142 -153
  76. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BOrganizationClient.mjs.map +1 -1
  77. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BPasswordsClient.mjs.map +1 -1
  78. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BRBACClient.mjs +7 -9
  79. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BRBACClient.mjs.map +1 -1
  80. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BRecoveryCodesClient.mjs.map +1 -1
  81. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSCIMClient.mjs.map +1 -1
  82. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSSOClient.mjs +67 -70
  83. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSSOClient.mjs.map +1 -1
  84. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSelfClient.mjs +81 -93
  85. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSelfClient.mjs.map +1 -1
  86. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSessionClient.mjs +67 -73
  87. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BSessionClient.mjs.map +1 -1
  88. package/dist/esm/packages/core/src/HeadlessClients/b2b/HeadlessB2BTOTPsClient.mjs.map +1 -1
  89. package/dist/esm/packages/core/src/NetworkClient.mjs.map +1 -1
  90. package/dist/esm/packages/core/src/SearchManager.mjs.map +1 -1
  91. package/dist/esm/packages/core/src/SessionManager.mjs +28 -31
  92. package/dist/esm/packages/core/src/SessionManager.mjs.map +1 -1
  93. package/dist/esm/packages/core/src/StateChangeClient.mjs +5 -6
  94. package/dist/esm/packages/core/src/StateChangeClient.mjs.map +1 -1
  95. package/dist/esm/packages/core/src/public/SDKErrors.mjs.map +1 -1
  96. package/dist/esm/packages/core/src/rbac.mjs.map +1 -1
  97. package/dist/esm/packages/core/src/rpc/FrameClient.mjs.map +1 -1
  98. package/dist/esm/packages/web/src/BootstrapDataManager.mjs.map +1 -1
  99. package/dist/esm/packages/web/src/CaptchaProvider.mjs +10 -11
  100. package/dist/esm/packages/web/src/CaptchaProvider.mjs.map +1 -1
  101. package/dist/esm/packages/web/src/ClientsideServicesProvider.mjs +4 -8
  102. package/dist/esm/packages/web/src/ClientsideServicesProvider.mjs.map +1 -1
  103. package/dist/esm/packages/web/src/HeadlessOAuthClient.mjs +24 -24
  104. package/dist/esm/packages/web/src/HeadlessOAuthClient.mjs.map +1 -1
  105. package/dist/esm/packages/web/src/NetworkClient.mjs +4 -5
  106. package/dist/esm/packages/web/src/NetworkClient.mjs.map +1 -1
  107. package/dist/esm/packages/web/src/PKCEManager.mjs.map +1 -1
  108. package/dist/esm/packages/web/src/StytchClient.mjs.map +1 -1
  109. package/dist/esm/packages/web/src/SubscriptionService.mjs +8 -10
  110. package/dist/esm/packages/web/src/SubscriptionService.mjs.map +1 -1
  111. package/dist/esm/packages/web/src/adminPortal/utils/theme.mjs +1 -1
  112. package/dist/esm/packages/web/src/b2b/HeadlessB2BOAuthClient.mjs +48 -48
  113. package/dist/esm/packages/web/src/b2b/HeadlessB2BOAuthClient.mjs.map +1 -1
  114. package/dist/esm/packages/web/src/b2b/StytchB2BClient.mjs.map +1 -1
  115. package/dist/esm/packages/web/src/b2b/oneTap/B2BOneTapProvider.mjs +27 -30
  116. package/dist/esm/packages/web/src/b2b/oneTap/B2BOneTapProvider.mjs.map +1 -1
  117. package/dist/esm/packages/web/src/oneTap/GoogleOneTapClient.mjs.map +1 -1
  118. package/dist/esm/packages/web/src/oneTap/OneTapProvider.mjs +12 -14
  119. package/dist/esm/packages/web/src/oneTap/OneTapProvider.mjs.map +1 -1
  120. package/dist/esm/packages/web/src/ui/b2b/App.mjs +3 -1
  121. package/dist/esm/packages/web/src/ui/b2b/App.mjs.map +1 -1
  122. package/dist/esm/packages/web/src/ui/b2b/InternalAppContainer.mjs +1 -1
  123. package/dist/esm/packages/web/src/ui/b2b/InternalAppContainer.mjs.map +1 -1
  124. package/dist/esm/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs +1 -1
  125. package/dist/esm/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs.map +1 -1
  126. package/dist/esm/packages/web/src/ui/b2b/screens/SMSOTPEnrollScreen.mjs.map +1 -1
  127. package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs +1 -1
  128. package/dist/esm/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
  129. package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs +3 -1
  130. package/dist/esm/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
  131. package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +1 -1
  132. package/dist/esm/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
  133. package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +1 -1
  134. package/dist/esm/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
  135. package/dist/esm/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +4 -2
  136. package/dist/esm/packages/web/src/ui/b2c/components/GoogleOneTap.mjs.map +1 -1
  137. package/dist/esm/packages/web/src/ui/b2c/screens/Main/index.mjs +2 -1
  138. package/dist/esm/packages/web/src/ui/b2c/screens/Main/index.mjs.map +1 -1
  139. package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs +2 -1
  140. package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
  141. package/dist/esm/packages/web/src/ui/components/mixins/Root.module.css.mjs +1 -1
  142. package/dist/esm/packages/web/src/ui/components/molecules/MainContainer.module.css.mjs +1 -1
  143. package/dist/esm/packages/web/src/ui/hooks/usePromptPasskey.mjs +3 -3
  144. package/dist/esm/packages/web/src/ui/hooks/usePromptPasskey.mjs.map +1 -1
  145. package/dist/esm/packages/web/src/ui/react/bindings/createB2BComponent.mjs +2 -2
  146. package/dist/esm/packages/web/src/ui/react/bindings/createB2BComponent.mjs.map +1 -1
  147. package/dist/esm/packages/web/src/ui/react/bindings/createB2CComponent.mjs +2 -2
  148. package/dist/esm/packages/web/src/ui/react/bindings/createB2CComponent.mjs.map +1 -1
  149. package/dist/esm/packages/web/src/utils/crypto.mjs +1 -1
  150. package/dist/esm-dev/_virtual/index.mjs +3 -5
  151. package/dist/esm-dev/_virtual/index.mjs.map +1 -1
  152. package/dist/esm-dev/_virtual/index2.mjs +5 -3
  153. package/dist/esm-dev/_virtual/index2.mjs.map +1 -1
  154. package/dist/esm-dev/_virtual/index3.mjs +5 -3
  155. package/dist/esm-dev/_virtual/index3.mjs.map +1 -1
  156. package/dist/esm-dev/_virtual/index4.mjs +3 -5
  157. package/dist/esm-dev/_virtual/index4.mjs.map +1 -1
  158. package/dist/esm-dev/node_modules/@lingui/react/dist/index.mjs +14 -13
  159. package/dist/esm-dev/node_modules/@lingui/react/dist/index.mjs.map +1 -1
  160. package/dist/esm-dev/node_modules/@lingui/react/dist/shared/{react.31c3b5fa.mjs → react.8970326b.mjs} +32 -23
  161. package/dist/esm-dev/node_modules/@lingui/react/dist/shared/react.8970326b.mjs.map +1 -0
  162. package/dist/esm-dev/node_modules/swr/core/dist/index.mjs +1 -1
  163. package/dist/esm-dev/node_modules/swr/infinite/dist/index.mjs +1 -1
  164. package/dist/esm-dev/packages/core/src/DFPProtectedAuthProvider.mjs +39 -43
  165. package/dist/esm-dev/packages/core/src/DFPProtectedAuthProvider.mjs.map +1 -1
  166. package/dist/esm-dev/packages/core/src/EventLogger.mjs.map +1 -1
  167. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessCryptoWalletClient.mjs.map +1 -1
  168. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessIDPClient.mjs +15 -18
  169. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessIDPClient.mjs.map +1 -1
  170. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessImpersonationClient.mjs.map +1 -1
  171. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessMagicLinkClient.mjs.map +1 -1
  172. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessOAuthClient.mjs +58 -77
  173. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessOAuthClient.mjs.map +1 -1
  174. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessOTPClient.mjs +100 -103
  175. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessOTPClient.mjs.map +1 -1
  176. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessPasswordClient.mjs.map +1 -1
  177. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessRBACClient.mjs +6 -8
  178. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessRBACClient.mjs.map +1 -1
  179. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessSessionClient.mjs +77 -82
  180. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessSessionClient.mjs.map +1 -1
  181. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessTOTPClient.mjs.map +1 -1
  182. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessUserClient.mjs +114 -128
  183. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessUserClient.mjs.map +1 -1
  184. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessWebAuthnClient.mjs +10 -11
  185. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessWebAuthnClient.mjs.map +1 -1
  186. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BDiscoveryClient.mjs.map +1 -1
  187. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BIDPClient.mjs +16 -19
  188. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BIDPClient.mjs.map +1 -1
  189. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BImpersonationClient.mjs.map +1 -1
  190. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BMagicLinkClient.mjs.map +1 -1
  191. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BOAuthClient.mjs.map +1 -1
  192. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BOTPsClient.mjs.map +1 -1
  193. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BOrganizationClient.mjs +144 -155
  194. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BOrganizationClient.mjs.map +1 -1
  195. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BPasswordsClient.mjs.map +1 -1
  196. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BRBACClient.mjs +7 -9
  197. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BRBACClient.mjs.map +1 -1
  198. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BRecoveryCodesClient.mjs.map +1 -1
  199. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSCIMClient.mjs.map +1 -1
  200. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSSOClient.mjs +67 -70
  201. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSSOClient.mjs.map +1 -1
  202. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSelfClient.mjs +88 -100
  203. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSelfClient.mjs.map +1 -1
  204. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSessionClient.mjs +70 -76
  205. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BSessionClient.mjs.map +1 -1
  206. package/dist/esm-dev/packages/core/src/HeadlessClients/b2b/HeadlessB2BTOTPsClient.mjs.map +1 -1
  207. package/dist/esm-dev/packages/core/src/NetworkClient.mjs.map +1 -1
  208. package/dist/esm-dev/packages/core/src/SearchManager.mjs.map +1 -1
  209. package/dist/esm-dev/packages/core/src/SessionManager.mjs +28 -31
  210. package/dist/esm-dev/packages/core/src/SessionManager.mjs.map +1 -1
  211. package/dist/esm-dev/packages/core/src/StateChangeClient.mjs +5 -6
  212. package/dist/esm-dev/packages/core/src/StateChangeClient.mjs.map +1 -1
  213. package/dist/esm-dev/packages/core/src/public/SDKErrors.mjs.map +1 -1
  214. package/dist/esm-dev/packages/core/src/rbac.mjs.map +1 -1
  215. package/dist/esm-dev/packages/core/src/rpc/FrameClient.mjs.map +1 -1
  216. package/dist/esm-dev/packages/web/src/BootstrapDataManager.mjs.map +1 -1
  217. package/dist/esm-dev/packages/web/src/CaptchaProvider.mjs +10 -11
  218. package/dist/esm-dev/packages/web/src/CaptchaProvider.mjs.map +1 -1
  219. package/dist/esm-dev/packages/web/src/ClientsideServicesProvider.mjs +4 -8
  220. package/dist/esm-dev/packages/web/src/ClientsideServicesProvider.mjs.map +1 -1
  221. package/dist/esm-dev/packages/web/src/HeadlessOAuthClient.mjs +24 -24
  222. package/dist/esm-dev/packages/web/src/HeadlessOAuthClient.mjs.map +1 -1
  223. package/dist/esm-dev/packages/web/src/NetworkClient.mjs +4 -5
  224. package/dist/esm-dev/packages/web/src/NetworkClient.mjs.map +1 -1
  225. package/dist/esm-dev/packages/web/src/PKCEManager.mjs.map +1 -1
  226. package/dist/esm-dev/packages/web/src/StytchClient.mjs.map +1 -1
  227. package/dist/esm-dev/packages/web/src/SubscriptionService.mjs +8 -10
  228. package/dist/esm-dev/packages/web/src/SubscriptionService.mjs.map +1 -1
  229. package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/AuthManagementSection.mjs +1 -1
  230. package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/useMemberActivation.mjs +1 -1
  231. package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionDangerZoneSection.mjs +1 -1
  232. package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionTokenRotationSection.mjs +1 -1
  233. package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMNewConnectionScreen.mjs +1 -1
  234. package/dist/esm-dev/packages/web/src/adminPortal/sso/SSONewConnectionScreen.mjs +1 -1
  235. package/dist/esm-dev/packages/web/src/adminPortal/utils/theme.mjs +1 -1
  236. package/dist/esm-dev/packages/web/src/adminPortal/utils/useMutateMember.mjs +1 -1
  237. package/dist/esm-dev/packages/web/src/adminPortal/utils/useMutateOrganization.mjs +1 -1
  238. package/dist/esm-dev/packages/web/src/adminPortal/utils/useMutateScimConnection.mjs +1 -1
  239. package/dist/esm-dev/packages/web/src/adminPortal/utils/useMutateSsoConnection.mjs +1 -1
  240. package/dist/esm-dev/packages/web/src/adminPortal/utils/useRevalidateConnectionList.mjs +1 -1
  241. package/dist/esm-dev/packages/web/src/b2b/HeadlessB2BOAuthClient.mjs +48 -48
  242. package/dist/esm-dev/packages/web/src/b2b/HeadlessB2BOAuthClient.mjs.map +1 -1
  243. package/dist/esm-dev/packages/web/src/b2b/StytchB2BClient.mjs.map +1 -1
  244. package/dist/esm-dev/packages/web/src/b2b/oneTap/B2BOneTapProvider.mjs +27 -30
  245. package/dist/esm-dev/packages/web/src/b2b/oneTap/B2BOneTapProvider.mjs.map +1 -1
  246. package/dist/esm-dev/packages/web/src/oneTap/GoogleOneTapClient.mjs.map +1 -1
  247. package/dist/esm-dev/packages/web/src/oneTap/OneTapProvider.mjs +12 -14
  248. package/dist/esm-dev/packages/web/src/oneTap/OneTapProvider.mjs.map +1 -1
  249. package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs +3 -1
  250. package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs.map +1 -1
  251. package/dist/esm-dev/packages/web/src/ui/b2b/Container.mjs +1 -1
  252. package/dist/esm-dev/packages/web/src/ui/b2b/InternalAppContainer.mjs +1 -1
  253. package/dist/esm-dev/packages/web/src/ui/b2b/InternalAppContainer.mjs.map +1 -1
  254. package/dist/esm-dev/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs +1 -1
  255. package/dist/esm-dev/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs.map +1 -1
  256. package/dist/esm-dev/packages/web/src/ui/b2b/components/OrganizationRow.mjs +1 -1
  257. package/dist/esm-dev/packages/web/src/ui/b2b/screens/SMSOTPEnrollScreen.mjs.map +1 -1
  258. package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs +1 -1
  259. package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs.map +1 -1
  260. package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs +3 -1
  261. package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs.map +1 -1
  262. package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +1 -1
  263. package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs.map +1 -1
  264. package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +1 -1
  265. package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs.map +1 -1
  266. package/dist/esm-dev/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +5 -3
  267. package/dist/esm-dev/packages/web/src/ui/b2c/components/GoogleOneTap.mjs.map +1 -1
  268. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/LoginForm/index.mjs +1 -1
  269. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/index.mjs +2 -1
  270. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/index.mjs.map +1 -1
  271. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Passkey/EditableRow.mjs +1 -1
  272. package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs +2 -1
  273. package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
  274. package/dist/esm-dev/packages/web/src/ui/components/atoms/AnimatedContainer.mjs +1 -1
  275. package/dist/esm-dev/packages/web/src/ui/components/atoms/Button.mjs +1 -1
  276. package/dist/esm-dev/packages/web/src/ui/components/atoms/CodeContainer.mjs +1 -1
  277. package/dist/esm-dev/packages/web/src/ui/components/atoms/Column.mjs +1 -1
  278. package/dist/esm-dev/packages/web/src/ui/components/atoms/Typography.mjs +1 -1
  279. package/dist/esm-dev/packages/web/src/ui/components/atoms/VerticalTransition.mjs +1 -1
  280. package/dist/esm-dev/packages/web/src/ui/components/atoms/VisuallyHidden.mjs +1 -1
  281. package/dist/esm-dev/packages/web/src/ui/components/mixins/Root.module.css.mjs +1 -1
  282. package/dist/esm-dev/packages/web/src/ui/components/molecules/Badge.mjs +1 -1
  283. package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.mjs +1 -1
  284. package/dist/esm-dev/packages/web/src/ui/components/molecules/MainContainer.mjs +1 -1
  285. package/dist/esm-dev/packages/web/src/ui/components/molecules/MainContainer.module.css.mjs +1 -1
  286. package/dist/esm-dev/packages/web/src/ui/components/molecules/OtpInput.mjs +1 -1
  287. package/dist/esm-dev/packages/web/src/ui/components/molecules/PasswordStrengthCheck.mjs +1 -1
  288. package/dist/esm-dev/packages/web/src/ui/components/organisms/IDPConsentManifest.mjs +1 -1
  289. package/dist/esm-dev/packages/web/src/ui/components/organisms/OneTapError.mjs +2 -2
  290. package/dist/esm-dev/packages/web/src/ui/components/organisms/OneTapError.mjs.map +1 -1
  291. package/dist/esm-dev/packages/web/src/ui/hooks/usePromptPasskey.mjs +3 -3
  292. package/dist/esm-dev/packages/web/src/ui/hooks/usePromptPasskey.mjs.map +1 -1
  293. package/dist/esm-dev/packages/web/src/ui/react/bindings/createB2BComponent.mjs +2 -2
  294. package/dist/esm-dev/packages/web/src/ui/react/bindings/createB2BComponent.mjs.map +1 -1
  295. package/dist/esm-dev/packages/web/src/ui/react/bindings/createB2CComponent.mjs +2 -2
  296. package/dist/esm-dev/packages/web/src/ui/react/bindings/createB2CComponent.mjs.map +1 -1
  297. package/dist/esm-dev/packages/web/src/utils/crypto.mjs +1 -1
  298. package/dist/types/{PresentationConfig-B2jX85oV.d.ts → PresentationConfig-CdAymT0c.d.ts} +5 -0
  299. package/dist/types/{StytchB2BClient-D16e_lp1.d.ts → StytchB2BClient-DYF9xGAB.d.ts} +1 -1
  300. package/dist/types/{StytchClient-BwQdJzdj.d.ts → StytchClient-IyY7-cpI.d.ts} +1 -1
  301. package/dist/types/adminPortal/index.d.ts +3 -3
  302. package/dist/types/b2b/index.d.ts +7 -7
  303. package/dist/types/b2b/index.headless.d.ts +2 -2
  304. package/dist/types/compat.d.ts +1 -1
  305. package/dist/types/{createAuthUrlHandler-R1kNNQD_.d.ts → createAuthUrlHandler-CFZ0DGWC.d.ts} +6 -2
  306. package/dist/types/index.d.ts +7 -7
  307. package/dist/types/index.headless.d.ts +2 -2
  308. package/dist/types/{shadcn-CGdmyIUF.d.ts → shadcn-USiNERNw.d.ts} +4 -4
  309. package/messages/en.po +3 -3
  310. package/package.json +1 -1
  311. package/dist/cjs/passwordManagerDisableAutofillProps-DV31RTL_.js.map +0 -1
  312. package/dist/cjs/shadcn-aVU6Lm9q.js.map +0 -1
  313. package/dist/cjs-dev/passwordManagerDisableAutofillProps-CgiK2M_U.js.map +0 -1
  314. package/dist/cjs-dev/shadcn-DMk6ZSoD.js.map +0 -1
  315. package/dist/esm/node_modules/@lingui/react/dist/shared/react.31c3b5fa.mjs.map +0 -1
  316. package/dist/esm-dev/node_modules/@lingui/react/dist/shared/react.31c3b5fa.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var idpHelpers = require('../idpHelpers-DOYYSxsX.js');
3
+ var idpHelpers = require('../idpHelpers-CVk39K69.js');
4
4
  var StytchSSRProxy = require('../StytchSSRProxy-d553KgcY.js');
5
5
  var dev = require('../dev-DaCGDI6V.js');
6
6
  var logger = require('../logger-CvOATP4R.js');
@@ -13,107 +13,95 @@ class HeadlessB2BSelfClient {
13
13
  this._networkClient = _networkClient;
14
14
  this._apiNetworkClient = _apiNetworkClient;
15
15
  this._subscriptionService = _subscriptionService;
16
- this.get = async ()=>{
17
- const resp = await this._networkClient.fetchSDK({
18
- url: `/b2b/organizations/members/me`,
19
- method: 'GET'
20
- });
21
- this._subscriptionService.updateMember(resp.member);
22
- return resp.member;
23
- };
24
- this.getSync = ()=>{
25
- return this._subscriptionService.getMember();
26
- };
27
- this.getInfo = ()=>({
28
- member: this.getSync(),
29
- fromCache: this._subscriptionService.getFromCache()
30
- });
31
- this.onChange = (callback)=>{
32
- return this._subscriptionService.subscribeToState((state)=>callback(state?.member ?? null));
33
- };
34
- this.update = async (data)=>{
35
- dev.validateInDev('stytch.self.update', data, {
36
- name: 'optionalString',
37
- untrusted_metadata: 'optionalObject',
38
- mfa_enrolled: 'optionalBoolean',
39
- mfa_phone_number: 'optionalString',
40
- default_mfa_method: 'optionalString'
41
- });
42
- const resp = await this._networkClient.fetchSDK({
43
- url: '/b2b/organizations/members/update',
44
- body: data,
45
- method: 'PUT'
46
- });
47
- this._subscriptionService.updateMember(resp.member);
48
- return resp;
49
- };
50
- this.deleteMFAPhoneNumber = async ()=>{
51
- const resp = await this._networkClient.fetchSDK({
52
- url: '/b2b/organizations/members/deletePhoneNumber',
53
- method: 'DELETE'
54
- });
55
- this._subscriptionService.updateMember(resp.member);
56
- return resp;
57
- };
58
- this.deleteMFATOTP = async ()=>{
59
- const resp = await this._networkClient.fetchSDK({
60
- url: `/b2b/organizations/members/deleteTOTP`,
61
- method: 'DELETE'
62
- });
63
- this._subscriptionService.updateMember(resp.member);
64
- return resp;
65
- };
66
- this.deletePassword = async (passwordId)=>{
67
- const resp = await this._networkClient.fetchSDK({
68
- url: `/b2b/organizations/members/passwords/${passwordId}`,
69
- method: 'DELETE'
70
- });
71
- this._subscriptionService.updateMember(resp.member);
72
- return resp;
73
- };
74
- this.unlinkRetiredEmail = async (data)=>{
75
- const resp = await this._apiNetworkClient.fetchSDK({
76
- url: '/b2b/organizations/members/unlink_retired_email',
77
- method: 'POST',
78
- body: data
79
- });
80
- this._subscriptionService.updateMember(resp.member);
81
- return resp;
82
- };
83
- this.startEmailUpdate = async (data)=>{
84
- const resp = await this._apiNetworkClient.fetchSDK({
85
- url: '/b2b/organizations/members/start_email_update',
86
- method: 'POST',
87
- body: data
88
- });
89
- this._subscriptionService.updateMember(resp.member);
90
- return resp;
91
- };
92
- this.getConnectedApps = async ()=>{
93
- return this._networkClient.fetchSDK({
94
- url: '/b2b/organizations/members/connected_apps',
95
- method: 'GET'
96
- });
97
- };
98
- this.revokeConnectedApp = async (data)=>{
99
- return this._networkClient.fetchSDK({
100
- url: `/b2b/organizations/members/connected_apps/${data.connected_app_id}/revoke`,
101
- method: 'POST'
102
- });
103
- };
104
16
  }
105
- get;
106
- getSync;
107
- getInfo;
108
- onChange;
109
- update;
110
- deleteMFAPhoneNumber;
111
- deleteMFATOTP;
112
- deletePassword;
113
- unlinkRetiredEmail;
114
- startEmailUpdate;
115
- getConnectedApps;
116
- revokeConnectedApp;
17
+ get = async ()=>{
18
+ const resp = await this._networkClient.fetchSDK({
19
+ url: `/b2b/organizations/members/me`,
20
+ method: 'GET'
21
+ });
22
+ this._subscriptionService.updateMember(resp.member);
23
+ return resp.member;
24
+ };
25
+ getSync = ()=>{
26
+ return this._subscriptionService.getMember();
27
+ };
28
+ getInfo = ()=>({
29
+ member: this.getSync(),
30
+ fromCache: this._subscriptionService.getFromCache()
31
+ });
32
+ onChange = (callback)=>{
33
+ return this._subscriptionService.subscribeToState((state)=>callback(state?.member ?? null));
34
+ };
35
+ update = async (data)=>{
36
+ dev.validateInDev('stytch.self.update', data, {
37
+ name: 'optionalString',
38
+ untrusted_metadata: 'optionalObject',
39
+ mfa_enrolled: 'optionalBoolean',
40
+ mfa_phone_number: 'optionalString',
41
+ default_mfa_method: 'optionalString'
42
+ });
43
+ const resp = await this._networkClient.fetchSDK({
44
+ url: '/b2b/organizations/members/update',
45
+ body: data,
46
+ method: 'PUT'
47
+ });
48
+ this._subscriptionService.updateMember(resp.member);
49
+ return resp;
50
+ };
51
+ deleteMFAPhoneNumber = async ()=>{
52
+ const resp = await this._networkClient.fetchSDK({
53
+ url: '/b2b/organizations/members/deletePhoneNumber',
54
+ method: 'DELETE'
55
+ });
56
+ this._subscriptionService.updateMember(resp.member);
57
+ return resp;
58
+ };
59
+ deleteMFATOTP = async ()=>{
60
+ const resp = await this._networkClient.fetchSDK({
61
+ url: `/b2b/organizations/members/deleteTOTP`,
62
+ method: 'DELETE'
63
+ });
64
+ this._subscriptionService.updateMember(resp.member);
65
+ return resp;
66
+ };
67
+ deletePassword = async (passwordId)=>{
68
+ const resp = await this._networkClient.fetchSDK({
69
+ url: `/b2b/organizations/members/passwords/${passwordId}`,
70
+ method: 'DELETE'
71
+ });
72
+ this._subscriptionService.updateMember(resp.member);
73
+ return resp;
74
+ };
75
+ unlinkRetiredEmail = async (data)=>{
76
+ const resp = await this._apiNetworkClient.fetchSDK({
77
+ url: '/b2b/organizations/members/unlink_retired_email',
78
+ method: 'POST',
79
+ body: data
80
+ });
81
+ this._subscriptionService.updateMember(resp.member);
82
+ return resp;
83
+ };
84
+ startEmailUpdate = async (data)=>{
85
+ const resp = await this._apiNetworkClient.fetchSDK({
86
+ url: '/b2b/organizations/members/start_email_update',
87
+ method: 'POST',
88
+ body: data
89
+ });
90
+ this._subscriptionService.updateMember(resp.member);
91
+ return resp;
92
+ };
93
+ getConnectedApps = async ()=>{
94
+ return this._networkClient.fetchSDK({
95
+ url: '/b2b/organizations/members/connected_apps',
96
+ method: 'GET'
97
+ });
98
+ };
99
+ revokeConnectedApp = async (data)=>{
100
+ return this._networkClient.fetchSDK({
101
+ url: `/b2b/organizations/members/connected_apps/${data.connected_app_id}/revoke`,
102
+ method: 'POST'
103
+ });
104
+ };
117
105
  }
118
106
 
119
107
  class HeadlessB2BSSOClient {
@@ -131,73 +119,6 @@ class HeadlessB2BSSOClient {
131
119
  this._dynamicConfig = _dynamicConfig;
132
120
  this._config = _config;
133
121
  this.dfpProtectedAuth = dfpProtectedAuth;
134
- this.saml = {
135
- createConnection: async (data)=>{
136
- return await this._networkClient.fetchSDK({
137
- url: '/b2b/sso/saml',
138
- method: 'POST',
139
- body: data
140
- });
141
- },
142
- updateConnection: async (data)=>{
143
- return await this._networkClient.fetchSDK({
144
- url: `/b2b/sso/saml/${data.connection_id}`,
145
- method: 'PUT',
146
- body: data
147
- });
148
- },
149
- updateConnectionByURL: async (data)=>{
150
- return await this._networkClient.fetchSDK({
151
- url: `/b2b/sso/saml/${data.connection_id}/url`,
152
- method: 'PUT',
153
- body: data
154
- });
155
- },
156
- deleteVerificationCertificate: async (data)=>{
157
- return await this._networkClient.fetchSDK({
158
- url: `/b2b/sso/saml/${data.connection_id}/verification_certificates/${data.certificate_id}`,
159
- method: 'DELETE'
160
- });
161
- },
162
- deleteEncryptionPrivateKey: async (data)=>{
163
- return await this._networkClient.fetchSDK({
164
- url: `/b2b/sso/saml/${data.connection_id}/encryption_private_key/${data.private_key_id}`,
165
- method: 'DELETE'
166
- });
167
- }
168
- };
169
- this.oidc = {
170
- createConnection: async (data)=>{
171
- return await this._networkClient.fetchSDK({
172
- url: '/b2b/sso/oidc',
173
- method: 'POST',
174
- body: data
175
- });
176
- },
177
- updateConnection: async (data)=>{
178
- return await this._networkClient.fetchSDK({
179
- url: `/b2b/sso/oidc/${data.connection_id}`,
180
- method: 'PUT',
181
- body: data
182
- });
183
- }
184
- };
185
- this.external = {
186
- createConnection: async (data)=>{
187
- return await this._networkClient.fetchSDK({
188
- url: '/b2b/sso/external',
189
- method: 'POST',
190
- body: data
191
- });
192
- },
193
- updateConnection: async (data)=>{
194
- return await this._networkClient.fetchSDK({
195
- url: `/b2b/sso/external/${data.connection_id}`,
196
- method: 'PUT',
197
- body: data
198
- });
199
- }
200
- };
201
122
  this.authenticate = this._subscriptionService.withUpdateSession(async (options)=>{
202
123
  dev.validateInDev('stytch.sso.authenticate', options, {
203
124
  sso_token: 'string',
@@ -271,9 +192,73 @@ class HeadlessB2BSSOClient {
271
192
  method: 'DELETE'
272
193
  });
273
194
  }
274
- saml;
275
- oidc;
276
- external;
195
+ saml = {
196
+ createConnection: async (data)=>{
197
+ return await this._networkClient.fetchSDK({
198
+ url: '/b2b/sso/saml',
199
+ method: 'POST',
200
+ body: data
201
+ });
202
+ },
203
+ updateConnection: async (data)=>{
204
+ return await this._networkClient.fetchSDK({
205
+ url: `/b2b/sso/saml/${data.connection_id}`,
206
+ method: 'PUT',
207
+ body: data
208
+ });
209
+ },
210
+ updateConnectionByURL: async (data)=>{
211
+ return await this._networkClient.fetchSDK({
212
+ url: `/b2b/sso/saml/${data.connection_id}/url`,
213
+ method: 'PUT',
214
+ body: data
215
+ });
216
+ },
217
+ deleteVerificationCertificate: async (data)=>{
218
+ return await this._networkClient.fetchSDK({
219
+ url: `/b2b/sso/saml/${data.connection_id}/verification_certificates/${data.certificate_id}`,
220
+ method: 'DELETE'
221
+ });
222
+ },
223
+ deleteEncryptionPrivateKey: async (data)=>{
224
+ return await this._networkClient.fetchSDK({
225
+ url: `/b2b/sso/saml/${data.connection_id}/encryption_private_key/${data.private_key_id}`,
226
+ method: 'DELETE'
227
+ });
228
+ }
229
+ };
230
+ oidc = {
231
+ createConnection: async (data)=>{
232
+ return await this._networkClient.fetchSDK({
233
+ url: '/b2b/sso/oidc',
234
+ method: 'POST',
235
+ body: data
236
+ });
237
+ },
238
+ updateConnection: async (data)=>{
239
+ return await this._networkClient.fetchSDK({
240
+ url: `/b2b/sso/oidc/${data.connection_id}`,
241
+ method: 'PUT',
242
+ body: data
243
+ });
244
+ }
245
+ };
246
+ external = {
247
+ createConnection: async (data)=>{
248
+ return await this._networkClient.fetchSDK({
249
+ url: '/b2b/sso/external',
250
+ method: 'POST',
251
+ body: data
252
+ });
253
+ },
254
+ updateConnection: async (data)=>{
255
+ return await this._networkClient.fetchSDK({
256
+ url: `/b2b/sso/external/${data.connection_id}`,
257
+ method: 'PUT',
258
+ body: data
259
+ });
260
+ }
261
+ };
277
262
  }
278
263
 
279
264
  class HeadlessB2BSCIMClient {
@@ -386,177 +371,166 @@ class HeadlessB2BOrganizationClient {
386
371
  this._networkClient = _networkClient;
387
372
  this._apiNetworkClient = _apiNetworkClient;
388
373
  this._subscriptionService = _subscriptionService;
389
- this.get = async ()=>{
390
- const resp = await this._networkClient.fetchSDK({
391
- url: `/b2b/organizations/me`,
392
- method: 'GET'
374
+ }
375
+ get = async ()=>{
376
+ const resp = await this._networkClient.fetchSDK({
377
+ url: `/b2b/organizations/me`,
378
+ method: 'GET'
379
+ });
380
+ this._subscriptionService.updateOrganization(resp.organization);
381
+ return resp.organization;
382
+ };
383
+ getSync = ()=>{
384
+ return this._subscriptionService.getOrganization();
385
+ };
386
+ getInfo = ()=>({
387
+ organization: this.getSync(),
388
+ fromCache: this._subscriptionService.getFromCache()
389
+ });
390
+ onChange = (callback)=>{
391
+ return this._subscriptionService.subscribeToState((state)=>callback(state?.organization ?? null));
392
+ };
393
+ update = async (data)=>{
394
+ const resp = await this._networkClient.fetchSDK({
395
+ url: `/b2b/organizations/me`,
396
+ method: 'PUT',
397
+ body: data
398
+ });
399
+ this._subscriptionService.updateOrganization(resp.organization);
400
+ return resp;
401
+ };
402
+ delete = async ()=>{
403
+ const resp = await this._networkClient.fetchSDK({
404
+ url: `/b2b/organizations/me`,
405
+ method: 'DELETE'
406
+ });
407
+ this._subscriptionService.destroyState();
408
+ return resp;
409
+ };
410
+ getBySlug = async (data)=>{
411
+ dev.validateInDev('stytch.organization.getBySlug', data, {
412
+ organization_slug: 'string'
413
+ });
414
+ return this._networkClient.fetchSDK({
415
+ url: `/b2b/organizations/search`,
416
+ method: 'POST',
417
+ body: data
418
+ });
419
+ };
420
+ getConnectedApps = async ()=>{
421
+ return this._networkClient.fetchSDK({
422
+ url: '/b2b/organizations/connected_apps',
423
+ method: 'GET'
424
+ });
425
+ };
426
+ getConnectedApp = async (data)=>{
427
+ return this._networkClient.fetchSDK({
428
+ url: `/b2b/organizations/connected_apps/${data.connected_app_id}`,
429
+ method: 'GET'
430
+ });
431
+ };
432
+ members = {
433
+ create: async (data)=>{
434
+ return this._networkClient.fetchSDK({
435
+ url: `/b2b/organizations/members`,
436
+ method: 'POST',
437
+ body: data
393
438
  });
394
- this._subscriptionService.updateOrganization(resp.organization);
395
- return resp.organization;
396
- };
397
- this.getSync = ()=>{
398
- return this._subscriptionService.getOrganization();
399
- };
400
- this.getInfo = ()=>({
401
- organization: this.getSync(),
402
- fromCache: this._subscriptionService.getFromCache()
439
+ },
440
+ search: async (data)=>{
441
+ return this._networkClient.fetchSDK({
442
+ url: `/b2b/organizations/me/members/search`,
443
+ method: 'POST',
444
+ body: data
403
445
  });
404
- this.onChange = (callback)=>{
405
- return this._subscriptionService.subscribeToState((state)=>callback(state?.organization ?? null));
406
- };
407
- this.update = async (data)=>{
408
- const resp = await this._networkClient.fetchSDK({
409
- url: `/b2b/organizations/me`,
446
+ },
447
+ update: async (data)=>{
448
+ const response = await this._networkClient.fetchSDK({
449
+ url: `/b2b/organizations/members/${data.member_id}`,
410
450
  method: 'PUT',
411
451
  body: data
412
452
  });
413
- this._subscriptionService.updateOrganization(resp.organization);
414
- return resp;
415
- };
416
- this.delete = async ()=>{
417
- const resp = await this._networkClient.fetchSDK({
418
- url: `/b2b/organizations/me`,
453
+ this.updateMemberIfSelf(response);
454
+ return response;
455
+ },
456
+ deletePassword: async (passwordId)=>{
457
+ const response = await this._networkClient.fetchSDK({
458
+ url: `/b2b/organizations/members/passwords/${passwordId}`,
419
459
  method: 'DELETE'
420
460
  });
421
- this._subscriptionService.destroyState();
422
- return resp;
423
- };
424
- this.getBySlug = async (data)=>{
425
- dev.validateInDev('stytch.organization.getBySlug', data, {
426
- organization_slug: 'string'
461
+ this.updateMemberIfSelf(response);
462
+ return response;
463
+ },
464
+ deleteMFAPhoneNumber: async (memberId)=>{
465
+ const response = await this._networkClient.fetchSDK({
466
+ url: `/b2b/organizations/members/mfa_phone_numbers/${memberId}`,
467
+ method: 'DELETE'
468
+ });
469
+ this.updateMemberIfSelf(response);
470
+ return response;
471
+ },
472
+ deleteMFATOTP: async (memberId)=>{
473
+ const response = await this._networkClient.fetchSDK({
474
+ url: `/b2b/organizations/members/totp/${memberId}`,
475
+ method: 'DELETE'
427
476
  });
477
+ this.updateMemberIfSelf(response);
478
+ return response;
479
+ },
480
+ delete: async (memberId)=>{
481
+ const response = await this._networkClient.fetchSDK({
482
+ url: `/b2b/organizations/members/${memberId}`,
483
+ method: 'DELETE'
484
+ });
485
+ if (memberId === this._subscriptionService.getMember()?.member_id) {
486
+ this._subscriptionService.destroyState();
487
+ }
488
+ return response;
489
+ },
490
+ reactivate: async (memberId)=>{
428
491
  return this._networkClient.fetchSDK({
429
- url: `/b2b/organizations/search`,
492
+ url: `/b2b/organizations/members/${memberId}/reactivate`,
493
+ method: 'PUT'
494
+ });
495
+ },
496
+ unlinkRetiredEmail: async (data)=>{
497
+ const { member_id, ...body } = data;
498
+ const response = await this._apiNetworkClient.fetchSDK({
499
+ url: `/b2b/organizations/members/${member_id}/unlink_retired_email`,
430
500
  method: 'POST',
431
- body: data
501
+ body
432
502
  });
433
- };
434
- this.getConnectedApps = async ()=>{
503
+ this.updateMemberIfSelf(response);
504
+ return response;
505
+ },
506
+ startEmailUpdate: async (data)=>{
507
+ const { member_id, ...body } = data;
508
+ const response = await this._apiNetworkClient.fetchSDK({
509
+ url: `/b2b/organizations/members/${member_id}/start_email_update`,
510
+ method: 'POST',
511
+ body
512
+ });
513
+ this.updateMemberIfSelf(response);
514
+ return response;
515
+ },
516
+ getConnectedApps: async (data)=>{
435
517
  return this._networkClient.fetchSDK({
436
- url: '/b2b/organizations/connected_apps',
518
+ url: `b2b/organizations/members/${data.member_id}/connected_apps`,
437
519
  method: 'GET'
438
520
  });
439
- };
440
- this.getConnectedApp = async (data)=>{
521
+ },
522
+ revokeConnectedApp: async (data)=>{
441
523
  return this._networkClient.fetchSDK({
442
- url: `/b2b/organizations/connected_apps/${data.connected_app_id}`,
443
- method: 'GET'
524
+ url: `/b2b/organizations/members/${data.member_id}/connected_apps/${data.connected_app_id}/revoke`,
525
+ method: 'POST'
444
526
  });
445
- };
446
- this.members = {
447
- create: async (data)=>{
448
- return this._networkClient.fetchSDK({
449
- url: `/b2b/organizations/members`,
450
- method: 'POST',
451
- body: data
452
- });
453
- },
454
- search: async (data)=>{
455
- return this._networkClient.fetchSDK({
456
- url: `/b2b/organizations/me/members/search`,
457
- method: 'POST',
458
- body: data
459
- });
460
- },
461
- update: async (data)=>{
462
- const response = await this._networkClient.fetchSDK({
463
- url: `/b2b/organizations/members/${data.member_id}`,
464
- method: 'PUT',
465
- body: data
466
- });
467
- this.updateMemberIfSelf(response);
468
- return response;
469
- },
470
- deletePassword: async (passwordId)=>{
471
- const response = await this._networkClient.fetchSDK({
472
- url: `/b2b/organizations/members/passwords/${passwordId}`,
473
- method: 'DELETE'
474
- });
475
- this.updateMemberIfSelf(response);
476
- return response;
477
- },
478
- deleteMFAPhoneNumber: async (memberId)=>{
479
- const response = await this._networkClient.fetchSDK({
480
- url: `/b2b/organizations/members/mfa_phone_numbers/${memberId}`,
481
- method: 'DELETE'
482
- });
483
- this.updateMemberIfSelf(response);
484
- return response;
485
- },
486
- deleteMFATOTP: async (memberId)=>{
487
- const response = await this._networkClient.fetchSDK({
488
- url: `/b2b/organizations/members/totp/${memberId}`,
489
- method: 'DELETE'
490
- });
491
- this.updateMemberIfSelf(response);
492
- return response;
493
- },
494
- delete: async (memberId)=>{
495
- const response = await this._networkClient.fetchSDK({
496
- url: `/b2b/organizations/members/${memberId}`,
497
- method: 'DELETE'
498
- });
499
- if (memberId === this._subscriptionService.getMember()?.member_id) {
500
- this._subscriptionService.destroyState();
501
- }
502
- return response;
503
- },
504
- reactivate: async (memberId)=>{
505
- return this._networkClient.fetchSDK({
506
- url: `/b2b/organizations/members/${memberId}/reactivate`,
507
- method: 'PUT'
508
- });
509
- },
510
- unlinkRetiredEmail: async (data)=>{
511
- const { member_id, ...body } = data;
512
- const response = await this._apiNetworkClient.fetchSDK({
513
- url: `/b2b/organizations/members/${member_id}/unlink_retired_email`,
514
- method: 'POST',
515
- body
516
- });
517
- this.updateMemberIfSelf(response);
518
- return response;
519
- },
520
- startEmailUpdate: async (data)=>{
521
- const { member_id, ...body } = data;
522
- const response = await this._apiNetworkClient.fetchSDK({
523
- url: `/b2b/organizations/members/${member_id}/start_email_update`,
524
- method: 'POST',
525
- body
526
- });
527
- this.updateMemberIfSelf(response);
528
- return response;
529
- },
530
- getConnectedApps: async (data)=>{
531
- return this._networkClient.fetchSDK({
532
- url: `b2b/organizations/members/${data.member_id}/connected_apps`,
533
- method: 'GET'
534
- });
535
- },
536
- revokeConnectedApp: async (data)=>{
537
- return this._networkClient.fetchSDK({
538
- url: `/b2b/organizations/members/${data.member_id}/connected_apps/${data.connected_app_id}/revoke`,
539
- method: 'POST'
540
- });
541
- }
542
- };
543
- this.updateMemberIfSelf = (response)=>{
544
- if (response.member_id === this._subscriptionService.getMember()?.member_id) {
545
- this._subscriptionService.updateMember(response.member);
546
- }
547
- };
548
- }
549
- get;
550
- getSync;
551
- getInfo;
552
- onChange;
553
- update;
554
- delete;
555
- getBySlug;
556
- getConnectedApps;
557
- getConnectedApp;
558
- members;
559
- updateMemberIfSelf;
527
+ }
528
+ };
529
+ updateMemberIfSelf = (response)=>{
530
+ if (response.member_id === this._subscriptionService.getMember()?.member_id) {
531
+ this._subscriptionService.updateMember(response.member);
532
+ }
533
+ };
560
534
  }
561
535
 
562
536
  let HeadlessB2BOAuthClient$1 = class HeadlessB2BOAuthClient {
@@ -761,31 +735,18 @@ let HeadlessB2BOAuthClient$1 = class HeadlessB2BOAuthClient {
761
735
  class HeadlessB2BSessionClient {
762
736
  _networkClient;
763
737
  _subscriptionService;
764
- getSync;
765
- getInfo;
766
- onChange;
767
- revoke;
768
- revokeForMember;
769
- _authenticate;
770
- authenticate;
771
- exchange;
772
- exchangeAccessToken;
773
- attest;
774
- constructor(_networkClient, _subscriptionService){
775
- this._networkClient = _networkClient;
776
- this._subscriptionService = _subscriptionService;
777
- this.getSync = ()=>{
778
- return this._subscriptionService.getSession();
779
- };
780
- this.getInfo = ()=>({
781
- session: this.getSync(),
782
- fromCache: this._subscriptionService.getFromCache()
783
- });
784
- this.onChange = (callback)=>{
785
- return this._subscriptionService.subscribeToState((state)=>callback(state?.session ?? null));
786
- };
787
- this.revoke = async (options)=>{
788
- /**
738
+ getSync = ()=>{
739
+ return this._subscriptionService.getSession();
740
+ };
741
+ getInfo = ()=>({
742
+ session: this.getSync(),
743
+ fromCache: this._subscriptionService.getFromCache()
744
+ });
745
+ onChange = (callback)=>{
746
+ return this._subscriptionService.subscribeToState((state)=>callback(state?.session ?? null));
747
+ };
748
+ revoke = async (options)=>{
749
+ /**
789
750
  * Revoke destroys the local state if the API request is successful
790
751
  * or if we return an unrecoverable error (user is unauthenticated)
791
752
  * or if the developer passes in a forceClear option.
@@ -793,62 +754,69 @@ class HeadlessB2BSessionClient {
793
754
  * we do not destroy the local state to let the developer manually add retry
794
755
  * logic to call revoke again.
795
756
  */ try {
796
- const resp = await this._networkClient.fetchSDK({
797
- url: `/b2b/sessions/revoke`,
798
- method: 'POST'
799
- });
757
+ const resp = await this._networkClient.fetchSDK({
758
+ url: `/b2b/sessions/revoke`,
759
+ method: 'POST'
760
+ });
761
+ this._subscriptionService.destroyState();
762
+ return resp;
763
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
764
+ } catch (error) {
765
+ if (options?.forceClear) {
766
+ this._subscriptionService.destroyState();
767
+ } else if (dev.UNRECOVERABLE_ERROR_TYPES.includes(error.error_type)) {
800
768
  this._subscriptionService.destroyState();
801
- return resp;
802
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
803
- } catch (error) {
804
- if (options?.forceClear) {
805
- this._subscriptionService.destroyState();
806
- } else if (dev.UNRECOVERABLE_ERROR_TYPES.includes(error.error_type)) {
807
- this._subscriptionService.destroyState();
808
- }
809
- throw error;
810
769
  }
811
- };
812
- this.revokeForMember = async (options)=>{
813
- dev.validateInDev('stytch.session.revokeForMember', options, {
814
- member_id: 'string'
815
- });
816
- return await this._networkClient.fetchSDK({
817
- url: `/b2b/sessions/revoke/${options.member_id}`,
770
+ throw error;
771
+ }
772
+ };
773
+ revokeForMember = async (options)=>{
774
+ dev.validateInDev('stytch.session.revokeForMember', options, {
775
+ member_id: 'string'
776
+ });
777
+ return await this._networkClient.fetchSDK({
778
+ url: `/b2b/sessions/revoke/${options.member_id}`,
779
+ method: 'POST'
780
+ });
781
+ };
782
+ _authenticate = async (options)=>{
783
+ const initialSession = this._subscriptionService.getSession();
784
+ const isSessionStale = ()=>initialSession?.member_session_id !== this._subscriptionService.getSession()?.member_session_id;
785
+ try {
786
+ const requestBody = {
787
+ session_duration_minutes: options?.session_duration_minutes
788
+ };
789
+ const resp = await this._networkClient.fetchSDK({
790
+ url: '/b2b/sessions/authenticate',
791
+ body: requestBody,
818
792
  method: 'POST'
819
793
  });
820
- };
821
- this._authenticate = async (options)=>{
822
- const initialSession = this._subscriptionService.getSession();
823
- const isSessionStale = ()=>initialSession?.member_session_id !== this._subscriptionService.getSession()?.member_session_id;
824
- try {
825
- const requestBody = {
826
- session_duration_minutes: options?.session_duration_minutes
827
- };
828
- const resp = await this._networkClient.fetchSDK({
829
- url: '/b2b/sessions/authenticate',
830
- body: requestBody,
831
- method: 'POST'
832
- });
833
- if (isSessionStale()) {
834
- // [SDK-1336] The session was updated out from under us while the
835
- // request was in flight; discard the response and retry
836
- return this._authenticate(options);
837
- }
838
- return resp;
839
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
840
- } catch (error) {
841
- if (isSessionStale()) {
842
- // [SDK-1336] The session was updated out from under us while the
843
- // request was in flight; discard the response and retry
844
- return this._authenticate(options);
845
- }
846
- if (dev.UNRECOVERABLE_ERROR_TYPES.includes(error.error_type)) {
847
- this._subscriptionService.destroySession();
848
- }
849
- throw error;
794
+ if (isSessionStale()) {
795
+ // [SDK-1336] The session was updated out from under us while the
796
+ // request was in flight; discard the response and retry
797
+ return this._authenticate(options);
850
798
  }
851
- };
799
+ return resp;
800
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
801
+ } catch (error) {
802
+ if (isSessionStale()) {
803
+ // [SDK-1336] The session was updated out from under us while the
804
+ // request was in flight; discard the response and retry
805
+ return this._authenticate(options);
806
+ }
807
+ if (dev.UNRECOVERABLE_ERROR_TYPES.includes(error.error_type)) {
808
+ this._subscriptionService.destroySession();
809
+ }
810
+ throw error;
811
+ }
812
+ };
813
+ authenticate;
814
+ exchange;
815
+ exchangeAccessToken;
816
+ attest;
817
+ constructor(_networkClient, _subscriptionService){
818
+ this._networkClient = _networkClient;
819
+ this._subscriptionService = _subscriptionService;
852
820
  this.authenticate = this._subscriptionService.withUpdateSession(this._authenticate);
853
821
  this.exchange = this._subscriptionService.withUpdateSession(async (data)=>{
854
822
  dev.validateInDev('stytch.session.exchange', data, {
@@ -1217,13 +1185,6 @@ class HeadlessB2BRBACClient {
1217
1185
  policyPromise;
1218
1186
  constructor(cachedConfig, dynamicConfig, _subscriptionService){
1219
1187
  this._subscriptionService = _subscriptionService;
1220
- this.isAuthorizedSync = (resourceId, action)=>{
1221
- const effectivePolicy = this.getEffectivePolicySync();
1222
- return !!effectivePolicy?.callerIsAuthorized(this.roleIds(), resourceId, action);
1223
- };
1224
- this.isAuthorized = (resourceId, action)=>{
1225
- return this.getEffectivePolicy().then((policy)=>policy.callerIsAuthorized(this.roleIds(), resourceId, action));
1226
- };
1227
1188
  this.cachedPolicy = cachedConfig.rbacPolicy ? idpHelpers.RBACPolicy.fromJSON(cachedConfig.rbacPolicy) : null;
1228
1189
  this.policyPromise = dynamicConfig.then((data)=>{
1229
1190
  if (!data.rbacPolicy) {
@@ -1263,8 +1224,13 @@ class HeadlessB2BRBACClient {
1263
1224
  allPermissions() {
1264
1225
  return this.getEffectivePolicy().then((policy)=>policy.allPermissionsForCaller(this.roleIds()));
1265
1226
  }
1266
- isAuthorizedSync;
1267
- isAuthorized;
1227
+ isAuthorizedSync = (resourceId, action)=>{
1228
+ const effectivePolicy = this.getEffectivePolicySync();
1229
+ return !!effectivePolicy?.callerIsAuthorized(this.roleIds(), resourceId, action);
1230
+ };
1231
+ isAuthorized = (resourceId, action)=>{
1232
+ return this.getEffectivePolicy().then((policy)=>policy.callerIsAuthorized(this.roleIds(), resourceId, action));
1233
+ };
1268
1234
  roleIds() {
1269
1235
  const session = this._subscriptionService.getSession();
1270
1236
  if (!session) {
@@ -1310,7 +1276,8 @@ class HeadlessB2BIDPClient {
1310
1276
  _networkClient;
1311
1277
  constructor(_networkClient){
1312
1278
  this._networkClient = _networkClient;
1313
- this./**
1279
+ }
1280
+ /**
1314
1281
  * Initiates a request for authorization of a Connected App to access a Member's account.
1315
1282
  *
1316
1283
  * Call this endpoint using the query parameters from an OAuth Authorization request. This endpoint validates various fields (scope, client_id, redirect_uri, prompt, etc...) are correct and returns relevant information for rendering an OAuth Consent Screen.
@@ -1322,11 +1289,11 @@ class HeadlessB2BIDPClient {
1322
1289
  * scope: 'openid email profile',
1323
1290
  * });
1324
1291
  */ oauthAuthorizeStart = async (data)=>this._networkClient.fetchSDK({
1325
- url: '/idp/b2b/oauth/authorize/start',
1326
- method: 'POST',
1327
- body: data
1328
- });
1329
- this./**
1292
+ url: '/idp/b2b/oauth/authorize/start',
1293
+ method: 'POST',
1294
+ body: data
1295
+ });
1296
+ /**
1330
1297
  * Completes a request for authorization of a Connected App to access a Member's account.
1331
1298
  *
1332
1299
  * Call this endpoint using the query parameters from an OAuth Authorization request, after previously validating those parameters using the Preflight Check API. Note that this endpoint takes in a few additional parameters the preflight check does not- state, nonce, and code_challenge.
@@ -1347,73 +1314,69 @@ class HeadlessB2BIDPClient {
1347
1314
  * scope: 'openid email profile',
1348
1315
  * });
1349
1316
  */ oauthAuthorizeSubmit = async (data)=>this._networkClient.fetchSDK({
1350
- url: '/idp/b2b/oauth/authorize/submit',
1351
- method: 'POST',
1352
- body: data
1353
- });
1354
- this.oauthLogoutStart = async (data)=>this._networkClient.fetchSDK({
1355
- url: `/b2b/oauth/logout/start`,
1356
- method: 'POST',
1357
- body: data
1358
- });
1359
- }
1360
- oauthAuthorizeStart;
1361
- oauthAuthorizeSubmit;
1362
- oauthLogoutStart;
1317
+ url: '/idp/b2b/oauth/authorize/submit',
1318
+ method: 'POST',
1319
+ body: data
1320
+ });
1321
+ oauthLogoutStart = async (data)=>this._networkClient.fetchSDK({
1322
+ url: `/b2b/oauth/logout/start`,
1323
+ method: 'POST',
1324
+ body: data
1325
+ });
1363
1326
  }
1364
1327
 
1365
1328
  class HeadlessB2BOAuthClient extends HeadlessB2BOAuthClient$1 {
1366
1329
  _oneTap;
1367
1330
  constructor(_networkClient, _subscriptionService, _pkceManager, _dynamicConfig, _config, _dfpProtectedAuth = idpHelpers.DisabledDFPProtectedAuthProvider(), _oneTap){
1368
- super(_networkClient, _subscriptionService, _pkceManager, _dynamicConfig, _config, _dfpProtectedAuth), this._oneTap = _oneTap, this.startOneTapDiscovery = async (options)=>{
1369
- const clientResult = await this._oneTap.createOneTapClient();
1370
- if (!clientResult.success) {
1371
- throw new Error(`One Tap could not load: ${clientResult.reason}`);
1372
- }
1373
- const { client } = clientResult;
1374
- const onSuccessCallback = this._oneTap.createOnDiscoverySuccessHandler({
1375
- discoveryRedirectUrl: options.discovery_redirect_url,
1376
- onSuccess: this._oneTap.redirectOnSuccess
1377
- });
1378
- return client.render({
1379
- style: {
1380
- position: StytchSSRProxy.OneTapPositions.floating
1381
- },
1382
- callback: onSuccessCallback,
1383
- cancelOnTapOutside: options.cancel_on_tap_outside
1384
- });
1385
- }, this.startOneTap = async (options)=>{
1386
- if (!options.organization_id) {
1387
- throw new dev.StytchSDKUsageError('stytch.oauth.googleOneTap.start', 'organization_id is a required argument');
1388
- }
1389
- const clientResult = await this._oneTap.createOneTapClient();
1390
- if (!clientResult.success) {
1391
- throw new Error(`One Tap could not load: ${clientResult.reason}`);
1392
- }
1393
- const { client } = clientResult;
1394
- const onSuccessCallback = this._oneTap.createOnSuccessHandler({
1395
- organizationId: options.organization_id,
1396
- signupRedirectUrl: options.signup_redirect_url,
1397
- loginRedirectUrl: options.login_redirect_url,
1398
- onSuccess: this._oneTap.redirectOnSuccess
1399
- });
1400
- return client.render({
1401
- style: {
1402
- position: StytchSSRProxy.OneTapPositions.floating
1403
- },
1404
- callback: onSuccessCallback,
1405
- cancelOnTapOutside: options.cancel_on_tap_outside
1406
- });
1407
- }, this.googleOneTap = {
1408
- discovery: {
1409
- start: this.startOneTapDiscovery
1410
- },
1411
- start: this.startOneTap
1412
- };
1331
+ super(_networkClient, _subscriptionService, _pkceManager, _dynamicConfig, _config, _dfpProtectedAuth), this._oneTap = _oneTap;
1413
1332
  }
1414
- startOneTapDiscovery;
1415
- startOneTap;
1416
- googleOneTap;
1333
+ startOneTapDiscovery = async (options)=>{
1334
+ const clientResult = await this._oneTap.createOneTapClient();
1335
+ if (!clientResult.success) {
1336
+ throw new Error(`One Tap could not load: ${clientResult.reason}`);
1337
+ }
1338
+ const { client } = clientResult;
1339
+ const onSuccessCallback = this._oneTap.createOnDiscoverySuccessHandler({
1340
+ discoveryRedirectUrl: options.discovery_redirect_url,
1341
+ onSuccess: this._oneTap.redirectOnSuccess
1342
+ });
1343
+ return client.render({
1344
+ style: {
1345
+ position: StytchSSRProxy.OneTapPositions.floating
1346
+ },
1347
+ callback: onSuccessCallback,
1348
+ cancelOnTapOutside: options.cancel_on_tap_outside
1349
+ });
1350
+ };
1351
+ startOneTap = async (options)=>{
1352
+ if (!options.organization_id) {
1353
+ throw new dev.StytchSDKUsageError('stytch.oauth.googleOneTap.start', 'organization_id is a required argument');
1354
+ }
1355
+ const clientResult = await this._oneTap.createOneTapClient();
1356
+ if (!clientResult.success) {
1357
+ throw new Error(`One Tap could not load: ${clientResult.reason}`);
1358
+ }
1359
+ const { client } = clientResult;
1360
+ const onSuccessCallback = this._oneTap.createOnSuccessHandler({
1361
+ organizationId: options.organization_id,
1362
+ signupRedirectUrl: options.signup_redirect_url,
1363
+ loginRedirectUrl: options.login_redirect_url,
1364
+ onSuccess: this._oneTap.redirectOnSuccess
1365
+ });
1366
+ return client.render({
1367
+ style: {
1368
+ position: StytchSSRProxy.OneTapPositions.floating
1369
+ },
1370
+ callback: onSuccessCallback,
1371
+ cancelOnTapOutside: options.cancel_on_tap_outside
1372
+ });
1373
+ };
1374
+ googleOneTap = {
1375
+ discovery: {
1376
+ start: this.startOneTapDiscovery
1377
+ },
1378
+ start: this.startOneTap
1379
+ };
1417
1380
  }
1418
1381
 
1419
1382
  const DefaultDynamicConfig = Promise.resolve({
@@ -1430,33 +1393,6 @@ const DefaultDynamicConfig = Promise.resolve({
1430
1393
  this._networkClient = _networkClient;
1431
1394
  this._pkceManager = _pkceManager;
1432
1395
  this._config = _config;
1433
- this.createOnDiscoverySuccessHandler = ({ discoveryRedirectUrl, onSuccess, onError })=>async (response)=>{
1434
- const { credential } = response;
1435
- let submitPromise = this.submitGoogleOneTapTokenDiscovery({
1436
- credential,
1437
- discoveryRedirectUrl
1438
- }).then((result)=>onSuccess(result.redirect_url));
1439
- if (onError) {
1440
- submitPromise = submitPromise.catch((error)=>onError(error));
1441
- }
1442
- await submitPromise;
1443
- };
1444
- this.createOnSuccessHandler = ({ organizationId, signupRedirectUrl, loginRedirectUrl, onSuccess, onError })=>async (response)=>{
1445
- const { credential } = response;
1446
- let submitPromise = this.submitGoogleOneTapToken({
1447
- credential,
1448
- organizationId,
1449
- signupRedirectUrl,
1450
- loginRedirectUrl
1451
- }).then((result)=>onSuccess(result.redirect_url));
1452
- if (onError) {
1453
- submitPromise = submitPromise.catch((error)=>onError(error));
1454
- }
1455
- await submitPromise;
1456
- };
1457
- this.redirectOnSuccess = (redirect_url)=>{
1458
- window.location.href = redirect_url;
1459
- };
1460
1396
  }
1461
1397
  async fetchGoogleStart() {
1462
1398
  if (this.googleClientID) {
@@ -1532,9 +1468,33 @@ const DefaultDynamicConfig = Promise.resolve({
1532
1468
  client
1533
1469
  };
1534
1470
  }
1535
- createOnDiscoverySuccessHandler;
1536
- createOnSuccessHandler;
1537
- redirectOnSuccess;
1471
+ createOnDiscoverySuccessHandler = ({ discoveryRedirectUrl, onSuccess, onError })=>async (response)=>{
1472
+ const { credential } = response;
1473
+ let submitPromise = this.submitGoogleOneTapTokenDiscovery({
1474
+ credential,
1475
+ discoveryRedirectUrl
1476
+ }).then((result)=>onSuccess(result.redirect_url));
1477
+ if (onError) {
1478
+ submitPromise = submitPromise.catch((error)=>onError(error));
1479
+ }
1480
+ await submitPromise;
1481
+ };
1482
+ createOnSuccessHandler = ({ organizationId, signupRedirectUrl, loginRedirectUrl, onSuccess, onError })=>async (response)=>{
1483
+ const { credential } = response;
1484
+ let submitPromise = this.submitGoogleOneTapToken({
1485
+ credential,
1486
+ organizationId,
1487
+ signupRedirectUrl,
1488
+ loginRedirectUrl
1489
+ }).then((result)=>onSuccess(result.redirect_url));
1490
+ if (onError) {
1491
+ submitPromise = submitPromise.catch((error)=>onError(error));
1492
+ }
1493
+ await submitPromise;
1494
+ };
1495
+ redirectOnSuccess = (redirect_url)=>{
1496
+ window.location.href = redirect_url;
1497
+ };
1538
1498
  }
1539
1499
 
1540
1500
  /**