@stytch/nextjs 3.0.0 → 3.0.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @stytch/nextjs
2
2
 
3
+ ## 3.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - c924765: Include the b2b directory in package.json for the B2B SDK entrypoint
8
+ - Updated dependencies [c924765]
9
+ - @stytch/vanilla-js@0.11.2
10
+
3
11
  ## 3.0.0
4
12
 
5
13
  ### Minor Changes
@@ -0,0 +1,6 @@
1
+ {
2
+ "internal": true,
3
+ "main": "../dist/b2b/index.js",
4
+ "module": "../dist/b2b/index.esm.js",
5
+ "types": "../dist/b2b/index.d.ts"
6
+ }
@@ -612,8 +612,8 @@ catch (e) {
612
612
  } }
613
613
  function C(e, t) { return C = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) { return e.__proto__ = t, e; }, C(e, t); }
614
614
  function P(e) { return P = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) { return e.__proto__ || Object.getPrototypeOf(e); }, P(e); }
615
- var L, j, A, R, I, N;
616
- !function (e) { e.emailMagicLinks = "emailMagicLinks", e.oauth = "oauth", e.otp = "otp", e.crypto = "crypto", e.passwords = "passwords"; }(L || (L = {})), function (e) { e.Google = "google", e.Microsoft = "microsoft", e.Apple = "apple", e.Github = "github", e.GitLab = "gitlab", e.Facebook = "facebook", e.Discord = "discord", e.Slack = "slack", e.Amazon = "amazon", e.Bitbucket = "bitbucket", e.LinkedIn = "linkedin", e.Coinbase = "coinbase", e.Twitch = "twitch"; }(j || (j = {})), function (e) { e.Vessel = "Vessel", e.Phantom = "Phantom", e.Metamask = "Metamask", e.Coinbase = "Coinbase", e.Binance = "Binance", e.GenericEthereumWallet = "Other Ethereum Wallet", e.GenericSolanaWallet = "Other Solana Wallet"; }(A || (A = {})), function (e) { e.embedded = "embedded", e.floating = "floating"; }(R || (R = {})), function (e) { e.SMS = "sms", e.WhatsApp = "whatsapp", e.Email = "email"; }(I || (I = {})), function (e) { e.MagicLinkLoginOrCreateEvent = "MAGIC_LINK_LOGIN_OR_CREATE", e.OTPsLoginOrCreateEvent = "OTP_LOGIN_OR_CREATE", e.OTPsAuthenticate = "OTP_AUTHENTICATE", e.CryptoWalletAuthenticateStart = "CRYPTO_WALLET_AUTHENTICATE_START", e.CryptoWalletAuthenticate = "CRYPTO_WALLET_AUTHENTICATE", e.PasswordCreate = "PASSWORD_CREATE", e.PasswordAuthenticate = "PASSWORD_AUTHENTICATE", e.PasswordResetByEmailStart = "PASSWORD_RESET_BY_EMAIL_START", e.PasswordResetByEmail = "PASSWORD_RESET_BY_EMAIL"; }(N || (N = {}));
615
+ var j, L, A, R, I, N;
616
+ !function (e) { e.emailMagicLinks = "emailMagicLinks", e.oauth = "oauth", e.otp = "otp", e.crypto = "crypto", e.passwords = "passwords"; }(j || (j = {})), function (e) { e.Google = "google", e.Microsoft = "microsoft", e.Apple = "apple", e.Github = "github", e.GitLab = "gitlab", e.Facebook = "facebook", e.Discord = "discord", e.Slack = "slack", e.Amazon = "amazon", e.Bitbucket = "bitbucket", e.LinkedIn = "linkedin", e.Coinbase = "coinbase", e.Twitch = "twitch"; }(L || (L = {})), function (e) { e.Vessel = "Vessel", e.Phantom = "Phantom", e.Metamask = "Metamask", e.Coinbase = "Coinbase", e.Binance = "Binance", e.GenericEthereumWallet = "Other Ethereum Wallet", e.GenericSolanaWallet = "Other Solana Wallet"; }(A || (A = {})), function (e) { e.embedded = "embedded", e.floating = "floating"; }(R || (R = {})), function (e) { e.SMS = "sms", e.WhatsApp = "whatsapp", e.Email = "email"; }(I || (I = {})), function (e) { e.MagicLinkLoginOrCreateEvent = "MAGIC_LINK_LOGIN_OR_CREATE", e.OTPsLoginOrCreateEvent = "OTP_LOGIN_OR_CREATE", e.OTPsAuthenticate = "OTP_AUTHENTICATE", e.CryptoWalletAuthenticateStart = "CRYPTO_WALLET_AUTHENTICATE_START", e.CryptoWalletAuthenticate = "CRYPTO_WALLET_AUTHENTICATE", e.PasswordCreate = "PASSWORD_CREATE", e.PasswordAuthenticate = "PASSWORD_AUTHENTICATE", e.PasswordResetByEmailStart = "PASSWORD_RESET_BY_EMAIL_START", e.PasswordResetByEmail = "PASSWORD_RESET_BY_EMAIL"; }(N || (N = {}));
617
617
  var D, M, U = function (e) { w(r, E(Error)); var t = S(r); function r(e, n) { var o; return k(this, r), (o = t.call(this, e + "\n" + n)).message = e + "\n" + n, o.name = "SDKAPIUnreachableError", o.details = n, Object.setPrototypeOf(O(o), r.prototype), o; } return g(r); }(), B = function (e) { w(r, E(Error)); var t = S(r); function r(e, n) { var o; return k(this, r), (o = t.call(this)).name = "StytchSDKUsageError", o.message = "Invalid call to ".concat(e, "\n") + n, o; } return g(r); }(), K = function (e) { w(r, E(Error)); var t = S(r); function r(e) { var n, o; k(this, r), (n = t.call(this)).name = "StytchSDKSchemaError"; var i = null === (o = e.body) || void 0 === o ? void 0 : o.map((function (e) { return "".concat(e.dataPath, ": ").concat(e.message); })).join("\n"); return n.message = "[400] Request does not match expected schema\n".concat(i), n; } return g(r); }(), F = function (e) { w(r, E(Error)); var t = S(r); function r(e) { var n; k(this, r), (n = t.call(this)).name = "StytchSDKAPIError"; var o = e.status_code, i = e.error_type, a = e.error_message, s = e.error_url, c = e.request_id; return n.error_type = i, n.error_message = a, n.error_url = s, n.request_id = c, n.status_code = o, n.message = "[".concat(o, "] ").concat(i, "\n") + "".concat(a, "\n") + "See ".concat(s, " for more information.\n") + (c ? "request_id: ".concat(c, "\n") : ""), n; } return g(r); }(), q = ["unauthorized_credentials", "user_unauthenticated", "invalid_secret_authentication", "session_not_found"];
618
618
  function z(e, t, r, n) { return new (r || (r = Promise))((function (o, i) { function a(e) { try {
619
619
  c(n.next(e));
@@ -871,7 +871,7 @@ catch (e) {
871
871
  catch (e) {
872
872
  i(e);
873
873
  } } function c(e) { var t; e.done ? o(e.value) : (t = e.value, t instanceof r ? t : new r((function (e) { e(t); }))).then(a, s); } c((n = n.apply(e, t || [])).next()); })); }
874
- var ye = function () { function e(t, r, n, o) { s(this, e), this._publicToken = t, this._subscriptionDataLayer = r, this.baseURL = n, this.additionalTelemetryDataFn = o, this.updateSessionToken = function () { return null; }, this.eventLogger = new ie({ maxBatchSize: ne, intervalDurationMs: oe, logEventURL: this.buildSDKUrl("/events") }); } return u(e, [{ key: "logEvent", value: function (e) { var t = e.name, r = e.details, n = e.error, o = void 0 === n ? {} : n; this.eventLogger.logEvent(this.createTelemetryBlob(), { public_token: this._publicToken, event_name: t, details: r, error_code: o.error_code, error_description: o.error_description, http_status_code: o.http_status_code }); } }, { key: "createTelemetryBlob", value: function () { return Object.assign(Object.assign({ event_id: "event-id-".concat($()), app_session_id: "app-session-id-".concat($()), persistent_id: "persistent-id-".concat($()), client_sent_at: (new Date).toISOString(), timezone: Intl.DateTimeFormat().resolvedOptions().timeZone }, this.additionalTelemetryDataFn()), { app: { identifier: window.location.hostname }, sdk: { identifier: "Stytch.js Javascript SDK", version: "0.11.0" } }); } }, { key: "fetchSDK", value: function (e) { var t = e.url, r = e.body, n = e.errorMessage, o = e.method; return me(this, void 0, void 0, a().mark((function e() { var i, s, c, u; return a().wrap((function (e) { for (;;)
874
+ var ye = function () { function e(t, r, n, o) { s(this, e), this._publicToken = t, this._subscriptionDataLayer = r, this.baseURL = n, this.additionalTelemetryDataFn = o, this.updateSessionToken = function () { return null; }, this.eventLogger = new ie({ maxBatchSize: ne, intervalDurationMs: oe, logEventURL: this.buildSDKUrl("/events") }); } return u(e, [{ key: "logEvent", value: function (e) { var t = e.name, r = e.details, n = e.error, o = void 0 === n ? {} : n; this.eventLogger.logEvent(this.createTelemetryBlob(), { public_token: this._publicToken, event_name: t, details: r, error_code: o.error_code, error_description: o.error_description, http_status_code: o.http_status_code }); } }, { key: "createTelemetryBlob", value: function () { return Object.assign(Object.assign({ event_id: "event-id-".concat($()), app_session_id: "app-session-id-".concat($()), persistent_id: "persistent-id-".concat($()), client_sent_at: (new Date).toISOString(), timezone: Intl.DateTimeFormat().resolvedOptions().timeZone }, this.additionalTelemetryDataFn()), { app: { identifier: window.location.hostname }, sdk: { identifier: "Stytch.js Javascript SDK", version: "0.11.2" } }); } }, { key: "fetchSDK", value: function (e) { var t = e.url, r = e.body, n = e.errorMessage, o = e.method; return me(this, void 0, void 0, a().mark((function e() { var i, s, c, u; return a().wrap((function (e) { for (;;)
875
875
  switch (e.prev = e.next) {
876
876
  case 0: return i = this._subscriptionDataLayer.readSessionCookie().session_token, s = "Basic " + window.btoa(this._publicToken + ":" + (i || this._publicToken)), c = window.btoa(JSON.stringify(this.createTelemetryBlob())), u = window.location.origin, e.abrupt("return", te({ basicAuthHeader: s, body: r, errorMessage: n, finalURL: this.buildSDKUrl(t), method: o, xSDKClientHeader: c, xSDKParentHostHeader: u }));
877
877
  case 5:
@@ -911,9 +911,15 @@ var be = function e(t, r) { function n(e, n, o) { if ("undefined" != typeof docu
911
911
  this.state = i;
912
912
  }
913
913
  else
914
- this.removeSessionCookie(); } return u(e, [{ key: "opaqueTokenCookieName", get: function () { var e; return null !== (e = this._opaqueTokenCookieName) && void 0 !== e ? e : "stytch_session"; } }, { key: "jwtCookieName", get: function () { var e; return null !== (e = this._jwtCookieName) && void 0 !== e ? e : "stytch_session_jwt"; } }, { key: "readSessionCookie", value: function () { return { session_token: be.get(this.opaqueTokenCookieName), session_jwt: be.get(this.jwtCookieName) }; } }, { key: "writeSessionCookie", value: function (t) { var r, n, o, i, a = t.state, s = t.session_token, c = t.session_jwt, u = e.generateCookieOpts({ expiresAt: null !== (n = null === (r = null == a ? void 0 : a.session) || void 0 === r ? void 0 : r.expires_at) && void 0 !== n ? n : "", availableToSubdomains: this._cookieAvailableToSubdomains, path: this._cookiePath }); be.set(this.opaqueTokenCookieName, s, u), be.set(this.jwtCookieName, c, u); var l = e.generateCookieOpts({ expiresAt: null !== (i = null === (o = null == a ? void 0 : a.session) || void 0 === o ? void 0 : o.expires_at) && void 0 !== i ? i : "", availableToSubdomains: !this._cookieAvailableToSubdomains, path: this._cookiePath }); ve(this.jwtCookieName) && be.remove(this.jwtCookieName, l), ve(this.opaqueTokenCookieName) && be.remove(this.opaqueTokenCookieName, l), ve(this.jwtCookieName) && Z.warn("Could not remove extraneous JWT cookie. This might happen if the cookie has been set using multiple `path` settings, and may produce unwanted behavior."), ve(this.opaqueTokenCookieName) && Z.warn("Could not remove extraneous opaque token cookie."); } }, { key: "removeSessionCookie", value: function () { var t = this; [!0, !1].forEach((function (r) { [t._cookiePath, null].forEach((function (n) { var o = e.generateCookieOpts({ expiresAt: new Date(0).toString(), availableToSubdomains: r, path: n }); be.remove(t.opaqueTokenCookieName, o), be.remove(t.jwtCookieName, o); })); })); } }, { key: "syncToLocalStorage", value: function () { localStorage.setItem(ke(this.publicToken), JSON.stringify(this.state)); } }, { key: "getItem", value: function (e) { return localStorage.getItem(ke(this.publicToken, e)); } }, { key: "setItem", value: function (e, t) { return localStorage.setItem(ke(this.publicToken, e), t); } }, { key: "removeItem", value: function (e) { return localStorage.removeItem(ke(this.publicToken, e)); } }], [{ key: "generateCookieOpts", value: function (e) { var t = e.path, r = e.availableToSubdomains, n = e.expiresAt, o = { expires: new Date(n), sameSite: "lax" }; return t && (o.path = t), Boolean("localhost" === window.location.hostname || "[::1]" === window.location.hostname || window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)) ? o.secure = !1 : (r && (o.domain = window.location.host), o.secure = !0), o; } }]), e; }(), Se = function (e) { r(n, we); var t = o(n); function n() { return s(this, n), t.apply(this, arguments); } return u(n); }(), Oe = Symbol.for("__stytch_b2b_DataLayer"), Ee = function (e, t) { var r, n = ((r = window)[Oe] || (r[Oe] = {}), r[Oe]); return n[e] || (n[e] = new Se(e, t)), n[e]; }, Te = function (e, t) { Object.values(e).forEach((function (e) { return e(t); })); }, xe = function () { var e = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).KEYS_TO_EXCLUDE, t = void 0 === e ? [] : e; return function e(r, n) { return v(r) === v(n) && (null === r || null === n ? r === n : "object" === v(r) ? Object.keys(r).length === Object.keys(n).length && !Object.keys(r).some((function (e) { return !(e in n); })) && Object.entries(r).filter((function (e) { var r = p(e, 1)[0]; return !t.includes(r); })).every((function (t) { var r = p(t, 2), o = r[0], i = r[1]; return e(i, n[o]); })) : r === n); }; }({ KEYS_TO_EXCLUDE: ["last_accessed_at"] }), Ce = function () { function e(t, r) { var n, o = this; s(this, e), this._publicToken = t, this._datalayer = r, this._listen = function (e) { e.key === ke(o._publicToken) && (null !== e.newValue ? o._updateStateAndTokensInternal(JSON.parse(e.newValue)) : o.destroyState()); }, window.addEventListener("storage", this._listen); var i = null === (n = this._datalayer.state) || void 0 === n ? void 0 : n.session; i && Date.parse(i.expires_at) < Date.now() ? this.destroyState() : this._datalayer.readSessionCookie().session_token || this.destroyState(); } return u(e, [{ key: "getTokens", value: function () { var e = this._datalayer.readSessionCookie(), t = e.session_token, r = e.session_jwt; return t && r ? { session_token: t, session_jwt: r } : null; } }, { key: "destroyState", value: function () { this.updateStateAndTokens({ state: null, session_token: null, session_jwt: null }); } }, { key: "_updateStateAndTokensInternal", value: function (e) { var t = e.state, r = this._datalayer.state; this._datalayer.state = t || null, xe(r, e.state) || Te(this._datalayer.subscriptions, e.state); } }, { key: "updateStateAndTokens", value: function (e) { e.state ? this._datalayer.writeSessionCookie(e) : this._datalayer.removeSessionCookie(), this._updateStateAndTokensInternal(e), this._datalayer.syncToLocalStorage(); } }, { key: "updateState", value: function (e) { var t = this._datalayer.state, r = Object.assign(Object.assign({}, this._datalayer.state), e); this._datalayer.state = r, xe(t, r) || (Te(this._datalayer.subscriptions, r), this._datalayer.syncToLocalStorage()); } }, { key: "subscribeToState", value: function (e) { return t = this._datalayer.subscriptions, r = e, n = Math.random().toString(36).slice(-10), t[n] = r, function () { return delete t[n]; }; var t, r, n; } }, { key: "getState", value: function () { return this._datalayer.state; } }, { key: "destroy", value: function () { window.removeEventListener("storage", this._listen); } }, { key: "syncFromDeviceStorage", value: function () { return null; } }]), e; }(), Pe = function (e) { r(n, Ce); var t = o(n); function n() { var e; return s(this, n), (e = t.apply(this, arguments)).updateMember = function (t) { return e.updateState({ member: t }); }, e.getMember = function () { var t, r; return null !== (r = null === (t = e.getState()) || void 0 === t ? void 0 : t.member) && void 0 !== r ? r : null; }, e.getSession = function () { var t, r; return null !== (r = null === (t = e.getState()) || void 0 === t ? void 0 : t.session) && void 0 !== r ? r : null; }, e; } return u(n); }();
915
- function Le(e) { var t = e.toString(16); return 1 === t.length && (t = "0" + t), t; }
916
- var je, Ae, Re, Ie, Ne, De, Me = function () { function e(t, r) { s(this, e), this._dataLayer = t, this.namespace = r; } return u(e, [{ key: "key", value: function () { return "PKCE_VERIFIER:" + this.namespace; } }, { key: "startPKCETransaction", value: function () { return me(this, void 0, void 0, a().mark((function t() { var r; return a().wrap((function (t) { for (;;)
914
+ this.removeSessionCookie(); } return u(e, [{ key: "opaqueTokenCookieName", get: function () { var e; return null !== (e = this._opaqueTokenCookieName) && void 0 !== e ? e : "stytch_session"; } }, { key: "jwtCookieName", get: function () { var e; return null !== (e = this._jwtCookieName) && void 0 !== e ? e : "stytch_session_jwt"; } }, { key: "readSessionCookie", value: function () { return { session_token: be.get(this.opaqueTokenCookieName), session_jwt: be.get(this.jwtCookieName) }; } }, { key: "writeSessionCookie", value: function (t) { var r, n, o, i, a = t.state, s = t.session_token, c = t.session_jwt, u = e.generateCookieOpts({ expiresAt: null !== (n = null === (r = null == a ? void 0 : a.session) || void 0 === r ? void 0 : r.expires_at) && void 0 !== n ? n : "", availableToSubdomains: this._cookieAvailableToSubdomains, path: this._cookiePath }); be.set(this.opaqueTokenCookieName, s, u), be.set(this.jwtCookieName, c, u); var l = e.generateCookieOpts({ expiresAt: null !== (i = null === (o = null == a ? void 0 : a.session) || void 0 === o ? void 0 : o.expires_at) && void 0 !== i ? i : "", availableToSubdomains: !this._cookieAvailableToSubdomains, path: this._cookiePath }); ve(this.jwtCookieName) && be.remove(this.jwtCookieName, l), ve(this.opaqueTokenCookieName) && be.remove(this.opaqueTokenCookieName, l), ve(this.jwtCookieName) && Z.warn("Could not remove extraneous JWT cookie. This might happen if the cookie has been set using multiple `path` settings, and may produce unwanted behavior."), ve(this.opaqueTokenCookieName) && Z.warn("Could not remove extraneous opaque token cookie."); } }, { key: "removeSessionCookie", value: function () { var t = this; [!0, !1].forEach((function (r) { [t._cookiePath, null].forEach((function (n) { var o = e.generateCookieOpts({ expiresAt: new Date(0).toString(), availableToSubdomains: r, path: n }); be.remove(t.opaqueTokenCookieName, o), be.remove(t.jwtCookieName, o); })); })); } }, { key: "syncToLocalStorage", value: function () { localStorage.setItem(ke(this.publicToken), JSON.stringify(this.state)); } }, { key: "getItem", value: function (e) { return localStorage.getItem(ke(this.publicToken, e)); } }, { key: "setItem", value: function (e, t) { return localStorage.setItem(ke(this.publicToken, e), t); } }, { key: "removeItem", value: function (e) { return localStorage.removeItem(ke(this.publicToken, e)); } }], [{ key: "generateCookieOpts", value: function (e) { var t = e.path, r = e.availableToSubdomains, n = e.expiresAt, o = { expires: new Date(n), sameSite: "lax" }; return t && (o.path = t), Boolean("localhost" === window.location.hostname || "[::1]" === window.location.hostname || window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)) ? o.secure = !1 : (r && (o.domain = window.location.host), o.secure = !0), o; } }]), e; }(), Se = function (e) { r(n, we); var t = o(n); function n() { return s(this, n), t.apply(this, arguments); } return u(n); }(), Oe = Symbol.for("__stytch_b2b_DataLayer"), Ee = function (e, t) { var r, n = ((r = window)[Oe] || (r[Oe] = {}), r[Oe]); return n[e] || (n[e] = new Se(e, t)), n[e]; }, Te = function (e, t) { Object.values(e).forEach((function (e) { return e(t); })); }, xe = function () { var e = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).KEYS_TO_EXCLUDE, t = void 0 === e ? [] : e; return function e(r, n) { return v(r) === v(n) && (null === r || null === n ? r === n : "object" === v(r) ? Object.keys(r).length === Object.keys(n).length && !Object.keys(r).some((function (e) { return !(e in n); })) && Object.entries(r).filter((function (e) { var r = p(e, 1)[0]; return !t.includes(r); })).every((function (t) { var r = p(t, 2), o = r[0], i = r[1]; return e(i, n[o]); })) : r === n); }; }({ KEYS_TO_EXCLUDE: ["last_accessed_at"] }), Ce = function () { function e(t, r) { var n, o = this; s(this, e), this._publicToken = t, this._datalayer = r, this._listen = function (e) { if (e.key === ke(o._publicToken))
915
+ if (null !== e.newValue && "null" !== e.newValue) {
916
+ var t = JSON.parse(e.newValue);
917
+ o.updateState(t);
918
+ }
919
+ else
920
+ o.destroyState(); }, window.addEventListener("storage", this._listen); var i = null === (n = this._datalayer.state) || void 0 === n ? void 0 : n.session; i && Date.parse(i.expires_at) < Date.now() ? this.destroyState() : this._datalayer.readSessionCookie().session_token || this.destroyState(); } return u(e, [{ key: "getTokens", value: function () { var e = this._datalayer.readSessionCookie(), t = e.session_token, r = e.session_jwt; return t && r ? { session_token: t, session_jwt: r } : null; } }, { key: "destroyState", value: function () { this.updateStateAndTokens({ state: null, session_token: null, session_jwt: null }); } }, { key: "_updateStateAndTokensInternal", value: function (e) { var t = this._datalayer.state, r = null === e.state ? null : Object.assign(Object.assign({}, this._datalayer.state), e.state); this._datalayer.state = r, xe(t, r) || Te(this._datalayer.subscriptions, r); } }, { key: "updateStateAndTokens", value: function (e) { e.state ? this._datalayer.writeSessionCookie(e) : this._datalayer.removeSessionCookie(), this._updateStateAndTokensInternal(e), this._datalayer.syncToLocalStorage(); } }, { key: "updateState", value: function (e) { var t = this._datalayer.state, r = null === e ? null : Object.assign(Object.assign({}, this._datalayer.state), e); this._datalayer.state = r, xe(t, r) || (Te(this._datalayer.subscriptions, r), this._datalayer.syncToLocalStorage()); } }, { key: "updateTokens", value: function (e) { var t = e.session_token, r = e.session_jwt, n = this._datalayer.readSessionCookie(), o = Object.assign(Object.assign({}, n), { session_token: t, session_jwt: r }); t && r ? this._datalayer.writeSessionCookie(o) : this._datalayer.removeSessionCookie(); } }, { key: "subscribeToState", value: function (e) { return t = this._datalayer.subscriptions, r = e, n = Math.random().toString(36).slice(-10), t[n] = r, function () { return delete t[n]; }; var t, r, n; } }, { key: "getState", value: function () { return this._datalayer.state; } }, { key: "destroy", value: function () { window.removeEventListener("storage", this._listen); } }, { key: "syncFromDeviceStorage", value: function () { return null; } }]), e; }(), Pe = function (e) { r(n, Ce); var t = o(n); function n() { var e; return s(this, n), (e = t.apply(this, arguments)).updateMember = function (t) { return e.updateState({ member: t }); }, e.getMember = function () { var t, r; return null !== (r = null === (t = e.getState()) || void 0 === t ? void 0 : t.member) && void 0 !== r ? r : null; }, e.getSession = function () { var t, r; return null !== (r = null === (t = e.getState()) || void 0 === t ? void 0 : t.session) && void 0 !== r ? r : null; }, e; } return u(n); }();
921
+ function je(e) { var t = e.toString(16); return 1 === t.length && (t = "0" + t), t; }
922
+ var Le, Ae, Re, Ie, Ne, De, Me = function () { function e(t, r) { s(this, e), this._dataLayer = t, this.namespace = r; } return u(e, [{ key: "key", value: function () { return "PKCE_VERIFIER:" + this.namespace; } }, { key: "startPKCETransaction", value: function () { return me(this, void 0, void 0, a().mark((function t() { var r; return a().wrap((function (t) { for (;;)
917
923
  switch (t.prev = t.next) {
918
924
  case 0: return t.next = 2, e.createProofkeyPair();
919
925
  case 2: return r = t.sent, this._dataLayer.setItem(this.key(), JSON.stringify(r)), t.abrupt("return", r);
@@ -927,7 +933,7 @@ var je, Ae, Re, Ie, Ne, De, Me = function () { function e(t, r) { s(this, e), th
927
933
  return void Z.warn("Found malformed Proof Key pair in localstorage.");
928
934
  } } }, { key: "clearPKPair", value: function () { return this._dataLayer.removeItem(this.key()); } }], [{ key: "createProofkeyPair", value: function () { return me(this, void 0, void 0, a().mark((function e() { var r, n, o; return a().wrap((function (e) { for (;;)
929
935
  switch (e.prev = e.next) {
930
- case 0: return r = new Uint32Array(16), window.crypto.getRandomValues(r), n = Array.from(r).map(Le).join(""), e.next = 5, window.crypto.subtle.digest("SHA-256", (new TextEncoder).encode(n));
936
+ case 0: return r = new Uint32Array(16), window.crypto.getRandomValues(r), n = Array.from(r).map(je).join(""), e.next = 5, window.crypto.subtle.digest("SHA-256", (new TextEncoder).encode(n));
931
937
  case 5: return o = e.sent, e.abrupt("return", { code_challenge: (i = o, a = void 0, btoa((a = String.fromCharCode).call.apply(a, [null].concat(t(new Uint8Array(i))))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "")), code_verifier: n });
932
938
  case 7:
933
939
  case "end": return e.stop();
@@ -984,7 +990,7 @@ catch (e) {
984
990
  } }
985
991
  function Ze(e, t) { return Ze = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) { return e.__proto__ = t, e; }, Ze(e, t); }
986
992
  function Qe(e) { return Qe = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) { return e.__proto__ || Object.getPrototypeOf(e); }, Qe(e); }
987
- !function (e) { e.emailMagicLinks = "emailMagicLinks", e.oauth = "oauth", e.otp = "otp", e.crypto = "crypto", e.passwords = "passwords"; }(je || (je = {})), function (e) { e.Google = "google", e.Microsoft = "microsoft", e.Apple = "apple", e.Github = "github", e.GitLab = "gitlab", e.Facebook = "facebook", e.Discord = "discord", e.Slack = "slack", e.Amazon = "amazon", e.Bitbucket = "bitbucket", e.LinkedIn = "linkedin", e.Coinbase = "coinbase", e.Twitch = "twitch"; }(Ae || (Ae = {})), function (e) { e.Vessel = "Vessel", e.Phantom = "Phantom", e.Metamask = "Metamask", e.Coinbase = "Coinbase", e.Binance = "Binance", e.GenericEthereumWallet = "Other Ethereum Wallet", e.GenericSolanaWallet = "Other Solana Wallet"; }(Re || (Re = {})), function (e) { e.embedded = "embedded", e.floating = "floating"; }(Ie || (Ie = {})), function (e) { e.SMS = "sms", e.WhatsApp = "whatsapp", e.Email = "email"; }(Ne || (Ne = {})), function (e) { e.MagicLinkLoginOrCreateEvent = "MAGIC_LINK_LOGIN_OR_CREATE", e.OTPsLoginOrCreateEvent = "OTP_LOGIN_OR_CREATE", e.OTPsAuthenticate = "OTP_AUTHENTICATE", e.CryptoWalletAuthenticateStart = "CRYPTO_WALLET_AUTHENTICATE_START", e.CryptoWalletAuthenticate = "CRYPTO_WALLET_AUTHENTICATE", e.PasswordCreate = "PASSWORD_CREATE", e.PasswordAuthenticate = "PASSWORD_AUTHENTICATE", e.PasswordResetByEmailStart = "PASSWORD_RESET_BY_EMAIL_START", e.PasswordResetByEmail = "PASSWORD_RESET_BY_EMAIL"; }(De || (De = {}));
993
+ !function (e) { e.emailMagicLinks = "emailMagicLinks", e.oauth = "oauth", e.otp = "otp", e.crypto = "crypto", e.passwords = "passwords"; }(Le || (Le = {})), function (e) { e.Google = "google", e.Microsoft = "microsoft", e.Apple = "apple", e.Github = "github", e.GitLab = "gitlab", e.Facebook = "facebook", e.Discord = "discord", e.Slack = "slack", e.Amazon = "amazon", e.Bitbucket = "bitbucket", e.LinkedIn = "linkedin", e.Coinbase = "coinbase", e.Twitch = "twitch"; }(Ae || (Ae = {})), function (e) { e.Vessel = "Vessel", e.Phantom = "Phantom", e.Metamask = "Metamask", e.Coinbase = "Coinbase", e.Binance = "Binance", e.GenericEthereumWallet = "Other Ethereum Wallet", e.GenericSolanaWallet = "Other Solana Wallet"; }(Re || (Re = {})), function (e) { e.embedded = "embedded", e.floating = "floating"; }(Ie || (Ie = {})), function (e) { e.SMS = "sms", e.WhatsApp = "whatsapp", e.Email = "email"; }(Ne || (Ne = {})), function (e) { e.MagicLinkLoginOrCreateEvent = "MAGIC_LINK_LOGIN_OR_CREATE", e.OTPsLoginOrCreateEvent = "OTP_LOGIN_OR_CREATE", e.OTPsAuthenticate = "OTP_AUTHENTICATE", e.CryptoWalletAuthenticateStart = "CRYPTO_WALLET_AUTHENTICATE_START", e.CryptoWalletAuthenticate = "CRYPTO_WALLET_AUTHENTICATE", e.PasswordCreate = "PASSWORD_CREATE", e.PasswordAuthenticate = "PASSWORD_AUTHENTICATE", e.PasswordResetByEmailStart = "PASSWORD_RESET_BY_EMAIL_START", e.PasswordResetByEmail = "PASSWORD_RESET_BY_EMAIL"; }(De || (De = {}));
988
994
  var et; (function (e) { He(r, Je(Error)); var t = Ve(r); function r(e, n) { var o; return We(this, r), (o = t.call(this, e + "\n" + n)).message = e + "\n" + n, o.name = "SDKAPIUnreachableError", o.details = n, Object.setPrototypeOf(Ye(o), r.prototype), o; } return Ge(r); })(); (function (e) { He(r, Je(Error)); var t = Ve(r); function r(e, n) { var o; return We(this, r), (o = t.call(this)).name = "StytchSDKUsageError", o.message = "Invalid call to ".concat(e, "\n") + n, o; } return Ge(r); })(); (function (e) { He(r, Je(Error)); var t = Ve(r); function r(e) { var n, o; We(this, r), (n = t.call(this)).name = "StytchSDKSchemaError"; var i = null === (o = e.body) || void 0 === o ? void 0 : o.map((function (e) { return "".concat(e.dataPath, ": ").concat(e.message); })).join("\n"); return n.message = "[400] Request does not match expected schema\n".concat(i), n; } return Ge(r); })(); (function (e) { He(r, Je(Error)); var t = Ve(r); function r(e) { var n; We(this, r), (n = t.call(this)).name = "StytchSDKAPIError"; var o = e.status_code, i = e.error_type, a = e.error_message, s = e.error_url, c = e.request_id; return n.error_type = i, n.error_message = a, n.error_url = s, n.request_id = c, n.status_code = o, n.message = "[".concat(o, "] ").concat(i, "\n") + "".concat(a, "\n") + "See ".concat(s, " for more information.\n") + (c ? "request_id: ".concat(c, "\n") : ""), n; } return Ge(r); })(); (function (e) { He(r, Je(Error)); var t = Ve(r); function r(e) { var n; return We(this, r), (n = t.call(this)).name = "StytchSDKNativeError", n.error_type = e, n.message = "".concat(e), n; } return Ge(r); })();
989
995
  !function (e) { e.BiometricsSensorError = "biometrics_sensor_error", e.DeviceCredentialsNotAllowed = "device_credentials_not_allowed", e.DeviceHardwareError = "device_hardware_error", e.InternalError = "internal_error", e.KeyInvalidated = "key_invalidated", e.KeystoreUnavailable = "keystore_unavailable", e.NoBiometricsEnrolled = "no_biometrics_enrolled", e.NoBiometricsRegistration = "no_biometrics_registration", e.SessionExpired = "session_expired", e.UserCancellation = "user_cancellation", e.UserLockedOut = "user_locked_out"; }(et || (et = {}));
990
996
 
package/dist/b2b/index.js CHANGED
@@ -620,8 +620,8 @@ catch (e) {
620
620
  } }
621
621
  function C(e, t) { return C = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) { return e.__proto__ = t, e; }, C(e, t); }
622
622
  function P(e) { return P = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) { return e.__proto__ || Object.getPrototypeOf(e); }, P(e); }
623
- var L, j, A, R, I, N;
624
- !function (e) { e.emailMagicLinks = "emailMagicLinks", e.oauth = "oauth", e.otp = "otp", e.crypto = "crypto", e.passwords = "passwords"; }(L || (L = {})), function (e) { e.Google = "google", e.Microsoft = "microsoft", e.Apple = "apple", e.Github = "github", e.GitLab = "gitlab", e.Facebook = "facebook", e.Discord = "discord", e.Slack = "slack", e.Amazon = "amazon", e.Bitbucket = "bitbucket", e.LinkedIn = "linkedin", e.Coinbase = "coinbase", e.Twitch = "twitch"; }(j || (j = {})), function (e) { e.Vessel = "Vessel", e.Phantom = "Phantom", e.Metamask = "Metamask", e.Coinbase = "Coinbase", e.Binance = "Binance", e.GenericEthereumWallet = "Other Ethereum Wallet", e.GenericSolanaWallet = "Other Solana Wallet"; }(A || (A = {})), function (e) { e.embedded = "embedded", e.floating = "floating"; }(R || (R = {})), function (e) { e.SMS = "sms", e.WhatsApp = "whatsapp", e.Email = "email"; }(I || (I = {})), function (e) { e.MagicLinkLoginOrCreateEvent = "MAGIC_LINK_LOGIN_OR_CREATE", e.OTPsLoginOrCreateEvent = "OTP_LOGIN_OR_CREATE", e.OTPsAuthenticate = "OTP_AUTHENTICATE", e.CryptoWalletAuthenticateStart = "CRYPTO_WALLET_AUTHENTICATE_START", e.CryptoWalletAuthenticate = "CRYPTO_WALLET_AUTHENTICATE", e.PasswordCreate = "PASSWORD_CREATE", e.PasswordAuthenticate = "PASSWORD_AUTHENTICATE", e.PasswordResetByEmailStart = "PASSWORD_RESET_BY_EMAIL_START", e.PasswordResetByEmail = "PASSWORD_RESET_BY_EMAIL"; }(N || (N = {}));
623
+ var j, L, A, R, I, N;
624
+ !function (e) { e.emailMagicLinks = "emailMagicLinks", e.oauth = "oauth", e.otp = "otp", e.crypto = "crypto", e.passwords = "passwords"; }(j || (j = {})), function (e) { e.Google = "google", e.Microsoft = "microsoft", e.Apple = "apple", e.Github = "github", e.GitLab = "gitlab", e.Facebook = "facebook", e.Discord = "discord", e.Slack = "slack", e.Amazon = "amazon", e.Bitbucket = "bitbucket", e.LinkedIn = "linkedin", e.Coinbase = "coinbase", e.Twitch = "twitch"; }(L || (L = {})), function (e) { e.Vessel = "Vessel", e.Phantom = "Phantom", e.Metamask = "Metamask", e.Coinbase = "Coinbase", e.Binance = "Binance", e.GenericEthereumWallet = "Other Ethereum Wallet", e.GenericSolanaWallet = "Other Solana Wallet"; }(A || (A = {})), function (e) { e.embedded = "embedded", e.floating = "floating"; }(R || (R = {})), function (e) { e.SMS = "sms", e.WhatsApp = "whatsapp", e.Email = "email"; }(I || (I = {})), function (e) { e.MagicLinkLoginOrCreateEvent = "MAGIC_LINK_LOGIN_OR_CREATE", e.OTPsLoginOrCreateEvent = "OTP_LOGIN_OR_CREATE", e.OTPsAuthenticate = "OTP_AUTHENTICATE", e.CryptoWalletAuthenticateStart = "CRYPTO_WALLET_AUTHENTICATE_START", e.CryptoWalletAuthenticate = "CRYPTO_WALLET_AUTHENTICATE", e.PasswordCreate = "PASSWORD_CREATE", e.PasswordAuthenticate = "PASSWORD_AUTHENTICATE", e.PasswordResetByEmailStart = "PASSWORD_RESET_BY_EMAIL_START", e.PasswordResetByEmail = "PASSWORD_RESET_BY_EMAIL"; }(N || (N = {}));
625
625
  var D, M, U = function (e) { w(r, E(Error)); var t = S(r); function r(e, n) { var o; return k(this, r), (o = t.call(this, e + "\n" + n)).message = e + "\n" + n, o.name = "SDKAPIUnreachableError", o.details = n, Object.setPrototypeOf(O(o), r.prototype), o; } return g(r); }(), B = function (e) { w(r, E(Error)); var t = S(r); function r(e, n) { var o; return k(this, r), (o = t.call(this)).name = "StytchSDKUsageError", o.message = "Invalid call to ".concat(e, "\n") + n, o; } return g(r); }(), K = function (e) { w(r, E(Error)); var t = S(r); function r(e) { var n, o; k(this, r), (n = t.call(this)).name = "StytchSDKSchemaError"; var i = null === (o = e.body) || void 0 === o ? void 0 : o.map((function (e) { return "".concat(e.dataPath, ": ").concat(e.message); })).join("\n"); return n.message = "[400] Request does not match expected schema\n".concat(i), n; } return g(r); }(), F = function (e) { w(r, E(Error)); var t = S(r); function r(e) { var n; k(this, r), (n = t.call(this)).name = "StytchSDKAPIError"; var o = e.status_code, i = e.error_type, a = e.error_message, s = e.error_url, c = e.request_id; return n.error_type = i, n.error_message = a, n.error_url = s, n.request_id = c, n.status_code = o, n.message = "[".concat(o, "] ").concat(i, "\n") + "".concat(a, "\n") + "See ".concat(s, " for more information.\n") + (c ? "request_id: ".concat(c, "\n") : ""), n; } return g(r); }(), q = ["unauthorized_credentials", "user_unauthenticated", "invalid_secret_authentication", "session_not_found"];
626
626
  function z(e, t, r, n) { return new (r || (r = Promise))((function (o, i) { function a(e) { try {
627
627
  c(n.next(e));
@@ -879,7 +879,7 @@ catch (e) {
879
879
  catch (e) {
880
880
  i(e);
881
881
  } } function c(e) { var t; e.done ? o(e.value) : (t = e.value, t instanceof r ? t : new r((function (e) { e(t); }))).then(a, s); } c((n = n.apply(e, t || [])).next()); })); }
882
- var ye = function () { function e(t, r, n, o) { s(this, e), this._publicToken = t, this._subscriptionDataLayer = r, this.baseURL = n, this.additionalTelemetryDataFn = o, this.updateSessionToken = function () { return null; }, this.eventLogger = new ie({ maxBatchSize: ne, intervalDurationMs: oe, logEventURL: this.buildSDKUrl("/events") }); } return u(e, [{ key: "logEvent", value: function (e) { var t = e.name, r = e.details, n = e.error, o = void 0 === n ? {} : n; this.eventLogger.logEvent(this.createTelemetryBlob(), { public_token: this._publicToken, event_name: t, details: r, error_code: o.error_code, error_description: o.error_description, http_status_code: o.http_status_code }); } }, { key: "createTelemetryBlob", value: function () { return Object.assign(Object.assign({ event_id: "event-id-".concat($()), app_session_id: "app-session-id-".concat($()), persistent_id: "persistent-id-".concat($()), client_sent_at: (new Date).toISOString(), timezone: Intl.DateTimeFormat().resolvedOptions().timeZone }, this.additionalTelemetryDataFn()), { app: { identifier: window.location.hostname }, sdk: { identifier: "Stytch.js Javascript SDK", version: "0.11.0" } }); } }, { key: "fetchSDK", value: function (e) { var t = e.url, r = e.body, n = e.errorMessage, o = e.method; return me(this, void 0, void 0, a().mark((function e() { var i, s, c, u; return a().wrap((function (e) { for (;;)
882
+ var ye = function () { function e(t, r, n, o) { s(this, e), this._publicToken = t, this._subscriptionDataLayer = r, this.baseURL = n, this.additionalTelemetryDataFn = o, this.updateSessionToken = function () { return null; }, this.eventLogger = new ie({ maxBatchSize: ne, intervalDurationMs: oe, logEventURL: this.buildSDKUrl("/events") }); } return u(e, [{ key: "logEvent", value: function (e) { var t = e.name, r = e.details, n = e.error, o = void 0 === n ? {} : n; this.eventLogger.logEvent(this.createTelemetryBlob(), { public_token: this._publicToken, event_name: t, details: r, error_code: o.error_code, error_description: o.error_description, http_status_code: o.http_status_code }); } }, { key: "createTelemetryBlob", value: function () { return Object.assign(Object.assign({ event_id: "event-id-".concat($()), app_session_id: "app-session-id-".concat($()), persistent_id: "persistent-id-".concat($()), client_sent_at: (new Date).toISOString(), timezone: Intl.DateTimeFormat().resolvedOptions().timeZone }, this.additionalTelemetryDataFn()), { app: { identifier: window.location.hostname }, sdk: { identifier: "Stytch.js Javascript SDK", version: "0.11.2" } }); } }, { key: "fetchSDK", value: function (e) { var t = e.url, r = e.body, n = e.errorMessage, o = e.method; return me(this, void 0, void 0, a().mark((function e() { var i, s, c, u; return a().wrap((function (e) { for (;;)
883
883
  switch (e.prev = e.next) {
884
884
  case 0: return i = this._subscriptionDataLayer.readSessionCookie().session_token, s = "Basic " + window.btoa(this._publicToken + ":" + (i || this._publicToken)), c = window.btoa(JSON.stringify(this.createTelemetryBlob())), u = window.location.origin, e.abrupt("return", te({ basicAuthHeader: s, body: r, errorMessage: n, finalURL: this.buildSDKUrl(t), method: o, xSDKClientHeader: c, xSDKParentHostHeader: u }));
885
885
  case 5:
@@ -919,9 +919,15 @@ var be = function e(t, r) { function n(e, n, o) { if ("undefined" != typeof docu
919
919
  this.state = i;
920
920
  }
921
921
  else
922
- this.removeSessionCookie(); } return u(e, [{ key: "opaqueTokenCookieName", get: function () { var e; return null !== (e = this._opaqueTokenCookieName) && void 0 !== e ? e : "stytch_session"; } }, { key: "jwtCookieName", get: function () { var e; return null !== (e = this._jwtCookieName) && void 0 !== e ? e : "stytch_session_jwt"; } }, { key: "readSessionCookie", value: function () { return { session_token: be.get(this.opaqueTokenCookieName), session_jwt: be.get(this.jwtCookieName) }; } }, { key: "writeSessionCookie", value: function (t) { var r, n, o, i, a = t.state, s = t.session_token, c = t.session_jwt, u = e.generateCookieOpts({ expiresAt: null !== (n = null === (r = null == a ? void 0 : a.session) || void 0 === r ? void 0 : r.expires_at) && void 0 !== n ? n : "", availableToSubdomains: this._cookieAvailableToSubdomains, path: this._cookiePath }); be.set(this.opaqueTokenCookieName, s, u), be.set(this.jwtCookieName, c, u); var l = e.generateCookieOpts({ expiresAt: null !== (i = null === (o = null == a ? void 0 : a.session) || void 0 === o ? void 0 : o.expires_at) && void 0 !== i ? i : "", availableToSubdomains: !this._cookieAvailableToSubdomains, path: this._cookiePath }); ve(this.jwtCookieName) && be.remove(this.jwtCookieName, l), ve(this.opaqueTokenCookieName) && be.remove(this.opaqueTokenCookieName, l), ve(this.jwtCookieName) && Z.warn("Could not remove extraneous JWT cookie. This might happen if the cookie has been set using multiple `path` settings, and may produce unwanted behavior."), ve(this.opaqueTokenCookieName) && Z.warn("Could not remove extraneous opaque token cookie."); } }, { key: "removeSessionCookie", value: function () { var t = this; [!0, !1].forEach((function (r) { [t._cookiePath, null].forEach((function (n) { var o = e.generateCookieOpts({ expiresAt: new Date(0).toString(), availableToSubdomains: r, path: n }); be.remove(t.opaqueTokenCookieName, o), be.remove(t.jwtCookieName, o); })); })); } }, { key: "syncToLocalStorage", value: function () { localStorage.setItem(ke(this.publicToken), JSON.stringify(this.state)); } }, { key: "getItem", value: function (e) { return localStorage.getItem(ke(this.publicToken, e)); } }, { key: "setItem", value: function (e, t) { return localStorage.setItem(ke(this.publicToken, e), t); } }, { key: "removeItem", value: function (e) { return localStorage.removeItem(ke(this.publicToken, e)); } }], [{ key: "generateCookieOpts", value: function (e) { var t = e.path, r = e.availableToSubdomains, n = e.expiresAt, o = { expires: new Date(n), sameSite: "lax" }; return t && (o.path = t), Boolean("localhost" === window.location.hostname || "[::1]" === window.location.hostname || window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)) ? o.secure = !1 : (r && (o.domain = window.location.host), o.secure = !0), o; } }]), e; }(), Se = function (e) { r(n, we); var t = o(n); function n() { return s(this, n), t.apply(this, arguments); } return u(n); }(), Oe = Symbol.for("__stytch_b2b_DataLayer"), Ee = function (e, t) { var r, n = ((r = window)[Oe] || (r[Oe] = {}), r[Oe]); return n[e] || (n[e] = new Se(e, t)), n[e]; }, Te = function (e, t) { Object.values(e).forEach((function (e) { return e(t); })); }, xe = function () { var e = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).KEYS_TO_EXCLUDE, t = void 0 === e ? [] : e; return function e(r, n) { return v(r) === v(n) && (null === r || null === n ? r === n : "object" === v(r) ? Object.keys(r).length === Object.keys(n).length && !Object.keys(r).some((function (e) { return !(e in n); })) && Object.entries(r).filter((function (e) { var r = p(e, 1)[0]; return !t.includes(r); })).every((function (t) { var r = p(t, 2), o = r[0], i = r[1]; return e(i, n[o]); })) : r === n); }; }({ KEYS_TO_EXCLUDE: ["last_accessed_at"] }), Ce = function () { function e(t, r) { var n, o = this; s(this, e), this._publicToken = t, this._datalayer = r, this._listen = function (e) { e.key === ke(o._publicToken) && (null !== e.newValue ? o._updateStateAndTokensInternal(JSON.parse(e.newValue)) : o.destroyState()); }, window.addEventListener("storage", this._listen); var i = null === (n = this._datalayer.state) || void 0 === n ? void 0 : n.session; i && Date.parse(i.expires_at) < Date.now() ? this.destroyState() : this._datalayer.readSessionCookie().session_token || this.destroyState(); } return u(e, [{ key: "getTokens", value: function () { var e = this._datalayer.readSessionCookie(), t = e.session_token, r = e.session_jwt; return t && r ? { session_token: t, session_jwt: r } : null; } }, { key: "destroyState", value: function () { this.updateStateAndTokens({ state: null, session_token: null, session_jwt: null }); } }, { key: "_updateStateAndTokensInternal", value: function (e) { var t = e.state, r = this._datalayer.state; this._datalayer.state = t || null, xe(r, e.state) || Te(this._datalayer.subscriptions, e.state); } }, { key: "updateStateAndTokens", value: function (e) { e.state ? this._datalayer.writeSessionCookie(e) : this._datalayer.removeSessionCookie(), this._updateStateAndTokensInternal(e), this._datalayer.syncToLocalStorage(); } }, { key: "updateState", value: function (e) { var t = this._datalayer.state, r = Object.assign(Object.assign({}, this._datalayer.state), e); this._datalayer.state = r, xe(t, r) || (Te(this._datalayer.subscriptions, r), this._datalayer.syncToLocalStorage()); } }, { key: "subscribeToState", value: function (e) { return t = this._datalayer.subscriptions, r = e, n = Math.random().toString(36).slice(-10), t[n] = r, function () { return delete t[n]; }; var t, r, n; } }, { key: "getState", value: function () { return this._datalayer.state; } }, { key: "destroy", value: function () { window.removeEventListener("storage", this._listen); } }, { key: "syncFromDeviceStorage", value: function () { return null; } }]), e; }(), Pe = function (e) { r(n, Ce); var t = o(n); function n() { var e; return s(this, n), (e = t.apply(this, arguments)).updateMember = function (t) { return e.updateState({ member: t }); }, e.getMember = function () { var t, r; return null !== (r = null === (t = e.getState()) || void 0 === t ? void 0 : t.member) && void 0 !== r ? r : null; }, e.getSession = function () { var t, r; return null !== (r = null === (t = e.getState()) || void 0 === t ? void 0 : t.session) && void 0 !== r ? r : null; }, e; } return u(n); }();
923
- function Le(e) { var t = e.toString(16); return 1 === t.length && (t = "0" + t), t; }
924
- var je, Ae, Re, Ie, Ne, De, Me = function () { function e(t, r) { s(this, e), this._dataLayer = t, this.namespace = r; } return u(e, [{ key: "key", value: function () { return "PKCE_VERIFIER:" + this.namespace; } }, { key: "startPKCETransaction", value: function () { return me(this, void 0, void 0, a().mark((function t() { var r; return a().wrap((function (t) { for (;;)
922
+ this.removeSessionCookie(); } return u(e, [{ key: "opaqueTokenCookieName", get: function () { var e; return null !== (e = this._opaqueTokenCookieName) && void 0 !== e ? e : "stytch_session"; } }, { key: "jwtCookieName", get: function () { var e; return null !== (e = this._jwtCookieName) && void 0 !== e ? e : "stytch_session_jwt"; } }, { key: "readSessionCookie", value: function () { return { session_token: be.get(this.opaqueTokenCookieName), session_jwt: be.get(this.jwtCookieName) }; } }, { key: "writeSessionCookie", value: function (t) { var r, n, o, i, a = t.state, s = t.session_token, c = t.session_jwt, u = e.generateCookieOpts({ expiresAt: null !== (n = null === (r = null == a ? void 0 : a.session) || void 0 === r ? void 0 : r.expires_at) && void 0 !== n ? n : "", availableToSubdomains: this._cookieAvailableToSubdomains, path: this._cookiePath }); be.set(this.opaqueTokenCookieName, s, u), be.set(this.jwtCookieName, c, u); var l = e.generateCookieOpts({ expiresAt: null !== (i = null === (o = null == a ? void 0 : a.session) || void 0 === o ? void 0 : o.expires_at) && void 0 !== i ? i : "", availableToSubdomains: !this._cookieAvailableToSubdomains, path: this._cookiePath }); ve(this.jwtCookieName) && be.remove(this.jwtCookieName, l), ve(this.opaqueTokenCookieName) && be.remove(this.opaqueTokenCookieName, l), ve(this.jwtCookieName) && Z.warn("Could not remove extraneous JWT cookie. This might happen if the cookie has been set using multiple `path` settings, and may produce unwanted behavior."), ve(this.opaqueTokenCookieName) && Z.warn("Could not remove extraneous opaque token cookie."); } }, { key: "removeSessionCookie", value: function () { var t = this; [!0, !1].forEach((function (r) { [t._cookiePath, null].forEach((function (n) { var o = e.generateCookieOpts({ expiresAt: new Date(0).toString(), availableToSubdomains: r, path: n }); be.remove(t.opaqueTokenCookieName, o), be.remove(t.jwtCookieName, o); })); })); } }, { key: "syncToLocalStorage", value: function () { localStorage.setItem(ke(this.publicToken), JSON.stringify(this.state)); } }, { key: "getItem", value: function (e) { return localStorage.getItem(ke(this.publicToken, e)); } }, { key: "setItem", value: function (e, t) { return localStorage.setItem(ke(this.publicToken, e), t); } }, { key: "removeItem", value: function (e) { return localStorage.removeItem(ke(this.publicToken, e)); } }], [{ key: "generateCookieOpts", value: function (e) { var t = e.path, r = e.availableToSubdomains, n = e.expiresAt, o = { expires: new Date(n), sameSite: "lax" }; return t && (o.path = t), Boolean("localhost" === window.location.hostname || "[::1]" === window.location.hostname || window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)) ? o.secure = !1 : (r && (o.domain = window.location.host), o.secure = !0), o; } }]), e; }(), Se = function (e) { r(n, we); var t = o(n); function n() { return s(this, n), t.apply(this, arguments); } return u(n); }(), Oe = Symbol.for("__stytch_b2b_DataLayer"), Ee = function (e, t) { var r, n = ((r = window)[Oe] || (r[Oe] = {}), r[Oe]); return n[e] || (n[e] = new Se(e, t)), n[e]; }, Te = function (e, t) { Object.values(e).forEach((function (e) { return e(t); })); }, xe = function () { var e = (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}).KEYS_TO_EXCLUDE, t = void 0 === e ? [] : e; return function e(r, n) { return v(r) === v(n) && (null === r || null === n ? r === n : "object" === v(r) ? Object.keys(r).length === Object.keys(n).length && !Object.keys(r).some((function (e) { return !(e in n); })) && Object.entries(r).filter((function (e) { var r = p(e, 1)[0]; return !t.includes(r); })).every((function (t) { var r = p(t, 2), o = r[0], i = r[1]; return e(i, n[o]); })) : r === n); }; }({ KEYS_TO_EXCLUDE: ["last_accessed_at"] }), Ce = function () { function e(t, r) { var n, o = this; s(this, e), this._publicToken = t, this._datalayer = r, this._listen = function (e) { if (e.key === ke(o._publicToken))
923
+ if (null !== e.newValue && "null" !== e.newValue) {
924
+ var t = JSON.parse(e.newValue);
925
+ o.updateState(t);
926
+ }
927
+ else
928
+ o.destroyState(); }, window.addEventListener("storage", this._listen); var i = null === (n = this._datalayer.state) || void 0 === n ? void 0 : n.session; i && Date.parse(i.expires_at) < Date.now() ? this.destroyState() : this._datalayer.readSessionCookie().session_token || this.destroyState(); } return u(e, [{ key: "getTokens", value: function () { var e = this._datalayer.readSessionCookie(), t = e.session_token, r = e.session_jwt; return t && r ? { session_token: t, session_jwt: r } : null; } }, { key: "destroyState", value: function () { this.updateStateAndTokens({ state: null, session_token: null, session_jwt: null }); } }, { key: "_updateStateAndTokensInternal", value: function (e) { var t = this._datalayer.state, r = null === e.state ? null : Object.assign(Object.assign({}, this._datalayer.state), e.state); this._datalayer.state = r, xe(t, r) || Te(this._datalayer.subscriptions, r); } }, { key: "updateStateAndTokens", value: function (e) { e.state ? this._datalayer.writeSessionCookie(e) : this._datalayer.removeSessionCookie(), this._updateStateAndTokensInternal(e), this._datalayer.syncToLocalStorage(); } }, { key: "updateState", value: function (e) { var t = this._datalayer.state, r = null === e ? null : Object.assign(Object.assign({}, this._datalayer.state), e); this._datalayer.state = r, xe(t, r) || (Te(this._datalayer.subscriptions, r), this._datalayer.syncToLocalStorage()); } }, { key: "updateTokens", value: function (e) { var t = e.session_token, r = e.session_jwt, n = this._datalayer.readSessionCookie(), o = Object.assign(Object.assign({}, n), { session_token: t, session_jwt: r }); t && r ? this._datalayer.writeSessionCookie(o) : this._datalayer.removeSessionCookie(); } }, { key: "subscribeToState", value: function (e) { return t = this._datalayer.subscriptions, r = e, n = Math.random().toString(36).slice(-10), t[n] = r, function () { return delete t[n]; }; var t, r, n; } }, { key: "getState", value: function () { return this._datalayer.state; } }, { key: "destroy", value: function () { window.removeEventListener("storage", this._listen); } }, { key: "syncFromDeviceStorage", value: function () { return null; } }]), e; }(), Pe = function (e) { r(n, Ce); var t = o(n); function n() { var e; return s(this, n), (e = t.apply(this, arguments)).updateMember = function (t) { return e.updateState({ member: t }); }, e.getMember = function () { var t, r; return null !== (r = null === (t = e.getState()) || void 0 === t ? void 0 : t.member) && void 0 !== r ? r : null; }, e.getSession = function () { var t, r; return null !== (r = null === (t = e.getState()) || void 0 === t ? void 0 : t.session) && void 0 !== r ? r : null; }, e; } return u(n); }();
929
+ function je(e) { var t = e.toString(16); return 1 === t.length && (t = "0" + t), t; }
930
+ var Le, Ae, Re, Ie, Ne, De, Me = function () { function e(t, r) { s(this, e), this._dataLayer = t, this.namespace = r; } return u(e, [{ key: "key", value: function () { return "PKCE_VERIFIER:" + this.namespace; } }, { key: "startPKCETransaction", value: function () { return me(this, void 0, void 0, a().mark((function t() { var r; return a().wrap((function (t) { for (;;)
925
931
  switch (t.prev = t.next) {
926
932
  case 0: return t.next = 2, e.createProofkeyPair();
927
933
  case 2: return r = t.sent, this._dataLayer.setItem(this.key(), JSON.stringify(r)), t.abrupt("return", r);
@@ -935,7 +941,7 @@ var je, Ae, Re, Ie, Ne, De, Me = function () { function e(t, r) { s(this, e), th
935
941
  return void Z.warn("Found malformed Proof Key pair in localstorage.");
936
942
  } } }, { key: "clearPKPair", value: function () { return this._dataLayer.removeItem(this.key()); } }], [{ key: "createProofkeyPair", value: function () { return me(this, void 0, void 0, a().mark((function e() { var r, n, o; return a().wrap((function (e) { for (;;)
937
943
  switch (e.prev = e.next) {
938
- case 0: return r = new Uint32Array(16), window.crypto.getRandomValues(r), n = Array.from(r).map(Le).join(""), e.next = 5, window.crypto.subtle.digest("SHA-256", (new TextEncoder).encode(n));
944
+ case 0: return r = new Uint32Array(16), window.crypto.getRandomValues(r), n = Array.from(r).map(je).join(""), e.next = 5, window.crypto.subtle.digest("SHA-256", (new TextEncoder).encode(n));
939
945
  case 5: return o = e.sent, e.abrupt("return", { code_challenge: (i = o, a = void 0, btoa((a = String.fromCharCode).call.apply(a, [null].concat(t(new Uint8Array(i))))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "")), code_verifier: n });
940
946
  case 7:
941
947
  case "end": return e.stop();
@@ -992,7 +998,7 @@ catch (e) {
992
998
  } }
993
999
  function Ze(e, t) { return Ze = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) { return e.__proto__ = t, e; }, Ze(e, t); }
994
1000
  function Qe(e) { return Qe = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) { return e.__proto__ || Object.getPrototypeOf(e); }, Qe(e); }
995
- !function (e) { e.emailMagicLinks = "emailMagicLinks", e.oauth = "oauth", e.otp = "otp", e.crypto = "crypto", e.passwords = "passwords"; }(je || (je = {})), function (e) { e.Google = "google", e.Microsoft = "microsoft", e.Apple = "apple", e.Github = "github", e.GitLab = "gitlab", e.Facebook = "facebook", e.Discord = "discord", e.Slack = "slack", e.Amazon = "amazon", e.Bitbucket = "bitbucket", e.LinkedIn = "linkedin", e.Coinbase = "coinbase", e.Twitch = "twitch"; }(Ae || (Ae = {})), function (e) { e.Vessel = "Vessel", e.Phantom = "Phantom", e.Metamask = "Metamask", e.Coinbase = "Coinbase", e.Binance = "Binance", e.GenericEthereumWallet = "Other Ethereum Wallet", e.GenericSolanaWallet = "Other Solana Wallet"; }(Re || (Re = {})), function (e) { e.embedded = "embedded", e.floating = "floating"; }(Ie || (Ie = {})), function (e) { e.SMS = "sms", e.WhatsApp = "whatsapp", e.Email = "email"; }(Ne || (Ne = {})), function (e) { e.MagicLinkLoginOrCreateEvent = "MAGIC_LINK_LOGIN_OR_CREATE", e.OTPsLoginOrCreateEvent = "OTP_LOGIN_OR_CREATE", e.OTPsAuthenticate = "OTP_AUTHENTICATE", e.CryptoWalletAuthenticateStart = "CRYPTO_WALLET_AUTHENTICATE_START", e.CryptoWalletAuthenticate = "CRYPTO_WALLET_AUTHENTICATE", e.PasswordCreate = "PASSWORD_CREATE", e.PasswordAuthenticate = "PASSWORD_AUTHENTICATE", e.PasswordResetByEmailStart = "PASSWORD_RESET_BY_EMAIL_START", e.PasswordResetByEmail = "PASSWORD_RESET_BY_EMAIL"; }(De || (De = {}));
1001
+ !function (e) { e.emailMagicLinks = "emailMagicLinks", e.oauth = "oauth", e.otp = "otp", e.crypto = "crypto", e.passwords = "passwords"; }(Le || (Le = {})), function (e) { e.Google = "google", e.Microsoft = "microsoft", e.Apple = "apple", e.Github = "github", e.GitLab = "gitlab", e.Facebook = "facebook", e.Discord = "discord", e.Slack = "slack", e.Amazon = "amazon", e.Bitbucket = "bitbucket", e.LinkedIn = "linkedin", e.Coinbase = "coinbase", e.Twitch = "twitch"; }(Ae || (Ae = {})), function (e) { e.Vessel = "Vessel", e.Phantom = "Phantom", e.Metamask = "Metamask", e.Coinbase = "Coinbase", e.Binance = "Binance", e.GenericEthereumWallet = "Other Ethereum Wallet", e.GenericSolanaWallet = "Other Solana Wallet"; }(Re || (Re = {})), function (e) { e.embedded = "embedded", e.floating = "floating"; }(Ie || (Ie = {})), function (e) { e.SMS = "sms", e.WhatsApp = "whatsapp", e.Email = "email"; }(Ne || (Ne = {})), function (e) { e.MagicLinkLoginOrCreateEvent = "MAGIC_LINK_LOGIN_OR_CREATE", e.OTPsLoginOrCreateEvent = "OTP_LOGIN_OR_CREATE", e.OTPsAuthenticate = "OTP_AUTHENTICATE", e.CryptoWalletAuthenticateStart = "CRYPTO_WALLET_AUTHENTICATE_START", e.CryptoWalletAuthenticate = "CRYPTO_WALLET_AUTHENTICATE", e.PasswordCreate = "PASSWORD_CREATE", e.PasswordAuthenticate = "PASSWORD_AUTHENTICATE", e.PasswordResetByEmailStart = "PASSWORD_RESET_BY_EMAIL_START", e.PasswordResetByEmail = "PASSWORD_RESET_BY_EMAIL"; }(De || (De = {}));
996
1002
  var et; (function (e) { He(r, Je(Error)); var t = Ve(r); function r(e, n) { var o; return We(this, r), (o = t.call(this, e + "\n" + n)).message = e + "\n" + n, o.name = "SDKAPIUnreachableError", o.details = n, Object.setPrototypeOf(Ye(o), r.prototype), o; } return Ge(r); })(); (function (e) { He(r, Je(Error)); var t = Ve(r); function r(e, n) { var o; return We(this, r), (o = t.call(this)).name = "StytchSDKUsageError", o.message = "Invalid call to ".concat(e, "\n") + n, o; } return Ge(r); })(); (function (e) { He(r, Je(Error)); var t = Ve(r); function r(e) { var n, o; We(this, r), (n = t.call(this)).name = "StytchSDKSchemaError"; var i = null === (o = e.body) || void 0 === o ? void 0 : o.map((function (e) { return "".concat(e.dataPath, ": ").concat(e.message); })).join("\n"); return n.message = "[400] Request does not match expected schema\n".concat(i), n; } return Ge(r); })(); (function (e) { He(r, Je(Error)); var t = Ve(r); function r(e) { var n; We(this, r), (n = t.call(this)).name = "StytchSDKAPIError"; var o = e.status_code, i = e.error_type, a = e.error_message, s = e.error_url, c = e.request_id; return n.error_type = i, n.error_message = a, n.error_url = s, n.request_id = c, n.status_code = o, n.message = "[".concat(o, "] ").concat(i, "\n") + "".concat(a, "\n") + "See ".concat(s, " for more information.\n") + (c ? "request_id: ".concat(c, "\n") : ""), n; } return Ge(r); })(); (function (e) { He(r, Je(Error)); var t = Ve(r); function r(e) { var n; return We(this, r), (n = t.call(this)).name = "StytchSDKNativeError", n.error_type = e, n.message = "".concat(e), n; } return Ge(r); })();
997
1003
  !function (e) { e.BiometricsSensorError = "biometrics_sensor_error", e.DeviceCredentialsNotAllowed = "device_credentials_not_allowed", e.DeviceHardwareError = "device_hardware_error", e.InternalError = "internal_error", e.KeyInvalidated = "key_invalidated", e.KeystoreUnavailable = "keystore_unavailable", e.NoBiometricsEnrolled = "no_biometrics_enrolled", e.NoBiometricsRegistration = "no_biometrics_registration", e.SessionExpired = "session_expired", e.UserCancellation = "user_cancellation", e.UserLockedOut = "user_locked_out"; }(et || (et = {}));
998
1004
 
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@stytch/nextjs",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "description": "Stytch's official Next.js Library",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.esm.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "files": [
9
+ "b2b",
9
10
  "dist",
10
11
  "headless",
11
12
  "ui"
@@ -21,14 +22,14 @@
21
22
  "author": "Stytch",
22
23
  "devDependencies": {
23
24
  "@babel/runtime": "7.18.6",
24
- "@stytch/vanilla-js": "0.11.0",
25
+ "@stytch/vanilla-js": "0.11.2",
25
26
  "@testing-library/react": "12.1.3",
26
27
  "eslint-config-custom": "0.0.1",
27
28
  "rollup": "2.56.3",
28
29
  "typescript": "4.7.4"
29
30
  },
30
31
  "peerDependencies": {
31
- "@stytch/vanilla-js": "^0.11.0",
32
+ "@stytch/vanilla-js": "^0.11.2",
32
33
  "react": ">= 17.0.2",
33
34
  "react-dom": ">= 17.0.2"
34
35
  },