@stytch/nextjs 11.0.0 → 13.0.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.
Files changed (85) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +16 -0
  3. package/b2b/headless/package.json +6 -0
  4. package/b2b/ui/package.json +6 -0
  5. package/dist/Stytch.d.ts +172 -0
  6. package/dist/Stytch.js +214 -0
  7. package/dist/Stytch.js.map +1 -0
  8. package/dist/Stytch.spec.d.ts +1 -0
  9. package/dist/Stytch.spec.js +130 -0
  10. package/dist/Stytch.spec.js.map +1 -0
  11. package/dist/StytchContext.d.ts +104 -0
  12. package/dist/StytchContext.js +180 -0
  13. package/dist/StytchContext.js.map +1 -0
  14. package/dist/StytchContext.serverside.spec.d.ts +4 -0
  15. package/dist/StytchContext.serverside.spec.js +51 -0
  16. package/dist/StytchContext.serverside.spec.js.map +1 -0
  17. package/dist/StytchContext.spec.d.ts +1 -0
  18. package/dist/StytchContext.spec.js +212 -0
  19. package/dist/StytchContext.spec.js.map +1 -0
  20. package/dist/StytchSSRProxy.d.ts +2 -0
  21. package/dist/StytchSSRProxy.js +29 -0
  22. package/dist/StytchSSRProxy.js.map +1 -0
  23. package/dist/StytchSSRProxy.spec.d.ts +1 -0
  24. package/dist/StytchSSRProxy.spec.js +16 -0
  25. package/dist/StytchSSRProxy.spec.js.map +1 -0
  26. package/dist/b2b/Stytch.d.ts +104 -0
  27. package/dist/b2b/Stytch.js +90 -0
  28. package/dist/b2b/Stytch.js.map +1 -0
  29. package/dist/b2b/StytchB2BContext.d.ts +104 -0
  30. package/dist/b2b/StytchB2BContext.js +179 -0
  31. package/dist/b2b/StytchB2BContext.js.map +1 -0
  32. package/dist/b2b/StytchB2BContext.spec.d.ts +1 -0
  33. package/dist/b2b/StytchB2BContext.spec.js +217 -0
  34. package/dist/b2b/StytchB2BContext.spec.js.map +1 -0
  35. package/dist/b2b/createStytchB2BHeadlessClient.d.ts +15 -0
  36. package/dist/b2b/createStytchB2BHeadlessClient.js +26 -0
  37. package/dist/b2b/createStytchB2BHeadlessClient.js.map +1 -0
  38. package/dist/b2b/createStytchB2BUIClient.d.ts +16 -0
  39. package/dist/b2b/createStytchB2BUIClient.js +27 -0
  40. package/dist/b2b/createStytchB2BUIClient.js.map +1 -0
  41. package/dist/b2b/index.d.ts +3 -238
  42. package/dist/b2b/index.esm.d.ts +3 -33
  43. package/dist/b2b/index.esm.js +1 -78
  44. package/dist/b2b/index.headless.d.ts +1 -0
  45. package/dist/b2b/index.headless.esm.d.ts +16 -0
  46. package/dist/b2b/index.headless.esm.js +4118 -0
  47. package/dist/b2b/index.headless.js +18 -0
  48. package/dist/b2b/index.headless.js.map +1 -0
  49. package/dist/b2b/index.js +14 -329
  50. package/dist/b2b/index.js.map +1 -0
  51. package/dist/b2b/index.ui.d.ts +1 -0
  52. package/dist/b2b/index.ui.esm.d.ts +17 -0
  53. package/dist/b2b/index.ui.esm.js +62 -0
  54. package/dist/b2b/index.ui.js +18 -0
  55. package/dist/b2b/index.ui.js.map +1 -0
  56. package/dist/createStytchHeadlessClient.d.ts +15 -0
  57. package/dist/createStytchHeadlessClient.js +26 -0
  58. package/dist/createStytchHeadlessClient.js.map +1 -0
  59. package/dist/createStytchUIClient.d.ts +16 -0
  60. package/dist/createStytchUIClient.js +27 -0
  61. package/dist/createStytchUIClient.js.map +1 -0
  62. package/dist/index.d.ts +3 -244
  63. package/dist/index.esm.d.ts +32 -1
  64. package/dist/index.esm.js +56 -1
  65. package/dist/index.headless.d.ts +1 -16
  66. package/dist/index.headless.js +16 -63
  67. package/dist/index.headless.js.map +1 -0
  68. package/dist/index.js +16 -318
  69. package/dist/index.js.map +1 -0
  70. package/dist/index.ui.d.ts +1 -17
  71. package/dist/index.ui.js +16 -64
  72. package/dist/index.ui.js.map +1 -0
  73. package/dist/utils/async.d.ts +2 -0
  74. package/dist/utils/async.js +22 -0
  75. package/dist/utils/async.js.map +1 -0
  76. package/dist/utils/errors.d.ts +3 -0
  77. package/dist/utils/errors.js +28 -0
  78. package/dist/utils/errors.js.map +1 -0
  79. package/dist/utils/invariant.d.ts +1 -0
  80. package/dist/utils/invariant.js +10 -0
  81. package/dist/utils/invariant.js.map +1 -0
  82. package/dist/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  83. package/dist/utils/useIsomorphicLayoutEffect.js +7 -0
  84. package/dist/utils/useIsomorphicLayoutEffect.js.map +1 -0
  85. package/package.json +3 -3
@@ -1,28 +1,9 @@
1
1
  import React, { useRef, useState, useEffect, useCallback, createContext, useContext, useMemo, useLayoutEffect } from 'react';
2
- import { StytchB2BHeadlessClient, StytchB2BUIClient } from '@stytch/vanilla-js/b2b';
3
2
 
4
3
  const noProviderError = (item, provider = 'StytchProvider') => `${item} can only be used inside <${provider}>.`;
5
4
  const noHeadlessClientError = `Tried to create a Stytch Login UI element using the Stytch Headless SDK.
6
5
  You must use the UI SDK to use UI elements.
7
6
  Please make sure you are importing createStytchHeadlessClient from @stytch/nextjs/ui and not from @stytch/nextjs/headless.`;
8
- const cannotInvokeMethodOnServerError = (path) => `[Stytch] Invalid serverside function call to ${path}.
9
- The Stytch Javascript SDK is intended to ony be used on the client side.
10
- Make sure to wrap your API calls in a hook to ensure they are executed on the client.
11
- \`\`\`
12
- const myComponent = () => {
13
- const stytch = useStytch();
14
- // This will error out on the server.
15
- stytch.magicLinks.authenticate(...);
16
- useEffect(() => {
17
- // This will work well
18
- stytch.magicLinks.authenticate(...);
19
- }, []);
20
- }
21
- \`\`\`
22
-
23
- If you want to make API calls from server environments, please use the Stytch Node Library
24
- https://www.npmjs.com/package/stytch.
25
- `;
26
7
 
27
8
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
9
  function invariant(cond, message) {
@@ -52,23 +33,6 @@ const SSRStubKey = Symbol('__stytch_SSRStubKey');
52
33
  const isStytchSSRProxy = (proxy) => {
53
34
  return !!proxy[SSRStubKey];
54
35
  };
55
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
- const createProxy = (path) => {
57
- // eslint-disable-next-line @typescript-eslint/no-empty-function
58
- const noop = () => { };
59
- return new Proxy(noop, {
60
- get(target, p) {
61
- if (p === SSRStubKey) {
62
- return true;
63
- }
64
- return createProxy(path + '.' + String(p));
65
- },
66
- apply() {
67
- throw new Error(cannotInvokeMethodOnServerError(path));
68
- },
69
- });
70
- };
71
- const createStytchSSRProxy = () => createProxy('stytch');
72
36
 
73
37
  const initialMember = {
74
38
  member: null,
@@ -268,45 +232,4 @@ const StytchB2B = ({ styles, callbacks, config }) => {
268
232
  return React.createElement("div", { ref: containerEl });
269
233
  };
270
234
 
271
- /**
272
- * Creates a Headless Stytch client object to call the stytch B2B APIs.
273
- * The Stytch client is not available serverside.
274
- * @example
275
- * const stytch = createStytchB2BHeadlessClient('public-token-<find yours in the stytch dashboard>')
276
- *
277
- * return (
278
- * <StytchB2BProvider stytch={stytch}>
279
- * <App />
280
- * </StytchB2BProvider>
281
- * )
282
- * @returns A {@link StytchHeadlessClient}
283
- */
284
- const createStytchB2BHeadlessClient = (...args) => {
285
- if (typeof window === 'undefined') {
286
- return createStytchSSRProxy();
287
- }
288
- return new StytchB2BHeadlessClient(...args);
289
- };
290
-
291
- /**
292
- * Creates a Stytch UI client object to call the Stytch APIs and render Stytch UI components.
293
- * The Stytch client is not available serverside.
294
- * If you do not use Stytch UI components, use {@link createStytchB2BHeadlessClient} to reduce your bundle size.
295
- * @example
296
- * const stytch = createStytchB2BUIClient('public-token-<find yours in the stytch dashboard>')
297
- *
298
- * return (
299
- * <StytchB2BProvider stytch={stytch}>
300
- * <App />
301
- * </StytchB2BProvider>
302
- * )
303
- * @returns A {@link StytchB2BUIClient}
304
- */
305
- const createStytchB2BUIClient = (...args) => {
306
- if (typeof window === 'undefined') {
307
- return createStytchSSRProxy();
308
- }
309
- return new StytchB2BUIClient(...args);
310
- };
311
-
312
- export { StytchB2B, StytchB2BProvider, createStytchB2BHeadlessClient, createStytchB2BUIClient, useStytchB2BClient, useStytchMember, useStytchMemberSession, withStytchB2BClient, withStytchMember, withStytchMemberSession };
235
+ export { StytchB2B, StytchB2BProvider, useStytchB2BClient, useStytchMember, useStytchMemberSession, withStytchB2BClient, withStytchMember, withStytchMemberSession };
@@ -0,0 +1 @@
1
+ export * from './createStytchB2BHeadlessClient';
@@ -0,0 +1,16 @@
1
+ import { StytchB2BHeadlessClient } from "@stytch/vanilla-js/b2b/headless";
2
+ /**
3
+ * Creates a Headless Stytch client object to call the stytch B2B APIs.
4
+ * The Stytch client is not available serverside.
5
+ * @example
6
+ * const stytch = createStytchB2BHeadlessClient('public-token-<find yours in the stytch dashboard>')
7
+ *
8
+ * return (
9
+ * <StytchB2BProvider stytch={stytch}>
10
+ * <App />
11
+ * </StytchB2BProvider>
12
+ * )
13
+ * @returns A {@link StytchB2BHeadlessClient}
14
+ */
15
+ declare const createStytchB2BHeadlessClient: (_PUBLIC_TOKEN: string, options?: import("core/dist/public").StytchClientOptions | undefined) => StytchB2BHeadlessClient;
16
+ export { createStytchB2BHeadlessClient };