@stytch/vanilla-js 5.23.4 → 5.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @stytch/vanilla-js
2
2
 
3
+ ## 5.24.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 2696b2e: Add `cancel_on_tap_outside` option to control whether Google One Tap prompt is automatically dismissed when user taps outside
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [2696b2e]
12
+ - @stytch/core@2.50.0
13
+
14
+ ## 5.23.5
15
+
16
+ ### Patch Changes
17
+
18
+ - 0518cd6: Add `created_at` and `updated_at` fields to the `Member` object type definition
19
+ - Updated dependencies [0518cd6]
20
+ - @stytch/core@2.49.3
21
+
3
22
  ## 5.23.4
4
23
 
5
24
  ### Patch Changes
@@ -1198,12 +1198,14 @@ var getParamsFromB2BOAuthProviderConfig = function getParamsFromB2BOAuthProvider
1198
1198
  var oneTap = false;
1199
1199
  var customScopes = [];
1200
1200
  var providerParams = {};
1201
+ var cancelOnTapOutside = undefined;
1201
1202
  if (typeof provider === 'string') {
1202
1203
  providerType = provider;
1203
1204
  } else {
1204
1205
  providerType = provider.type;
1205
1206
  if (provider.type === B2BOAuthProviders.Google && 'one_tap' in provider) {
1206
1207
  oneTap = provider.one_tap;
1208
+ cancelOnTapOutside = provider.cancel_on_tap_outside;
1207
1209
  }
1208
1210
  customScopes = provider.customScopes || [];
1209
1211
  providerParams = provider.providerParams || {};
@@ -1213,7 +1215,8 @@ var getParamsFromB2BOAuthProviderConfig = function getParamsFromB2BOAuthProvider
1213
1215
  type: oauthProvider,
1214
1216
  one_tap: oneTap,
1215
1217
  customScopes: customScopes,
1216
- providerParams: providerParams
1218
+ providerParams: providerParams,
1219
+ cancel_on_tap_outside: cancelOnTapOutside
1217
1220
  };
1218
1221
  };
1219
1222
  var productsToAuthMethods = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, B2BProducts.oauth, undefined), B2BProducts.sso, 'sso'), B2BProducts.emailMagicLinks, 'magic_link'), B2BProducts.emailOtp, 'email_otp'), B2BProducts.passwords, 'password');
@@ -2873,7 +2876,8 @@ He.div(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n he
2873
2876
  });
2874
2877
  var B2BGoogleOneTap = function B2BGoogleOneTap(_ref63) {
2875
2878
  var customScopes = _ref63.customScopes,
2876
- providerParams = _ref63.providerParams;
2879
+ providerParams = _ref63.providerParams,
2880
+ cancelOnTapOutside = _ref63.cancelOnTapOutside;
2877
2881
  var _a, _b, _c, _d, _e, _f;
2878
2882
  var stytch = useStytch();
2879
2883
  var config = useConfig();
@@ -2948,7 +2952,8 @@ var B2BGoogleOneTap = function B2BGoogleOneTap(_ref63) {
2948
2952
  callback: oneTapCallback,
2949
2953
  style: {
2950
2954
  position: OneTapPositions.floating
2951
- }
2955
+ },
2956
+ cancelOnTapOutside: cancelOnTapOutside
2952
2957
  });
2953
2958
  case 13:
2954
2959
  renderResult = _context6.sent;
@@ -2975,7 +2980,7 @@ var B2BGoogleOneTap = function B2BGoogleOneTap(_ref63) {
2975
2980
  }
2976
2981
  }, _callee6);
2977
2982
  }));
2978
- }, [stytch, isUnmounted, state.flowState.organization, (_a = config.oauthOptions) === null || _a === void 0 ? void 0 : _a.signupRedirectURL, (_b = config.oauthOptions) === null || _b === void 0 ? void 0 : _b.loginRedirectURL, (_c = config.oauthOptions) === null || _c === void 0 ? void 0 : _c.discoveryRedirectURL, dispatch]);
2983
+ }, [stytch, isUnmounted, state.flowState.organization, (_a = config.oauthOptions) === null || _a === void 0 ? void 0 : _a.signupRedirectURL, (_b = config.oauthOptions) === null || _b === void 0 ? void 0 : _b.loginRedirectURL, (_c = config.oauthOptions) === null || _c === void 0 ? void 0 : _c.discoveryRedirectURL, dispatch, cancelOnTapOutside]);
2979
2984
  p$1(function () {
2980
2985
  var client;
2981
2986
  attemptToLoadOneTap().then(function ($client) {
@@ -3086,7 +3091,9 @@ var OAuthButtons = function OAuthButtons() {
3086
3091
  if (oauthProvider.one_tap) {
3087
3092
  return /*#__PURE__*/y(B2BGoogleOneTap, Object.assign({
3088
3093
  key: "oauth-".concat(oauthProvider.type)
3089
- }, providerProps));
3094
+ }, providerProps, {
3095
+ cancelOnTapOutside: oauthProvider.cancel_on_tap_outside
3096
+ }));
3090
3097
  }
3091
3098
  return /*#__PURE__*/y(OAuthB2BButton, Object.assign({
3092
3099
  key: "oauth-".concat(oauthProvider.type),
@@ -12,6 +12,11 @@ type B2BGoogleOneTapDiscoveryOAuthOptions = {
12
12
  * If you have not set a default discovery redirect URL, an error is returned.
13
13
  */
14
14
  discovery_redirect_url?: string;
15
+ /**
16
+ * Controls whether clicking outside the One Tap prompt dismisses the prompt.
17
+ * Defaults to true.
18
+ */
19
+ cancel_on_tap_outside?: boolean;
15
20
  };
16
21
  type B2BGoogleOneTapOAuthOptions = {
17
22
  /**
@@ -32,6 +37,11 @@ type B2BGoogleOneTapOAuthOptions = {
32
37
  * If you have not set a default signup redirect URL, an error is returned.
33
38
  */
34
39
  signup_redirect_url?: string;
40
+ /**
41
+ * Controls whether clicking outside the One Tap prompt dismisses the prompt.
42
+ * Defaults to true.
43
+ */
44
+ cancel_on_tap_outside?: boolean;
35
45
  };
36
46
  interface IB2BGoogleOneTapOAuthProvider {
37
47
  discovery: {
@@ -216,7 +216,7 @@ var ClientsideServicesProvider = /*#__PURE__*/function () {
216
216
  }
217
217
  }]);
218
218
  }();
219
- var version = "5.23.4";
219
+ var version = "5.24.0";
220
220
  var NetworkClient = /*#__PURE__*/function () {
221
221
  function NetworkClient(_publicToken, _subscriptionDataLayer, _liveAPIURL, _testAPIURL, additionalTelemetryDataFn) {
222
222
  _classCallCheck(this, NetworkClient);
@@ -1129,7 +1129,8 @@ var HeadlessB2BOAuthClient = /*#__PURE__*/function (_HeadlessB2BOAuthClie) {
1129
1129
  style: {
1130
1130
  position: OneTapPositions.floating
1131
1131
  },
1132
- callback: onSuccessCallback
1132
+ callback: onSuccessCallback,
1133
+ cancelOnTapOutside: options.cancel_on_tap_outside
1133
1134
  }));
1134
1135
  case 8:
1135
1136
  case "end":
@@ -1171,7 +1172,8 @@ var HeadlessB2BOAuthClient = /*#__PURE__*/function (_HeadlessB2BOAuthClie) {
1171
1172
  style: {
1172
1173
  position: OneTapPositions.floating
1173
1174
  },
1174
- callback: onSuccessCallback
1175
+ callback: onSuccessCallback,
1176
+ cancelOnTapOutside: options.cancel_on_tap_outside
1175
1177
  }));
1176
1178
  case 10:
1177
1179
  case "end":
@@ -1221,7 +1223,9 @@ var GoogleOneTapClient = /*#__PURE__*/function () {
1221
1223
  value: function render(_ref13) {
1222
1224
  var callback = _ref13.callback,
1223
1225
  onOneTapCancelled = _ref13.onOneTapCancelled,
1224
- style = _ref13.style;
1226
+ style = _ref13.style,
1227
+ _ref13$cancelOnTapOut = _ref13.cancelOnTapOutside,
1228
+ cancelOnTapOutside = _ref13$cancelOnTapOut === void 0 ? true : _ref13$cancelOnTapOut;
1225
1229
  return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
1226
1230
  var _this9 = this;
1227
1231
  var embeddedMode, shouldRenderEmbeddedOneTap, config;
@@ -1236,7 +1240,8 @@ var GoogleOneTapClient = /*#__PURE__*/function () {
1236
1240
  auto_select: false,
1237
1241
  context: 'use',
1238
1242
  itp_support: true,
1239
- use_fedcm_for_prompt: embeddedMode !== 'force'
1243
+ use_fedcm_for_prompt: embeddedMode !== 'force',
1244
+ cancel_on_tap_outside: cancelOnTapOutside
1240
1245
  };
1241
1246
  if (shouldRenderEmbeddedOneTap) {
1242
1247
  config.prompt_parent_id = 'google-parent-prompt';
@@ -217,7 +217,7 @@ var ClientsideServicesProvider = /*#__PURE__*/function () {
217
217
  }
218
218
  }]);
219
219
  }();
220
- var version = "5.23.4";
220
+ var version = "5.24.0";
221
221
  var NetworkClient = /*#__PURE__*/function () {
222
222
  function NetworkClient(_publicToken, _subscriptionDataLayer, _liveAPIURL, _testAPIURL, additionalTelemetryDataFn) {
223
223
  _classCallCheck(this, NetworkClient);
@@ -1130,7 +1130,8 @@ var HeadlessB2BOAuthClient = /*#__PURE__*/function (_internal$HeadlessB2B) {
1130
1130
  style: {
1131
1131
  position: internal.OneTapPositions.floating
1132
1132
  },
1133
- callback: onSuccessCallback
1133
+ callback: onSuccessCallback,
1134
+ cancelOnTapOutside: options.cancel_on_tap_outside
1134
1135
  }));
1135
1136
  case 8:
1136
1137
  case "end":
@@ -1172,7 +1173,8 @@ var HeadlessB2BOAuthClient = /*#__PURE__*/function (_internal$HeadlessB2B) {
1172
1173
  style: {
1173
1174
  position: internal.OneTapPositions.floating
1174
1175
  },
1175
- callback: onSuccessCallback
1176
+ callback: onSuccessCallback,
1177
+ cancelOnTapOutside: options.cancel_on_tap_outside
1176
1178
  }));
1177
1179
  case 10:
1178
1180
  case "end":
@@ -1222,7 +1224,9 @@ var GoogleOneTapClient = /*#__PURE__*/function () {
1222
1224
  value: function render(_ref13) {
1223
1225
  var callback = _ref13.callback,
1224
1226
  onOneTapCancelled = _ref13.onOneTapCancelled,
1225
- style = _ref13.style;
1227
+ style = _ref13.style,
1228
+ _ref13$cancelOnTapOut = _ref13.cancelOnTapOutside,
1229
+ cancelOnTapOutside = _ref13$cancelOnTapOut === void 0 ? true : _ref13$cancelOnTapOut;
1226
1230
  return internal.__awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
1227
1231
  var _this9 = this;
1228
1232
  var embeddedMode, shouldRenderEmbeddedOneTap, config;
@@ -1237,7 +1241,8 @@ var GoogleOneTapClient = /*#__PURE__*/function () {
1237
1241
  auto_select: false,
1238
1242
  context: 'use',
1239
1243
  itp_support: true,
1240
- use_fedcm_for_prompt: embeddedMode !== 'force'
1244
+ use_fedcm_for_prompt: embeddedMode !== 'force',
1245
+ cancel_on_tap_outside: cancelOnTapOutside
1241
1246
  };
1242
1247
  if (shouldRenderEmbeddedOneTap) {
1243
1248
  config.prompt_parent_id = 'google-parent-prompt';
package/dist/b2b/index.js CHANGED
@@ -1199,12 +1199,14 @@ var getParamsFromB2BOAuthProviderConfig = function getParamsFromB2BOAuthProvider
1199
1199
  var oneTap = false;
1200
1200
  var customScopes = [];
1201
1201
  var providerParams = {};
1202
+ var cancelOnTapOutside = undefined;
1202
1203
  if (typeof provider === 'string') {
1203
1204
  providerType = provider;
1204
1205
  } else {
1205
1206
  providerType = provider.type;
1206
1207
  if (provider.type === internal.B2BOAuthProviders.Google && 'one_tap' in provider) {
1207
1208
  oneTap = provider.one_tap;
1209
+ cancelOnTapOutside = provider.cancel_on_tap_outside;
1208
1210
  }
1209
1211
  customScopes = provider.customScopes || [];
1210
1212
  providerParams = provider.providerParams || {};
@@ -1214,7 +1216,8 @@ var getParamsFromB2BOAuthProviderConfig = function getParamsFromB2BOAuthProvider
1214
1216
  type: oauthProvider,
1215
1217
  one_tap: oneTap,
1216
1218
  customScopes: customScopes,
1217
- providerParams: providerParams
1219
+ providerParams: providerParams,
1220
+ cancel_on_tap_outside: cancelOnTapOutside
1218
1221
  };
1219
1222
  };
1220
1223
  var productsToAuthMethods = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, internal.B2BProducts.oauth, undefined), internal.B2BProducts.sso, 'sso'), internal.B2BProducts.emailMagicLinks, 'magic_link'), internal.B2BProducts.emailOtp, 'email_otp'), internal.B2BProducts.passwords, 'password');
@@ -2874,7 +2877,8 @@ extractErrorMessage.He.div(_templateObject22 || (_templateObject22 = _taggedTemp
2874
2877
  });
2875
2878
  var B2BGoogleOneTap = function B2BGoogleOneTap(_ref63) {
2876
2879
  var customScopes = _ref63.customScopes,
2877
- providerParams = _ref63.providerParams;
2880
+ providerParams = _ref63.providerParams,
2881
+ cancelOnTapOutside = _ref63.cancelOnTapOutside;
2878
2882
  var _a, _b, _c, _d, _e, _f;
2879
2883
  var stytch = useStytch();
2880
2884
  var config = useConfig();
@@ -2949,7 +2953,8 @@ var B2BGoogleOneTap = function B2BGoogleOneTap(_ref63) {
2949
2953
  callback: oneTapCallback,
2950
2954
  style: {
2951
2955
  position: internal.OneTapPositions.floating
2952
- }
2956
+ },
2957
+ cancelOnTapOutside: cancelOnTapOutside
2953
2958
  });
2954
2959
  case 13:
2955
2960
  renderResult = _context6.sent;
@@ -2976,7 +2981,7 @@ var B2BGoogleOneTap = function B2BGoogleOneTap(_ref63) {
2976
2981
  }
2977
2982
  }, _callee6);
2978
2983
  }));
2979
- }, [stytch, isUnmounted, state.flowState.organization, (_a = config.oauthOptions) === null || _a === void 0 ? void 0 : _a.signupRedirectURL, (_b = config.oauthOptions) === null || _b === void 0 ? void 0 : _b.loginRedirectURL, (_c = config.oauthOptions) === null || _c === void 0 ? void 0 : _c.discoveryRedirectURL, dispatch]);
2984
+ }, [stytch, isUnmounted, state.flowState.organization, (_a = config.oauthOptions) === null || _a === void 0 ? void 0 : _a.signupRedirectURL, (_b = config.oauthOptions) === null || _b === void 0 ? void 0 : _b.loginRedirectURL, (_c = config.oauthOptions) === null || _c === void 0 ? void 0 : _c.discoveryRedirectURL, dispatch, cancelOnTapOutside]);
2980
2985
  extractErrorMessage.p(function () {
2981
2986
  var client;
2982
2987
  attemptToLoadOneTap().then(function ($client) {
@@ -3087,7 +3092,9 @@ var OAuthButtons = function OAuthButtons() {
3087
3092
  if (oauthProvider.one_tap) {
3088
3093
  return /*#__PURE__*/extractErrorMessage.y(B2BGoogleOneTap, Object.assign({
3089
3094
  key: "oauth-".concat(oauthProvider.type)
3090
- }, providerProps));
3095
+ }, providerProps, {
3096
+ cancelOnTapOutside: oauthProvider.cancel_on_tap_outside
3097
+ }));
3091
3098
  }
3092
3099
  return /*#__PURE__*/extractErrorMessage.y(OAuthB2BButton, Object.assign({
3093
3100
  key: "oauth-".concat(oauthProvider.type),