@stytch/react 19.0.0 → 19.1.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,7 +1,25 @@
1
1
  # @stytch/react
2
2
 
3
+ ## 19.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 67cbee6a: Add DFPPA to OTP Email Login Or Create
8
+
9
+ ## 19.1.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 160124c9: Add `AdminPortalSCIM` component component to `@stytch/react/b2b/adminPortal`
14
+
3
15
  ## 19.0.0
4
16
 
17
+ ### Major Changes
18
+
19
+ - Updated API routes to use api.stytch.com for live and test.stytch.com for test, replacing web.stytch.com.
20
+ If you use Content Security Policy (CSP) headers, ensure the URL is updated.
21
+ This was done to reduce the number of network calls and simplify internal routing, resulting in faster API response times—improving request speeds by up to 40 milliseconds roundtrip.
22
+
5
23
  ### Patch Changes
6
24
 
7
25
  - Updated dependencies [3c39a997]
@@ -110,7 +110,7 @@ const useStytchB2BClient = () => {
110
110
  const withStytchB2BClient = (Component) => {
111
111
  const WithStytch = (props) => {
112
112
  invariant.invariant(useIsMounted__INTERNAL(), invariant.noProviderError('withStytchB2BClient', 'StytchB2BProvider'));
113
- return React__default['default'].createElement(Component, Object.assign({}, props, { stytch: useStytchB2BClient() }));
113
+ return React__default["default"].createElement(Component, Object.assign({}, props, { stytch: useStytchB2BClient() }));
114
114
  };
115
115
  WithStytch.displayName = `withStytch(${Component.displayName || Component.name || 'Component'})`;
116
116
  return WithStytch;
@@ -119,7 +119,7 @@ const withStytchMember = (Component) => {
119
119
  const WithStytchUser = (props) => {
120
120
  invariant.invariant(useIsMounted__INTERNAL(), invariant.noProviderError('withStytchMember', 'StytchB2BProvider'));
121
121
  const { member, fromCache } = useStytchMember();
122
- return React__default['default'].createElement(Component, Object.assign({}, props, { stytchMember: member, stytchMemberIsFromCache: fromCache }));
122
+ return React__default["default"].createElement(Component, Object.assign({}, props, { stytchMember: member, stytchMemberIsFromCache: fromCache }));
123
123
  };
124
124
  WithStytchUser.displayName = `withStytchUser(${Component.displayName || Component.name || 'Component'})`;
125
125
  return WithStytchUser;
@@ -128,7 +128,7 @@ const withStytchMemberSession = (Component) => {
128
128
  const WithStytchSession = (props) => {
129
129
  invariant.invariant(useIsMounted__INTERNAL(), invariant.noProviderError('withStytchMemberSession', 'StytchB2BProvider'));
130
130
  const { session, fromCache } = useStytchMemberSession();
131
- return React__default['default'].createElement(Component, Object.assign({}, props, { stytchMemberSession: session, stytchMemberSessionIsFromCache: fromCache }));
131
+ return React__default["default"].createElement(Component, Object.assign({}, props, { stytchMemberSession: session, stytchMemberSessionIsFromCache: fromCache }));
132
132
  };
133
133
  WithStytchSession.displayName = `withStytchSession(${Component.displayName || Component.name || 'Component'})`;
134
134
  return WithStytchSession;
@@ -137,7 +137,7 @@ const withStytchOrganization = (Component) => {
137
137
  const WithStytchOrganization = (props) => {
138
138
  invariant.invariant(useIsMounted__INTERNAL(), invariant.noProviderError('withStytchOrganization', 'StytchB2BProvider'));
139
139
  const { organization, fromCache } = useStytchOrganization();
140
- return React__default['default'].createElement(Component, Object.assign({}, props, { stytchOrganization: organization, stytchOrganizationIsFromCache: fromCache }));
140
+ return React__default["default"].createElement(Component, Object.assign({}, props, { stytchOrganization: organization, stytchOrganizationIsFromCache: fromCache }));
141
141
  };
142
142
  WithStytchOrganization.displayName = `withStytchOrganization(${Component.displayName || Component.name || 'Component'})`;
143
143
  return WithStytchOrganization;
@@ -177,7 +177,7 @@ const withStytchPermissions = (Component) => {
177
177
  if (!permissions.loaded) {
178
178
  return null;
179
179
  }
180
- return React__default['default'].createElement(Component, Object.assign({}, props, { stytchPermissions: permissions.value }));
180
+ return React__default["default"].createElement(Component, Object.assign({}, props, { stytchPermissions: permissions.value }));
181
181
  };
182
182
  WithStytchPermissions.displayName = `withStytchPermissions(${Component.displayName || Component.name || 'Component'})`;
183
183
  return WithStytchPermissions;
@@ -214,10 +214,10 @@ const StytchB2BProvider = ({ stytch, children }) => {
214
214
  return invariant.mergeWithStableProps(oldState, newState);
215
215
  });
216
216
  }), [setClientState, stytch]);
217
- return (React__default['default'].createElement(StytchB2BContext.Provider, { value: ctx },
218
- React__default['default'].createElement(StytchOrganizationContext.Provider, { value: organization },
219
- React__default['default'].createElement(StytchMemberContext.Provider, { value: member },
220
- React__default['default'].createElement(StytchMemberSessionContext.Provider, { value: session }, children)))));
217
+ return (React__default["default"].createElement(StytchB2BContext.Provider, { value: ctx },
218
+ React__default["default"].createElement(StytchOrganizationContext.Provider, { value: organization },
219
+ React__default["default"].createElement(StytchMemberContext.Provider, { value: member },
220
+ React__default["default"].createElement(StytchMemberSessionContext.Provider, { value: session }, children)))));
221
221
  };
222
222
 
223
223
  exports.StytchB2BProvider = StytchB2BProvider;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { AdminPortalSSOMountOptions, AdminPortalOrgSettingsMountOptions, AdminPortalMemberManagementMountOptions } from "@stytch/vanilla-js/b2b/adminPortal";
2
+ import { AdminPortalSSOMountOptions, AdminPortalOrgSettingsMountOptions, AdminPortalMemberManagementMountOptions, AdminPortalSCIMMountOptions } from "@stytch/vanilla-js/b2b/adminPortal";
3
3
  import { StytchB2BHeadlessClient } from "@stytch/vanilla-js/b2b/headless";
4
4
  interface InjectedOptions {
5
5
  client: StytchB2BHeadlessClient;
@@ -30,6 +30,14 @@ type AdminPortalMemberManagementProps = ExcludeInjectedOptions<AdminPortalMember
30
30
  * See the {@link https://stytch.com/docs/b2b/sdks/javascript-sdk online reference}
31
31
  */
32
32
  declare const AdminPortalMemberManagement: (props: ExcludeInjectedOptions<AdminPortalMemberManagementMountOptions>) => JSX.Element;
33
- export { AdminPortalSSO, AdminPortalOrgSettings, AdminPortalMemberManagement };
33
+ type AdminPortalSCIMProps = ExcludeInjectedOptions<AdminPortalSCIMMountOptions>;
34
+ /**
35
+ * The Admin Portal SCIM UI component.
36
+ * This component must be rendered within a {@link StytchB2BProvider}.
37
+ *
38
+ * See the {@link https://stytch.com/docs/b2b/sdks/javascript-sdk online reference}
39
+ */
40
+ declare const AdminPortalSCIM: (props: ExcludeInjectedOptions<AdminPortalSCIMMountOptions>) => JSX.Element;
41
+ export { AdminPortalSSO, AdminPortalOrgSettings, AdminPortalMemberManagement, AdminPortalSCIM };
34
42
  export { AdminPortalB2BProducts } from "@stytch/vanilla-js/b2b/adminPortal";
35
- export type { AdminPortalSSOProps, AdminPortalOrgSettingsProps, AdminPortalMemberManagementProps };
43
+ export type { AdminPortalSSOProps, AdminPortalOrgSettingsProps, AdminPortalMemberManagementProps, AdminPortalSCIMProps };
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { AdminPortalSSOMountOptions, AdminPortalOrgSettingsMountOptions, AdminPortalMemberManagementMountOptions } from "@stytch/vanilla-js/b2b/adminPortal";
2
+ import { AdminPortalSSOMountOptions, AdminPortalOrgSettingsMountOptions, AdminPortalMemberManagementMountOptions, AdminPortalSCIMMountOptions } from "@stytch/vanilla-js/b2b/adminPortal";
3
3
  import { StytchB2BHeadlessClient } from "@stytch/vanilla-js/b2b/headless";
4
4
  interface InjectedOptions {
5
5
  client: StytchB2BHeadlessClient;
@@ -30,6 +30,14 @@ type AdminPortalMemberManagementProps = ExcludeInjectedOptions<AdminPortalMember
30
30
  * See the {@link https://stytch.com/docs/b2b/sdks/javascript-sdk online reference}
31
31
  */
32
32
  declare const AdminPortalMemberManagement: (props: ExcludeInjectedOptions<AdminPortalMemberManagementMountOptions>) => JSX.Element;
33
- export { AdminPortalSSO, AdminPortalOrgSettings, AdminPortalMemberManagement };
33
+ type AdminPortalSCIMProps = ExcludeInjectedOptions<AdminPortalSCIMMountOptions>;
34
+ /**
35
+ * The Admin Portal SCIM UI component.
36
+ * This component must be rendered within a {@link StytchB2BProvider}.
37
+ *
38
+ * See the {@link https://stytch.com/docs/b2b/sdks/javascript-sdk online reference}
39
+ */
40
+ declare const AdminPortalSCIM: (props: ExcludeInjectedOptions<AdminPortalSCIMMountOptions>) => JSX.Element;
41
+ export { AdminPortalSSO, AdminPortalOrgSettings, AdminPortalMemberManagement, AdminPortalSCIM };
34
42
  export { AdminPortalB2BProducts } from "@stytch/vanilla-js/b2b/adminPortal";
35
- export type { AdminPortalSSOProps, AdminPortalOrgSettingsProps, AdminPortalMemberManagementProps };
43
+ export type { AdminPortalSSOProps, AdminPortalOrgSettingsProps, AdminPortalMemberManagementProps, AdminPortalSCIMProps };
@@ -1,4 +1,4 @@
1
- import { mountAdminPortalSSO, mountAdminPortalOrgSettings, mountAdminPortalMemberManagement } from '@stytch/vanilla-js/b2b/adminPortal';
1
+ import { mountAdminPortalSSO, mountAdminPortalOrgSettings, mountAdminPortalMemberManagement, mountAdminPortalSCIM } from '@stytch/vanilla-js/b2b/adminPortal';
2
2
  export { AdminPortalB2BProducts } from '@stytch/vanilla-js/b2b/adminPortal';
3
3
  import React, { useRef, useLayoutEffect } from 'react';
4
4
  import { u as useIsMounted__INTERNAL, a as useStytchB2BClient } from '../StytchB2BContext-8acafb28.js';
@@ -44,4 +44,12 @@ const AdminPortalOrgSettings = makeAdminPortalComponent(mountAdminPortalOrgSetti
44
44
  */
45
45
  const AdminPortalMemberManagement = makeAdminPortalComponent(mountAdminPortalMemberManagement, 'AdminPortalMemberManagement');
46
46
 
47
- export { AdminPortalMemberManagement, AdminPortalOrgSettings, AdminPortalSSO };
47
+ /**
48
+ * The Admin Portal SCIM UI component.
49
+ * This component must be rendered within a {@link StytchB2BProvider}.
50
+ *
51
+ * See the {@link https://stytch.com/docs/b2b/sdks/javascript-sdk online reference}
52
+ */
53
+ const AdminPortalSCIM = makeAdminPortalComponent(mountAdminPortalSCIM, 'AdminPortalSCIM');
54
+
55
+ export { AdminPortalMemberManagement, AdminPortalOrgSettings, AdminPortalSCIM, AdminPortalSSO };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var adminPortal = require('@stytch/vanilla-js/b2b/adminPortal');
6
6
  var React = require('react');
7
- var StytchB2BContext = require('../StytchB2BContext-ce9e254c.js');
7
+ var StytchB2BContext = require('../StytchB2BContext-d240104b.js');
8
8
  var invariant = require('../invariant-ae5a5bce.js');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -22,7 +22,7 @@ const makeAdminPortalComponent = (mountFn, componentName) => {
22
22
  }
23
23
  mountFn(Object.assign(Object.assign({}, props), { client: stytchClient, element: containerEl.current }));
24
24
  }, [stytchClient, props]);
25
- return React__default['default'].createElement("div", { ref: containerEl });
25
+ return React__default["default"].createElement("div", { ref: containerEl });
26
26
  };
27
27
  return Component;
28
28
  };
@@ -51,12 +51,19 @@ const AdminPortalOrgSettings = makeAdminPortalComponent(adminPortal.mountAdminPo
51
51
  */
52
52
  const AdminPortalMemberManagement = makeAdminPortalComponent(adminPortal.mountAdminPortalMemberManagement, 'AdminPortalMemberManagement');
53
53
 
54
+ /**
55
+ * The Admin Portal SCIM UI component.
56
+ * This component must be rendered within a {@link StytchB2BProvider}.
57
+ *
58
+ * See the {@link https://stytch.com/docs/b2b/sdks/javascript-sdk online reference}
59
+ */
60
+ const AdminPortalSCIM = makeAdminPortalComponent(adminPortal.mountAdminPortalSCIM, 'AdminPortalSCIM');
61
+
54
62
  Object.defineProperty(exports, 'AdminPortalB2BProducts', {
55
63
  enumerable: true,
56
- get: function () {
57
- return adminPortal.AdminPortalB2BProducts;
58
- }
64
+ get: function () { return adminPortal.AdminPortalB2BProducts; }
59
65
  });
60
66
  exports.AdminPortalMemberManagement = AdminPortalMemberManagement;
61
67
  exports.AdminPortalOrgSettings = AdminPortalOrgSettings;
68
+ exports.AdminPortalSCIM = AdminPortalSCIM;
62
69
  exports.AdminPortalSSO = AdminPortalSSO;
@@ -103,6 +103,6 @@ interface StytchB2BProps {
103
103
  * @param props {@link StytchB2BProps}
104
104
  */
105
105
  declare const StytchB2B: ({ styles, callbacks, config }: StytchB2BProps) => React.JSX.Element;
106
- export { StytchB2BProvider, useStytchB2BClient, useStytchMemberSession, useStytchMember, useStytchIsAuthorized, useStytchOrganization, withStytchB2BClient, withStytchMemberSession, withStytchMember, withStytchOrganization, withStytchPermissions } from "../StytchB2BContext-ce9e254c.js";
106
+ export { StytchB2BProvider, useStytchB2BClient, useStytchMemberSession, useStytchMember, useStytchIsAuthorized, useStytchOrganization, withStytchB2BClient, withStytchMemberSession, withStytchMember, withStytchOrganization, withStytchPermissions } from "../StytchB2BContext-d240104b.js";
107
107
  export { StytchB2B };
108
- export type { StytchB2BProviderProps } from "../StytchB2BContext-ce9e254c.js";
108
+ export type { StytchB2BProviderProps } from "../StytchB2BContext-d240104b.js";
package/dist/b2b/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var StytchB2BContext = require('../StytchB2BContext-ce9e254c.js');
5
+ var StytchB2BContext = require('../StytchB2BContext-d240104b.js');
6
6
  var React = require('react');
7
7
  var invariant = require('../invariant-ae5a5bce.js');
8
8
 
@@ -67,7 +67,7 @@ const StytchB2B = ({ styles, callbacks, config }) => {
67
67
  });
68
68
  // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354
69
69
  }, [stytchClient, styles, callbacks]);
70
- return React__default['default'].createElement("div", { ref: containerEl });
70
+ return React__default["default"].createElement("div", { ref: containerEl });
71
71
  };
72
72
 
73
73
  exports.StytchB2BProvider = StytchB2BContext.StytchB2BProvider;
package/dist/index.js CHANGED
@@ -68,7 +68,7 @@ const useStytch = () => {
68
68
  const withStytch = (Component) => {
69
69
  const WithStytch = (props) => {
70
70
  invariant.invariant(useIsMounted__INTERNAL(), invariant.noProviderError('withStytch'));
71
- return React__default['default'].createElement(Component, Object.assign({}, props, { stytch: useStytch() }));
71
+ return React__default["default"].createElement(Component, Object.assign({}, props, { stytch: useStytch() }));
72
72
  };
73
73
  WithStytch.displayName = `withStytch(${Component.displayName || Component.name || 'Component'})`;
74
74
  return WithStytch;
@@ -77,7 +77,7 @@ const withStytchUser = (Component) => {
77
77
  const WithStytchUser = (props) => {
78
78
  invariant.invariant(useIsMounted__INTERNAL(), invariant.noProviderError('withStytchUser'));
79
79
  const { user, fromCache } = useStytchUser();
80
- return React__default['default'].createElement(Component, Object.assign({}, props, { stytchUser: user, stytchUserIsFromCache: fromCache }));
80
+ return React__default["default"].createElement(Component, Object.assign({}, props, { stytchUser: user, stytchUserIsFromCache: fromCache }));
81
81
  };
82
82
  WithStytchUser.displayName = `withStytchUser(${Component.displayName || Component.name || 'Component'})`;
83
83
  return WithStytchUser;
@@ -86,7 +86,7 @@ const withStytchSession = (Component) => {
86
86
  const WithStytchSession = (props) => {
87
87
  invariant.invariant(useIsMounted__INTERNAL(), invariant.noProviderError('withStytchSession'));
88
88
  const { session, fromCache } = useStytchSession();
89
- return React__default['default'].createElement(Component, Object.assign({}, props, { stytchSession: session, stytchSessionIsFromCache: fromCache }));
89
+ return React__default["default"].createElement(Component, Object.assign({}, props, { stytchSession: session, stytchSessionIsFromCache: fromCache }));
90
90
  };
91
91
  WithStytchSession.displayName = `withStytchSession(${Component.displayName || Component.name || 'Component'})`;
92
92
  return WithStytchSession;
@@ -121,9 +121,9 @@ const StytchProvider = ({ stytch, children }) => {
121
121
  return invariant.mergeWithStableProps(oldState, newState);
122
122
  });
123
123
  }), [setClientState, stytch]);
124
- return (React__default['default'].createElement(StytchContext.Provider, { value: ctx },
125
- React__default['default'].createElement(StytchUserContext.Provider, { value: user },
126
- React__default['default'].createElement(StytchSessionContext.Provider, { value: session }, children))));
124
+ return (React__default["default"].createElement(StytchContext.Provider, { value: ctx },
125
+ React__default["default"].createElement(StytchUserContext.Provider, { value: user },
126
+ React__default["default"].createElement(StytchSessionContext.Provider, { value: session }, children))));
127
127
  };
128
128
 
129
129
  /**
@@ -179,7 +179,7 @@ const StytchLogin = ({ config, styles, callbacks }) => {
179
179
  styles,
180
180
  });
181
181
  }, [stytchClient, config, styles, callbacks]);
182
- return React__default['default'].createElement("div", { ref: containerEl });
182
+ return React__default["default"].createElement("div", { ref: containerEl });
183
183
  };
184
184
  /**
185
185
  * The Stytch Reset Password component.
@@ -242,7 +242,7 @@ const StytchPasswordReset = ({ config, styles, callbacks, passwordResetToken })
242
242
  });
243
243
  }
244
244
  }, [stytchClient, config, styles, callbacks, passwordResetToken]);
245
- return React__default['default'].createElement("div", { ref: containerEl });
245
+ return React__default["default"].createElement("div", { ref: containerEl });
246
246
  };
247
247
  const StytchPasskeyRegistration = ({ config, styles, callbacks }) => {
248
248
  /**
@@ -299,7 +299,7 @@ const StytchPasskeyRegistration = ({ config, styles, callbacks }) => {
299
299
  styles,
300
300
  });
301
301
  }, [stytchClient, config, styles, callbacks, user]);
302
- return React__default['default'].createElement("div", { ref: containerEl });
302
+ return React__default["default"].createElement("div", { ref: containerEl });
303
303
  };
304
304
 
305
305
  exports.StytchLogin = StytchLogin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stytch/react",
3
- "version": "19.0.0",
3
+ "version": "19.1.1",
4
4
  "description": "Stytch's official React Library",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.esm.js",
@@ -34,13 +34,13 @@
34
34
  "devDependencies": {
35
35
  "@babel/runtime": "7.18.6",
36
36
  "@stytch/js-utils": "0.0.0",
37
- "@stytch/vanilla-js": "5.0.0",
37
+ "@stytch/vanilla-js": "5.9.4",
38
38
  "@testing-library/react": "14.0.0",
39
39
  "eslint-config-custom": "0.0.1",
40
40
  "react": "18.2.0",
41
41
  "react-dom": "18.2.0",
42
42
  "react-test-renderer": "18.0.0",
43
- "rollup": "2.56.3",
43
+ "rollup": "2.79.2",
44
44
  "type-fest": "4.15.0",
45
45
  "typescript": "5.3.3"
46
46
  },