@stytch/vanilla-js 6.0.9 → 6.0.11

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 (61) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/{StytchSSRProxy-DjO95TII.js → StytchSSRProxy-BG8v1Uf6.js} +19 -23
  3. package/dist/cjs/StytchSSRProxy-BG8v1Uf6.js.map +1 -0
  4. package/dist/cjs/b2b/index.cjs +47 -39
  5. package/dist/cjs/b2b/index.cjs.map +1 -1
  6. package/dist/cjs/b2b/index.headless.cjs +1 -1
  7. package/dist/cjs/index.cjs +2 -2
  8. package/dist/cjs/index.headless.cjs +1 -1
  9. package/dist/cjs/{shadcn-DnwRqCY0.js → shadcn-Ds1x7jpl.js} +2 -2
  10. package/dist/cjs/{shadcn-DnwRqCY0.js.map → shadcn-Ds1x7jpl.js.map} +1 -1
  11. package/dist/cjs-dev/{StytchSSRProxy-t6BtsVJa.js → StytchSSRProxy-CCpBazSd.js} +19 -23
  12. package/dist/cjs-dev/StytchSSRProxy-CCpBazSd.js.map +1 -0
  13. package/dist/cjs-dev/b2b/index.cjs +47 -39
  14. package/dist/cjs-dev/b2b/index.cjs.map +1 -1
  15. package/dist/cjs-dev/b2b/index.headless.cjs +1 -1
  16. package/dist/cjs-dev/index.cjs +2 -2
  17. package/dist/cjs-dev/index.headless.cjs +1 -1
  18. package/dist/cjs-dev/{shadcn-C7p3HE31.js → shadcn-YlPYvF-0.js} +2 -2
  19. package/dist/cjs-dev/{shadcn-C7p3HE31.js.map → shadcn-YlPYvF-0.js.map} +1 -1
  20. package/dist/esm/node_modules/js-cookie/dist/js.cookie.mjs +17 -21
  21. package/dist/esm/node_modules/js-cookie/dist/js.cookie.mjs.map +1 -1
  22. package/dist/esm/packages/web/src/NetworkClient.mjs +1 -1
  23. package/dist/esm/packages/web/src/ui/b2b/screens/EmailForm.mjs +1 -20
  24. package/dist/esm/packages/web/src/ui/b2b/screens/EmailForm.mjs.map +1 -1
  25. package/dist/esm/packages/web/src/ui/b2b/screens/PasswordEmailForm.mjs +42 -37
  26. package/dist/esm/packages/web/src/ui/b2b/screens/PasswordEmailForm.mjs.map +1 -1
  27. package/dist/esm/packages/web/src/ui/b2b/screens/useParseErrorMessage.mjs +28 -0
  28. package/dist/esm/packages/web/src/ui/b2b/screens/useParseErrorMessage.mjs.map +1 -0
  29. package/dist/esm-dev/node_modules/js-cookie/dist/js.cookie.mjs +17 -21
  30. package/dist/esm-dev/node_modules/js-cookie/dist/js.cookie.mjs.map +1 -1
  31. package/dist/esm-dev/packages/web/src/NetworkClient.mjs +1 -1
  32. package/dist/esm-dev/packages/web/src/ui/b2b/screens/EmailForm.mjs +1 -20
  33. package/dist/esm-dev/packages/web/src/ui/b2b/screens/EmailForm.mjs.map +1 -1
  34. package/dist/esm-dev/packages/web/src/ui/b2b/screens/PasswordEmailForm.mjs +42 -37
  35. package/dist/esm-dev/packages/web/src/ui/b2b/screens/PasswordEmailForm.mjs.map +1 -1
  36. package/dist/esm-dev/packages/web/src/ui/b2b/screens/useParseErrorMessage.mjs +28 -0
  37. package/dist/esm-dev/packages/web/src/ui/b2b/screens/useParseErrorMessage.mjs.map +1 -0
  38. package/dist/iife/b2b/index.headless.js +1 -1
  39. package/dist/iife/b2b/index.headless.js.map +1 -1
  40. package/dist/iife/b2b/index.js +3 -3
  41. package/dist/iife/b2b/index.js.map +1 -1
  42. package/dist/iife/index.headless.js +1 -1
  43. package/dist/iife/index.headless.js.map +1 -1
  44. package/dist/iife/index.js +1 -1
  45. package/dist/iife/index.js.map +1 -1
  46. package/dist/types/{DFPProtectedAuthProvider-Cg2QSi2l.d.ts → DFPProtectedAuthProvider-DQV4qHPT.d.ts} +1 -1
  47. package/dist/types/{GoogleOneTapClient-iv3nb_kU.d.ts → GoogleOneTapClient-BITSM9oM.d.ts} +1 -1
  48. package/dist/types/{PresentationConfig-CxQiKzO8.d.ts → PresentationConfig-BjjsTM1r.d.ts} +1 -1
  49. package/dist/types/{StytchB2BClient-C-2u87oo.d.ts → StytchB2BClient-DkrU-AQy.d.ts} +2 -2
  50. package/dist/types/{StytchClient-CCLs7DV6.d.ts → StytchClient-CUz_XnTa.d.ts} +2 -2
  51. package/dist/types/adminPortal/index.d.ts +5 -5
  52. package/dist/types/b2b/index.d.ts +9 -9
  53. package/dist/types/b2b/index.headless.d.ts +5 -5
  54. package/dist/types/compat.d.ts +2 -2
  55. package/dist/types/{idpHelpers-CxSGKrN9.d.ts → idpHelpers-DsFYR_P9.d.ts} +1 -1
  56. package/dist/types/index.d.ts +9 -9
  57. package/dist/types/index.headless.d.ts +5 -5
  58. package/dist/types/{themes-MdCoynbd.d.ts → themes-LfxL9FBW.d.ts} +5 -5
  59. package/package.json +1 -1
  60. package/dist/cjs/StytchSSRProxy-DjO95TII.js.map +0 -1
  61. package/dist/cjs-dev/StytchSSRProxy-t6BtsVJa.js.map +0 -1
@@ -1,17 +1,15 @@
1
- /*! js-cookie v3.0.1 | MIT */
2
- /* eslint-disable no-var */
1
+ /*! js-cookie v3.0.8 | MIT */
3
2
  function assign (target) {
4
3
  for (var i = 1; i < arguments.length; i++) {
5
4
  var source = arguments[i];
6
5
  for (var key in source) {
6
+ if (key === '__proto__') continue
7
7
  target[key] = source[key];
8
8
  }
9
9
  }
10
10
  return target
11
11
  }
12
- /* eslint-enable no-var */
13
12
 
14
- /* eslint-disable no-var */
15
13
  var defaultConverter = {
16
14
  read: function (value) {
17
15
  if (value[0] === '"') {
@@ -26,12 +24,9 @@ var defaultConverter = {
26
24
  )
27
25
  }
28
26
  };
29
- /* eslint-enable no-var */
30
27
 
31
- /* eslint-disable no-var */
32
-
33
- function init (converter, defaultAttributes) {
34
- function set (key, value, attributes) {
28
+ function init(converter, defaultAttributes) {
29
+ function set(name, value, attributes) {
35
30
  if (typeof document === 'undefined') {
36
31
  return
37
32
  }
@@ -45,7 +40,7 @@ function init (converter, defaultAttributes) {
45
40
  attributes.expires = attributes.expires.toUTCString();
46
41
  }
47
42
 
48
- key = encodeURIComponent(key)
43
+ name = encodeURIComponent(name)
49
44
  .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)
50
45
  .replace(/[()]/g, escape);
51
46
 
@@ -72,11 +67,11 @@ function init (converter, defaultAttributes) {
72
67
  }
73
68
 
74
69
  return (document.cookie =
75
- key + '=' + converter.write(value, key) + stringifiedAttributes)
70
+ name + '=' + converter.write(value, name) + stringifiedAttributes)
76
71
  }
77
72
 
78
- function get (key) {
79
- if (typeof document === 'undefined' || (arguments.length && !key)) {
73
+ function get(name) {
74
+ if (typeof document === 'undefined' || (arguments.length && !name)) {
80
75
  return
81
76
  }
82
77
 
@@ -89,25 +84,26 @@ function init (converter, defaultAttributes) {
89
84
  var value = parts.slice(1).join('=');
90
85
 
91
86
  try {
92
- var foundKey = decodeURIComponent(parts[0]);
93
- jar[foundKey] = converter.read(value, foundKey);
94
-
95
- if (key === foundKey) {
87
+ var found = decodeURIComponent(parts[0]);
88
+ if (!(found in jar)) jar[found] = converter.read(value, found);
89
+ if (name === found) {
96
90
  break
97
91
  }
98
- } catch (e) {}
92
+ } catch (_e) {
93
+ // Do nothing...
94
+ }
99
95
  }
100
96
 
101
- return key ? jar[key] : jar
97
+ return name ? jar[name] : jar
102
98
  }
103
99
 
104
100
  return Object.create(
105
101
  {
106
102
  set: set,
107
103
  get: get,
108
- remove: function (key, attributes) {
104
+ remove: function (name, attributes) {
109
105
  set(
110
- key,
106
+ name,
111
107
  '',
112
108
  assign({}, attributes, {
113
109
  expires: -1
@@ -1 +1 @@
1
- {"version":3,"file":"js.cookie.mjs","sources":["../../../../../../../node_modules/js-cookie/dist/js.cookie.mjs"],"sourcesContent":["/*! js-cookie v3.0.1 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport default api;\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"js.cookie.mjs","sources":["../../../../../../../node_modules/js-cookie/dist/js.cookie.mjs"],"sourcesContent":["/*! js-cookie v3.0.8 | MIT */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (key === '__proto__') continue\n target[key] = source[key];\n }\n }\n return target\n}\n\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n\nfunction init(converter, defaultAttributes) {\n function set(name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get(name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n if (!(found in jar)) jar[found] = converter.read(value, found);\n if (name === found) {\n break\n }\n } catch (_e) {\n // Do nothing...\n }\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n\nexport { api as default };\n"],"names":[],"mappings":"AAAA;AACA,SAAS,MAAM,EAAE,MAAM,EAAE;AACzB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,IAAI,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAC7B,IAAI,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;AAC5B,MAAM,IAAI,GAAG,KAAK,WAAW,EAAE;AAC/B,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/B,IAAI;AACJ,EAAE;AACF,EAAE,OAAO;AACT;;AAEA,IAAI,gBAAgB,GAAG;AACvB,EAAE,IAAI,EAAE,UAAU,KAAK,EAAE;AACzB,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAChC,IAAI;AACJ,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,kBAAkB;AAC/D,EAAE,CAAC;AACH,EAAE,KAAK,EAAE,UAAU,KAAK,EAAE;AAC1B,IAAI,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,OAAO;AAC5C,MAAM,0CAA0C;AAChD,MAAM;AACN;AACA,EAAE;AACF,CAAC;;AAED,SAAS,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE;AAC5C,EAAE,SAAS,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;AACxC,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACzC,MAAM;AACN,IAAI;;AAEJ,IAAI,UAAU,GAAG,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,UAAU,CAAC;;AAE1D,IAAI,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE;AAChD,MAAM,UAAU,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;AAC5E,IAAI;AACJ,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;AAC5B,MAAM,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE;AAC3D,IAAI;;AAEJ,IAAI,IAAI,GAAG,kBAAkB,CAAC,IAAI;AAClC,OAAO,OAAO,CAAC,sBAAsB,EAAE,kBAAkB;AACzD,OAAO,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;;AAE/B,IAAI,IAAI,qBAAqB,GAAG,EAAE;AAClC,IAAI,KAAK,IAAI,aAAa,IAAI,UAAU,EAAE;AAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;AACtC,QAAQ;AACR,MAAM;;AAEN,MAAM,qBAAqB,IAAI,IAAI,GAAG,aAAa;;AAEnD,MAAM,IAAI,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;AAC9C,QAAQ;AACR,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,qBAAqB,IAAI,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5E,IAAI;;AAEJ,IAAI,QAAQ,QAAQ,CAAC,MAAM;AAC3B,MAAM,IAAI,GAAG,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,qBAAqB;AACvE,EAAE;;AAEF,EAAE,SAAS,GAAG,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,KAAK,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;AACxE,MAAM;AACN,IAAI;;AAEJ;AACA;AACA,IAAI,IAAI,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;AACpE,IAAI,IAAI,GAAG,GAAG,EAAE;AAChB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,MAAM,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC,MAAM,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;AAE1C,MAAM,IAAI;AACV,QAAQ,IAAI,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,QAAQ,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;AACtE,QAAQ,IAAI,IAAI,KAAK,KAAK,EAAE;AAC5B,UAAU;AACV,QAAQ;AACR,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;AACnB;AACA,MAAM;AACN,IAAI;;AAEJ,IAAI,OAAO,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG;AAC9B,EAAE;;AAEF,EAAE,OAAO,MAAM,CAAC,MAAM;AACtB,IAAI;AACJ,MAAM,GAAG,EAAE,GAAG;AACd,MAAM,GAAG,EAAE,GAAG;AACd,MAAM,MAAM,EAAE,UAAU,IAAI,EAAE,UAAU,EAAE;AAC1C,QAAQ,GAAG;AACX,UAAU,IAAI;AACd,UAAU,EAAE;AACZ,UAAU,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE;AACjC,YAAY,OAAO,EAAE;AACrB,WAAW;AACX,SAAS;AACT,MAAM,CAAC;AACP,MAAM,cAAc,EAAE,UAAU,UAAU,EAAE;AAC5C,QAAQ,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;AAC3E,MAAM,CAAC;AACP,MAAM,aAAa,EAAE,UAAU,SAAS,EAAE;AAC1C,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU;AAC1E,MAAM;AACN,KAAK;AACL,IAAI;AACJ,MAAM,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;AAC7D,MAAM,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;AAClD;AACA;AACA;;AAEG,IAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;;;;","x_google_ignoreList":[0]}
@@ -65,7 +65,7 @@ class NetworkClient {
65
65
  sdk: {
66
66
  // eslint-disable-next-line lingui/no-unlocalized-strings
67
67
  identifier: 'Stytch.js Javascript SDK',
68
- version: "@stytch/vanilla-js" + '@' + "6.0.9"
68
+ version: "@stytch/vanilla-js" + '@' + "6.0.11"
69
69
  }
70
70
  };
71
71
  }
@@ -13,28 +13,9 @@ import { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend.mjs';
13
13
  import { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup.mjs';
14
14
  import { AppScreens } from '../types/AppScreens.mjs';
15
15
  import { hasProduct } from '../utils.mjs';
16
+ import { useParseErrorMessage } from './useParseErrorMessage.mjs';
16
17
  import { useState as h } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
17
18
 
18
- const JIT_PROVISIONING_ERRORS = [
19
- 'email_jit_provisioning_not_allowed',
20
- 'invalid_email_for_jit_provisioning'
21
- ];
22
- const useParseErrorMessage = ()=>{
23
- const { i18n: $__i18n, _: $__ } = useLingui();
24
- return (error, { email, org: organizationName })=>{
25
- if (JIT_PROVISIONING_ERRORS.includes(error.error_type)) {
26
- return $__i18n._({
27
- id: "error.jitIneligible",
28
- message: "{email} does not have access to {organizationName}. If you think this is a mistake, contact your admin",
29
- values: {
30
- email: email,
31
- organizationName: organizationName
32
- }
33
- });
34
- }
35
- return getTranslatedError(error, $__);
36
- };
37
- };
38
19
  const EmailForm = ({ showPasswordButton })=>{
39
20
  const [state, dispatch] = useGlobalReducer();
40
21
  const [emailInput, setEmailInput] = h(state.formState.passwordState.email);
@@ -1 +1 @@
1
- {"version":3,"file":"EmailForm.mjs","sources":["../../../../../../../../../web/src/ui/b2b/screens/EmailForm.tsx"],"sourcesContent":["import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport UsePasswordButton from '../components/UsePasswordButton';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { AppScreens } from '../types/AppScreens';\nimport { hasProduct } from '../utils';\n\nconst JIT_PROVISIONING_ERRORS = ['email_jit_provisioning_not_allowed', 'invalid_email_for_jit_provisioning'];\n\nconst useParseErrorMessage = () => {\n const { t } = useLingui();\n return (error: StytchAPIError, { email, org: organizationName }: { email: string; org: string }) => {\n if (JIT_PROVISIONING_ERRORS.includes(error.error_type)) {\n return t({\n id: 'error.jitIneligible',\n message: `${email} does not have access to ${organizationName}. If you think this is a mistake, contact your admin`,\n });\n }\n return getTranslatedError(error, t);\n };\n};\n\nexport const EmailForm = ({ showPasswordButton }: { showPasswordButton: boolean }) => {\n const [state, dispatch] = useGlobalReducer();\n const [emailInput, setEmailInput] = useState(state.formState.passwordState.email);\n const parseErrorMessage = useParseErrorMessage();\n const { t } = useLingui();\n\n const { products } = useEffectiveAuthConfig();\n const enableEml = hasProduct(products, 'emailMagicLinks');\n const enableOtp = hasProduct(products, 'emailOtp');\n\n const providedEmail = state.primary.email;\n const email = providedEmail || emailInput;\n\n const { trigger: stytchEmlLoginOrSignup, error: emlError, isMutating: emlIsMutating } = useEmlLoginOrSignup();\n const { trigger: stytchOtpLoginOrSignup, error: otpError, isMutating: otpIsMutating } = useEmailOtpLoginOrSignup();\n\n const isMutating = emlIsMutating || otpIsMutating;\n const error = emlError || otpError;\n\n const organization = state.flowState.organization;\n if (!organization) return <></>;\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n dispatch({ type: 'set_user_supplied_email', email });\n\n if (enableEml && enableOtp) {\n dispatch({ type: 'transition', screen: AppScreens.EmailMethodSelection, history: 'push' });\n } else if (enableEml) {\n stytchEmlLoginOrSignup({ email, organization_id: organization.organization_id });\n } else if (enableOtp) {\n stytchOtpLoginOrSignup({ email, organization_id: organization.organization_id });\n }\n };\n\n if (providedEmail) {\n return (\n <Column gap={2}>\n {products\n .filter((product) => product.id === 'emailMagicLinks' || product.id === 'emailOtp')\n .map((product) => {\n switch (product.id) {\n case 'emailMagicLinks':\n return (\n <Button\n key={product.id}\n onClick={() => {\n dispatch({ type: 'set_user_supplied_email', email });\n stytchEmlLoginOrSignup({ email, organization_id: organization.organization_id });\n }}\n loading={emlIsMutating}\n disabled={isMutating}\n variant=\"outline\"\n >\n {t({ id: 'button.emailLink', message: 'Email me a link' })}\n </Button>\n );\n\n case 'emailOtp':\n return (\n <Button\n key={product.id}\n onClick={() => {\n dispatch({ type: 'set_user_supplied_email', email });\n stytchOtpLoginOrSignup({ email, organization_id: organization.organization_id });\n }}\n loading={otpIsMutating}\n disabled={isMutating}\n variant=\"outline\"\n >\n {t({ id: 'button.emailCode', message: 'Email me a code' })}\n </Button>\n );\n }\n })}\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n }\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput\n email={email}\n setEmail={setEmailInput}\n hideLabel\n error={error ? parseErrorMessage(error, { email, org: organization.organization_name }) : undefined}\n />\n\n <Button type=\"submit\" variant=\"primary\" loading={isMutating}>\n {t({ id: 'button.continueWithEmail', message: 'Continue with email' })}\n </Button>\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n};\n\nexport const EmailDiscoveryForm = ({ showPasswordButton }: { showPasswordButton: boolean }) => {\n const [state, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState(state.formState.passwordState.email);\n const { t } = useLingui();\n\n const { products } = useEffectiveAuthConfig();\n const enableEml = products.some((p) => p.id === 'emailMagicLinks');\n const enableOtp = products.some((p) => p.id === 'emailOtp');\n\n const { trigger: stytchEmlDiscoverySend, error: emlError, isMutating: emlIsMutating } = useEmlDiscoverySend();\n const { trigger: stytchOtpDiscoverySend, error: otpError, isMutating: otpIsMutating } = useEmailOtpDiscoverySend();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n dispatch({ type: 'set_user_supplied_email', email });\n\n if (enableEml && enableOtp) {\n dispatch({ type: 'transition', screen: AppScreens.EmailMethodSelection, history: 'push' });\n } else if (enableEml) {\n stytchEmlDiscoverySend({ email });\n } else if (enableOtp) {\n stytchOtpDiscoverySend({ email });\n }\n };\n\n const isMutating = emlIsMutating || otpIsMutating;\n const error = emlError || otpError;\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput\n email={email}\n setEmail={setEmail}\n hideLabel\n error={error ? getTranslatedError(error, t) : undefined}\n />\n\n <Button type=\"submit\" variant=\"primary\" loading={isMutating}>\n {t({ id: 'button.continueWithEmail', message: 'Continue with email' })}\n </Button>\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n};\n"],"names":["JIT_PROVISIONING_ERRORS","useParseErrorMessage","useLingui","error","email","org","organizationName","includes","error_type","getTranslatedError","EmailForm","showPasswordButton","state","dispatch","useGlobalReducer","emailInput","setEmailInput","useState","formState","passwordState","parseErrorMessage","products","useEffectiveAuthConfig","enableEml","hasProduct","enableOtp","providedEmail","primary","trigger","stytchEmlLoginOrSignup","emlError","isMutating","emlIsMutating","useEmlLoginOrSignup","stytchOtpLoginOrSignup","otpError","otpIsMutating","useEmailOtpLoginOrSignup","organization","flowState","React","handleSubmit","e","preventDefault","type","screen","AppScreens","EmailMethodSelection","history","organization_id","Column","gap","filter","product","id","map","Button","key","onClick","loading","disabled","variant","UsePasswordButton","as","onSubmit","EmailInput","setEmail","hideLabel","organization_name","undefined","EmailDiscoveryForm","some","p","stytchEmlDiscoverySend","useEmlDiscoverySend","stytchOtpDiscoverySend","useEmailOtpDiscoverySend"],"mappings":"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"}
1
+ {"version":3,"file":"EmailForm.mjs","sources":["../../../../../../../../../web/src/ui/b2b/screens/EmailForm.tsx"],"sourcesContent":["import { useLingui } from '@lingui/react/macro';\nimport React, { useState } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport UsePasswordButton from '../components/UsePasswordButton';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { AppScreens } from '../types/AppScreens';\nimport { hasProduct } from '../utils';\nimport { useParseErrorMessage } from './useParseErrorMessage';\n\nexport const EmailForm = ({ showPasswordButton }: { showPasswordButton: boolean }) => {\n const [state, dispatch] = useGlobalReducer();\n const [emailInput, setEmailInput] = useState(state.formState.passwordState.email);\n const parseErrorMessage = useParseErrorMessage();\n const { t } = useLingui();\n\n const { products } = useEffectiveAuthConfig();\n const enableEml = hasProduct(products, 'emailMagicLinks');\n const enableOtp = hasProduct(products, 'emailOtp');\n\n const providedEmail = state.primary.email;\n const email = providedEmail || emailInput;\n\n const { trigger: stytchEmlLoginOrSignup, error: emlError, isMutating: emlIsMutating } = useEmlLoginOrSignup();\n const { trigger: stytchOtpLoginOrSignup, error: otpError, isMutating: otpIsMutating } = useEmailOtpLoginOrSignup();\n\n const isMutating = emlIsMutating || otpIsMutating;\n const error = emlError || otpError;\n\n const organization = state.flowState.organization;\n if (!organization) return <></>;\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n dispatch({ type: 'set_user_supplied_email', email });\n\n if (enableEml && enableOtp) {\n dispatch({ type: 'transition', screen: AppScreens.EmailMethodSelection, history: 'push' });\n } else if (enableEml) {\n stytchEmlLoginOrSignup({ email, organization_id: organization.organization_id });\n } else if (enableOtp) {\n stytchOtpLoginOrSignup({ email, organization_id: organization.organization_id });\n }\n };\n\n if (providedEmail) {\n return (\n <Column gap={2}>\n {products\n .filter((product) => product.id === 'emailMagicLinks' || product.id === 'emailOtp')\n .map((product) => {\n switch (product.id) {\n case 'emailMagicLinks':\n return (\n <Button\n key={product.id}\n onClick={() => {\n dispatch({ type: 'set_user_supplied_email', email });\n stytchEmlLoginOrSignup({ email, organization_id: organization.organization_id });\n }}\n loading={emlIsMutating}\n disabled={isMutating}\n variant=\"outline\"\n >\n {t({ id: 'button.emailLink', message: 'Email me a link' })}\n </Button>\n );\n\n case 'emailOtp':\n return (\n <Button\n key={product.id}\n onClick={() => {\n dispatch({ type: 'set_user_supplied_email', email });\n stytchOtpLoginOrSignup({ email, organization_id: organization.organization_id });\n }}\n loading={otpIsMutating}\n disabled={isMutating}\n variant=\"outline\"\n >\n {t({ id: 'button.emailCode', message: 'Email me a code' })}\n </Button>\n );\n }\n })}\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n }\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput\n email={email}\n setEmail={setEmailInput}\n hideLabel\n error={error ? parseErrorMessage(error, { email, org: organization.organization_name }) : undefined}\n />\n\n <Button type=\"submit\" variant=\"primary\" loading={isMutating}>\n {t({ id: 'button.continueWithEmail', message: 'Continue with email' })}\n </Button>\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n};\n\nexport const EmailDiscoveryForm = ({ showPasswordButton }: { showPasswordButton: boolean }) => {\n const [state, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState(state.formState.passwordState.email);\n const { t } = useLingui();\n\n const { products } = useEffectiveAuthConfig();\n const enableEml = products.some((p) => p.id === 'emailMagicLinks');\n const enableOtp = products.some((p) => p.id === 'emailOtp');\n\n const { trigger: stytchEmlDiscoverySend, error: emlError, isMutating: emlIsMutating } = useEmlDiscoverySend();\n const { trigger: stytchOtpDiscoverySend, error: otpError, isMutating: otpIsMutating } = useEmailOtpDiscoverySend();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n dispatch({ type: 'set_user_supplied_email', email });\n\n if (enableEml && enableOtp) {\n dispatch({ type: 'transition', screen: AppScreens.EmailMethodSelection, history: 'push' });\n } else if (enableEml) {\n stytchEmlDiscoverySend({ email });\n } else if (enableOtp) {\n stytchOtpDiscoverySend({ email });\n }\n };\n\n const isMutating = emlIsMutating || otpIsMutating;\n const error = emlError || otpError;\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput\n email={email}\n setEmail={setEmail}\n hideLabel\n error={error ? getTranslatedError(error, t) : undefined}\n />\n\n <Button type=\"submit\" variant=\"primary\" loading={isMutating}>\n {t({ id: 'button.continueWithEmail', message: 'Continue with email' })}\n </Button>\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n};\n"],"names":["EmailForm","showPasswordButton","state","dispatch","useGlobalReducer","emailInput","setEmailInput","useState","formState","passwordState","email","parseErrorMessage","useParseErrorMessage","useLingui","products","useEffectiveAuthConfig","enableEml","hasProduct","enableOtp","providedEmail","primary","trigger","stytchEmlLoginOrSignup","error","emlError","isMutating","emlIsMutating","useEmlLoginOrSignup","stytchOtpLoginOrSignup","otpError","otpIsMutating","useEmailOtpLoginOrSignup","organization","flowState","React","handleSubmit","e","preventDefault","type","screen","AppScreens","EmailMethodSelection","history","organization_id","Column","gap","filter","product","id","map","Button","key","onClick","loading","disabled","variant","UsePasswordButton","as","onSubmit","EmailInput","setEmail","hideLabel","org","organization_name","undefined","EmailDiscoveryForm","some","p","stytchEmlDiscoverySend","useEmlDiscoverySend","stytchOtpDiscoverySend","useEmailOtpDiscoverySend","getTranslatedError"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { useLingui } from '../../../../../../node_modules/@lingui/react/dist/index.mjs';
2
2
  import wn from '../../../../../../node_modules/preact/compat/dist/compat.module.mjs';
3
3
  import { EMAIL_REGEX } from '../../../utils/index.mjs';
4
- import { getTranslatedError } from '../../../utils/getTranslatedError.mjs';
5
4
  import { readB2BInternals } from '../../../utils/internal.mjs';
6
5
  import Button from '../../components/atoms/Button.mjs';
7
6
  import Column from '../../components/atoms/Column.mjs';
@@ -10,53 +9,58 @@ import { PasswordInput } from '../../components/molecules/PasswordInput.mjs';
10
9
  import { useGlobalReducer } from '../GlobalContextProvider.mjs';
11
10
  import { AppScreens } from '../types/AppScreens.mjs';
12
11
  import { usePasswordInput } from '../usePasswordInput.mjs';
12
+ import { useParseErrorMessage } from './useParseErrorMessage.mjs';
13
13
  import { useState as h } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
14
14
 
15
15
  const PasswordsEmailForm = ()=>{
16
16
  const [, dispatch] = useGlobalReducer();
17
17
  const { i18n: $__i18n, _: $__ } = useLingui();
18
+ const parseErrorMessages = useParseErrorMessage();
18
19
  const { stytch, email, setEmail, password, setPassword, organization, errorMessage, setErrorMessage, isSubmitting, setIsSubmitting, submitPassword, submitDiscoveryPassword, handleNonMemberReset } = usePasswordInput();
19
20
  const [hideInput, setHideInput] = h(!!organization && !email);
20
21
  const handleSubmit = async (e)=>{
21
22
  e.preventDefault();
22
- if (organization) {
23
- const organization_id = organization.organization_id;
24
- // If we have processed the email, submit the password field
25
- if (!hideInput) {
26
- submitPassword(organization_id);
27
- return;
28
- }
29
- // Validate we have a member with a password. Otherwise, check if we can jit
30
- // provision and kickoff verification and session reset
31
- if (!email.match(EMAIL_REGEX)) {
32
- setErrorMessage($__i18n._({
33
- id: "error.invalidEmailAddress",
34
- message: "Invalid email address"
35
- }));
36
- return;
37
- }
38
- setErrorMessage('');
39
- setIsSubmitting(true);
40
- readB2BInternals(stytch).searchManager.searchMember(email, organization.organization_id).then(({ member })=>{
41
- if (member) {
42
- setHideInput(false);
43
- setIsSubmitting(false);
44
- dispatch({
45
- type: 'set_password_state',
46
- email
47
- });
48
- return;
49
- }
50
- // No member password flow: verify email and use reset by session
51
- handleNonMemberReset();
52
- }).catch((err)=>{
53
- setIsSubmitting(false);
54
- setErrorMessage(getTranslatedError(err, $__));
55
- });
56
- } else {
23
+ if (!organization) {
57
24
  // Discovery flow
58
25
  submitDiscoveryPassword();
26
+ return;
27
+ }
28
+ const organization_id = organization.organization_id;
29
+ // If we have processed the email, submit the password field
30
+ if (!hideInput) {
31
+ submitPassword(organization_id);
32
+ return;
59
33
  }
34
+ // Validate we have a member with a password. Otherwise, check if we can jit
35
+ // provision and kickoff verification and session reset
36
+ if (!email.match(EMAIL_REGEX)) {
37
+ setErrorMessage($__i18n._({
38
+ id: "error.invalidEmailAddress",
39
+ message: "Invalid email address"
40
+ }));
41
+ return;
42
+ }
43
+ setErrorMessage('');
44
+ setIsSubmitting(true);
45
+ readB2BInternals(stytch).searchManager.searchMember(email, organization.organization_id).then(({ member })=>{
46
+ if (member) {
47
+ setHideInput(false);
48
+ setIsSubmitting(false);
49
+ dispatch({
50
+ type: 'set_password_state',
51
+ email
52
+ });
53
+ return;
54
+ }
55
+ // No member password flow: verify email and use reset by session
56
+ handleNonMemberReset();
57
+ }).catch((err)=>{
58
+ setIsSubmitting(false);
59
+ setErrorMessage(parseErrorMessages(err, {
60
+ email,
61
+ org: organization_id
62
+ }));
63
+ });
60
64
  };
61
65
  const onGetHelp = ()=>{
62
66
  dispatch({
@@ -74,7 +78,8 @@ const PasswordsEmailForm = ()=>{
74
78
  gap: 2
75
79
  }, /*#__PURE__*/ wn.createElement(EmailInput, {
76
80
  email: email,
77
- setEmail: setEmail
81
+ setEmail: setEmail,
82
+ error: hideInput ? errorMessage : undefined
78
83
  }), !hideInput && /*#__PURE__*/ wn.createElement(PasswordInput, {
79
84
  password: password,
80
85
  setPassword: setPassword,
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordEmailForm.mjs","sources":["../../../../../../../../../web/src/ui/b2b/screens/PasswordEmailForm.tsx"],"sourcesContent":["import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsEmailForm = () => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const {\n stytch,\n email,\n setEmail,\n password,\n setPassword,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n setIsSubmitting,\n submitPassword,\n submitDiscoveryPassword,\n handleNonMemberReset,\n } = usePasswordInput();\n\n const [hideInput, setHideInput] = useState(!!organization && !email);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (organization) {\n const organization_id = organization.organization_id;\n\n // If we have processed the email, submit the password field\n if (!hideInput) {\n submitPassword(organization_id);\n return;\n }\n\n // Validate we have a member with a password. Otherwise, check if we can jit\n // provision and kickoff verification and session reset\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n return;\n }\n setErrorMessage('');\n setIsSubmitting(true);\n readB2BInternals(stytch)\n .searchManager.searchMember(email, organization.organization_id)\n .then(({ member }) => {\n if (member) {\n setHideInput(false);\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email });\n return;\n }\n // No member password flow: verify email and use reset by session\n handleNonMemberReset();\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n } else {\n // Discovery flow\n submitDiscoveryPassword();\n }\n };\n\n const onGetHelp = () => {\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgotForm });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput email={email} setEmail={setEmail} />\n\n {!hideInput && (\n <PasswordInput password={password} setPassword={setPassword} type=\"current\" error={errorMessage} />\n )}\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n {!hideInput && (\n <Button variant=\"outline\" onClick={onGetHelp}>\n {t({ id: 'link.signupResetPassword', message: 'Sign up or reset password' })}\n </Button>\n )}\n </Column>\n );\n};\n"],"names":["PasswordsEmailForm","dispatch","useGlobalReducer","useLingui","stytch","email","setEmail","password","setPassword","organization","errorMessage","setErrorMessage","isSubmitting","setIsSubmitting","submitPassword","submitDiscoveryPassword","handleNonMemberReset","usePasswordInput","hideInput","setHideInput","useState","handleSubmit","e","preventDefault","organization_id","match","EMAIL_REGEX","readB2BInternals","searchManager","searchMember","then","member","type","catch","err","getTranslatedError","onGetHelp","screen","AppScreens","PasswordForgotForm","React","Column","as","onSubmit","gap","EmailInput","PasswordInput","error","Button","variant","loading","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"PasswordEmailForm.mjs","sources":["../../../../../../../../../web/src/ui/b2b/screens/PasswordEmailForm.tsx"],"sourcesContent":["import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\nimport { useParseErrorMessage } from './useParseErrorMessage';\n\nexport const PasswordsEmailForm = () => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const parseErrorMessages = useParseErrorMessage();\n\n const {\n stytch,\n email,\n setEmail,\n password,\n setPassword,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n setIsSubmitting,\n submitPassword,\n submitDiscoveryPassword,\n handleNonMemberReset,\n } = usePasswordInput();\n\n const [hideInput, setHideInput] = useState(!!organization && !email);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!organization) {\n // Discovery flow\n submitDiscoveryPassword();\n return;\n }\n\n const organization_id = organization.organization_id;\n\n // If we have processed the email, submit the password field\n if (!hideInput) {\n submitPassword(organization_id);\n return;\n }\n\n // Validate we have a member with a password. Otherwise, check if we can jit\n // provision and kickoff verification and session reset\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n return;\n }\n setErrorMessage('');\n setIsSubmitting(true);\n readB2BInternals(stytch)\n .searchManager.searchMember(email, organization.organization_id)\n .then(({ member }) => {\n if (member) {\n setHideInput(false);\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email });\n return;\n }\n // No member password flow: verify email and use reset by session\n handleNonMemberReset();\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(parseErrorMessages(err, { email, org: organization_id }));\n });\n };\n\n const onGetHelp = () => {\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgotForm });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput email={email} setEmail={setEmail} error={hideInput ? errorMessage : undefined} />\n\n {!hideInput && (\n <PasswordInput password={password} setPassword={setPassword} type=\"current\" error={errorMessage} />\n )}\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n {!hideInput && (\n <Button variant=\"outline\" onClick={onGetHelp}>\n {t({ id: 'link.signupResetPassword', message: 'Sign up or reset password' })}\n </Button>\n )}\n </Column>\n );\n};\n"],"names":["PasswordsEmailForm","dispatch","useGlobalReducer","useLingui","parseErrorMessages","useParseErrorMessage","stytch","email","setEmail","password","setPassword","organization","errorMessage","setErrorMessage","isSubmitting","setIsSubmitting","submitPassword","submitDiscoveryPassword","handleNonMemberReset","usePasswordInput","hideInput","setHideInput","useState","handleSubmit","e","preventDefault","organization_id","match","EMAIL_REGEX","readB2BInternals","searchManager","searchMember","then","member","type","catch","err","org","onGetHelp","screen","AppScreens","PasswordForgotForm","React","Column","as","onSubmit","gap","EmailInput","error","undefined","PasswordInput","Button","variant","loading","onClick"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { useLingui } from '../../../../../../node_modules/@lingui/react/dist/index.mjs';
2
+ import { getTranslatedError } from '../../../utils/getTranslatedError.mjs';
3
+
4
+ const JIT_PROVISIONING_ERRORS = [
5
+ 'email_jit_provisioning_not_allowed',
6
+ 'invalid_email_for_jit_provisioning'
7
+ ];
8
+ /**
9
+ * Translates error message to user friendlier format including handling for JIT errors
10
+ */ const useParseErrorMessage = ()=>{
11
+ const { i18n: $__i18n, _: $__ } = useLingui();
12
+ return (error, { email, org: organizationName })=>{
13
+ if (JIT_PROVISIONING_ERRORS.includes(error.error_type)) {
14
+ return $__i18n._({
15
+ id: "error.jitIneligible",
16
+ message: "{email} does not have access to {organizationName}. If you think this is a mistake, contact your admin",
17
+ values: {
18
+ email: email,
19
+ organizationName: organizationName
20
+ }
21
+ });
22
+ }
23
+ return getTranslatedError(error, $__);
24
+ };
25
+ };
26
+
27
+ export { useParseErrorMessage };
28
+ //# sourceMappingURL=useParseErrorMessage.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useParseErrorMessage.mjs","sources":["../../../../../../../../../web/src/ui/b2b/screens/useParseErrorMessage.ts"],"sourcesContent":["import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError } from '@stytch/core/public';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\n\nconst JIT_PROVISIONING_ERRORS = ['email_jit_provisioning_not_allowed', 'invalid_email_for_jit_provisioning'];\n\n/**\n * Translates error message to user friendlier format including handling for JIT errors\n */\nexport const useParseErrorMessage = () => {\n const { t } = useLingui();\n return (error: StytchAPIError, { email, org: organizationName }: { email: string; org: string }) => {\n if (JIT_PROVISIONING_ERRORS.includes(error.error_type)) {\n return t({\n id: 'error.jitIneligible',\n message: `${email} does not have access to ${organizationName}. If you think this is a mistake, contact your admin`,\n });\n }\n return getTranslatedError(error, t);\n };\n};\n"],"names":["JIT_PROVISIONING_ERRORS","useParseErrorMessage","useLingui","error","email","org","organizationName","includes","error_type","getTranslatedError"],"mappings":";;;AAKA,MAAMA,uBAAAA,GAA0B;AAAC,IAAA,oCAAA;AAAsC,IAAA;AAAqC,CAAA;AAE5G;;UAGaC,oBAAAA,GAAuB,IAAA;AAClC,IAAA,MAAM,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,GAAA,EAAA,GAAQC,SAAAA,EAAAA;AACd,IAAA,OAAO,CAACC,KAAAA,EAAuB,EAAEC,KAAK,EAAEC,GAAAA,EAAKC,gBAAgB,EAAkC,GAAA;AAC7F,QAAA,IAAIN,uBAAAA,CAAwBO,QAAQ,CAACJ,KAAAA,CAAMK,UAAU,CAAA,EAAG;AACtD,YAAA,OAAA,OAAA,CAAA,CAAA,CAAA;;;;AAEcJ,oBAAAA,KAAAA,EAAAA,KAAAA;AAAiCE,oBAAAA,gBAAAA,EAAAA;;;AAEjD,QAAA;AACA,QAAA,OAAOG,kBAAAA,CAAmBN,KAAAA,EAAAA,GAAAA,CAAAA;AAC5B,IAAA,CAAA;AACF;;;;"}
@@ -1,17 +1,15 @@
1
- /*! js-cookie v3.0.1 | MIT */
2
- /* eslint-disable no-var */
1
+ /*! js-cookie v3.0.8 | MIT */
3
2
  function assign (target) {
4
3
  for (var i = 1; i < arguments.length; i++) {
5
4
  var source = arguments[i];
6
5
  for (var key in source) {
6
+ if (key === '__proto__') continue
7
7
  target[key] = source[key];
8
8
  }
9
9
  }
10
10
  return target
11
11
  }
12
- /* eslint-enable no-var */
13
12
 
14
- /* eslint-disable no-var */
15
13
  var defaultConverter = {
16
14
  read: function (value) {
17
15
  if (value[0] === '"') {
@@ -26,12 +24,9 @@ var defaultConverter = {
26
24
  )
27
25
  }
28
26
  };
29
- /* eslint-enable no-var */
30
27
 
31
- /* eslint-disable no-var */
32
-
33
- function init (converter, defaultAttributes) {
34
- function set (key, value, attributes) {
28
+ function init(converter, defaultAttributes) {
29
+ function set(name, value, attributes) {
35
30
  if (typeof document === 'undefined') {
36
31
  return
37
32
  }
@@ -45,7 +40,7 @@ function init (converter, defaultAttributes) {
45
40
  attributes.expires = attributes.expires.toUTCString();
46
41
  }
47
42
 
48
- key = encodeURIComponent(key)
43
+ name = encodeURIComponent(name)
49
44
  .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)
50
45
  .replace(/[()]/g, escape);
51
46
 
@@ -72,11 +67,11 @@ function init (converter, defaultAttributes) {
72
67
  }
73
68
 
74
69
  return (document.cookie =
75
- key + '=' + converter.write(value, key) + stringifiedAttributes)
70
+ name + '=' + converter.write(value, name) + stringifiedAttributes)
76
71
  }
77
72
 
78
- function get (key) {
79
- if (typeof document === 'undefined' || (arguments.length && !key)) {
73
+ function get(name) {
74
+ if (typeof document === 'undefined' || (arguments.length && !name)) {
80
75
  return
81
76
  }
82
77
 
@@ -89,25 +84,26 @@ function init (converter, defaultAttributes) {
89
84
  var value = parts.slice(1).join('=');
90
85
 
91
86
  try {
92
- var foundKey = decodeURIComponent(parts[0]);
93
- jar[foundKey] = converter.read(value, foundKey);
94
-
95
- if (key === foundKey) {
87
+ var found = decodeURIComponent(parts[0]);
88
+ if (!(found in jar)) jar[found] = converter.read(value, found);
89
+ if (name === found) {
96
90
  break
97
91
  }
98
- } catch (e) {}
92
+ } catch (_e) {
93
+ // Do nothing...
94
+ }
99
95
  }
100
96
 
101
- return key ? jar[key] : jar
97
+ return name ? jar[name] : jar
102
98
  }
103
99
 
104
100
  return Object.create(
105
101
  {
106
102
  set: set,
107
103
  get: get,
108
- remove: function (key, attributes) {
104
+ remove: function (name, attributes) {
109
105
  set(
110
- key,
106
+ name,
111
107
  '',
112
108
  assign({}, attributes, {
113
109
  expires: -1
@@ -1 +1 @@
1
- {"version":3,"file":"js.cookie.mjs","sources":["../../../../../../../node_modules/js-cookie/dist/js.cookie.mjs"],"sourcesContent":["/*! js-cookie v3.0.1 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (key, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n key = encodeURIComponent(key)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n key + '=' + converter.write(value, key) + stringifiedAttributes)\n }\n\n function get (key) {\n if (typeof document === 'undefined' || (arguments.length && !key)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var foundKey = decodeURIComponent(parts[0]);\n jar[foundKey] = converter.read(value, foundKey);\n\n if (key === foundKey) {\n break\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (key, attributes) {\n set(\n key,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport default api;\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"js.cookie.mjs","sources":["../../../../../../../node_modules/js-cookie/dist/js.cookie.mjs"],"sourcesContent":["/*! js-cookie v3.0.8 | MIT */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (key === '__proto__') continue\n target[key] = source[key];\n }\n }\n return target\n}\n\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n\nfunction init(converter, defaultAttributes) {\n function set(name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get(name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n if (!(found in jar)) jar[found] = converter.read(value, found);\n if (name === found) {\n break\n }\n } catch (_e) {\n // Do nothing...\n }\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set: set,\n get: get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n\nexport { api as default };\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -65,7 +65,7 @@ class NetworkClient {
65
65
  sdk: {
66
66
  // eslint-disable-next-line lingui/no-unlocalized-strings
67
67
  identifier: 'Stytch.js Javascript SDK',
68
- version: "@stytch/vanilla-js" + '@' + "6.0.9"
68
+ version: "@stytch/vanilla-js" + '@' + "6.0.11"
69
69
  }
70
70
  };
71
71
  }
@@ -13,28 +13,9 @@ import { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend.mjs';
13
13
  import { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup.mjs';
14
14
  import { AppScreens } from '../types/AppScreens.mjs';
15
15
  import { hasProduct } from '../utils.mjs';
16
+ import { useParseErrorMessage } from './useParseErrorMessage.mjs';
16
17
  import { useState as h } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
17
18
 
18
- const JIT_PROVISIONING_ERRORS = [
19
- 'email_jit_provisioning_not_allowed',
20
- 'invalid_email_for_jit_provisioning'
21
- ];
22
- const useParseErrorMessage = ()=>{
23
- const { i18n: $__i18n, _: $__ } = useLingui();
24
- return (error, { email, org: organizationName })=>{
25
- if (JIT_PROVISIONING_ERRORS.includes(error.error_type)) {
26
- return $__i18n._({
27
- id: "error.jitIneligible",
28
- message: "{email} does not have access to {organizationName}. If you think this is a mistake, contact your admin",
29
- values: {
30
- email: email,
31
- organizationName: organizationName
32
- }
33
- });
34
- }
35
- return getTranslatedError(error, $__);
36
- };
37
- };
38
19
  const EmailForm = ({ showPasswordButton })=>{
39
20
  const [state, dispatch] = useGlobalReducer();
40
21
  const [emailInput, setEmailInput] = h(state.formState.passwordState.email);