@stytch/nextjs 22.0.0-next.3 → 22.0.0-next.4

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 (71) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/b2b/index.cjs +15 -8
  3. package/dist/cjs/b2b/index.cjs.map +1 -1
  4. package/dist/cjs/index.cjs +45 -56
  5. package/dist/cjs/index.cjs.map +1 -1
  6. package/dist/cjs/{withSsrSafe-CHYee2bI.js → withSsrSafe-BnuHXoz0.js} +9 -3
  7. package/dist/cjs/withSsrSafe-BnuHXoz0.js.map +1 -0
  8. package/dist/cjs-dev/b2b/index.cjs +15 -8
  9. package/dist/cjs-dev/b2b/index.cjs.map +1 -1
  10. package/dist/cjs-dev/index.cjs +45 -56
  11. package/dist/cjs-dev/index.cjs.map +1 -1
  12. package/dist/cjs-dev/{withSsrSafe-B3iKld6K.js → withSsrSafe-BCrdKm8h.js} +9 -3
  13. package/dist/cjs-dev/withSsrSafe-BCrdKm8h.js.map +1 -0
  14. package/dist/esm/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs +6 -3
  15. package/dist/esm/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs.map +1 -1
  16. package/dist/esm/packages/web/src/ui/b2b/components/SSOButton.mjs +5 -3
  17. package/dist/esm/packages/web/src/ui/b2b/components/SSOButton.mjs.map +1 -1
  18. package/dist/esm/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs +6 -3
  19. package/dist/esm/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs.map +1 -1
  20. package/dist/esm/packages/web/src/ui/b2b/types/authMethodKeys.mjs +2 -2
  21. package/dist/esm/packages/web/src/ui/b2b/types/authMethodKeys.mjs.map +1 -1
  22. package/dist/esm/packages/web/src/ui/b2c/components/OAuthButton.mjs +6 -3
  23. package/dist/esm/packages/web/src/ui/b2c/components/OAuthButton.mjs.map +1 -1
  24. package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs +20 -40
  25. package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs.map +1 -1
  26. package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs +7 -5
  27. package/dist/esm/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs.map +1 -1
  28. package/dist/esm/packages/web/src/ui/b2c/screens/Passkey/EditableRow.mjs +5 -5
  29. package/dist/esm/packages/web/src/ui/b2c/screens/Passkey/EditableRow.mjs.map +1 -1
  30. package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs +6 -1
  31. package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
  32. package/dist/esm/packages/web/src/ui/components/atoms/Button.mjs.map +1 -1
  33. package/dist/esm/packages/web/src/ui/components/molecules/EmailInput.mjs +1 -1
  34. package/dist/esm/packages/web/src/ui/components/molecules/EmailInput.mjs.map +1 -1
  35. package/dist/esm/packages/web/src/ui/components/molecules/Input.mjs +1 -1
  36. package/dist/esm/packages/web/src/ui/components/molecules/Input.mjs.map +1 -1
  37. package/dist/esm/packages/web/src/utils/crypto.mjs +11 -7
  38. package/dist/esm/packages/web/src/utils/crypto.mjs.map +1 -1
  39. package/dist/esm-dev/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs +6 -3
  40. package/dist/esm-dev/packages/web/src/ui/b2b/components/OAuthB2BButton.mjs.map +1 -1
  41. package/dist/esm-dev/packages/web/src/ui/b2b/components/SSOButton.mjs +5 -3
  42. package/dist/esm-dev/packages/web/src/ui/b2b/components/SSOButton.mjs.map +1 -1
  43. package/dist/esm-dev/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs +6 -3
  44. package/dist/esm-dev/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs.map +1 -1
  45. package/dist/esm-dev/packages/web/src/ui/b2b/types/authMethodKeys.mjs +2 -2
  46. package/dist/esm-dev/packages/web/src/ui/b2b/types/authMethodKeys.mjs.map +1 -1
  47. package/dist/esm-dev/packages/web/src/ui/b2c/components/OAuthButton.mjs +6 -3
  48. package/dist/esm-dev/packages/web/src/ui/b2c/components/OAuthButton.mjs.map +1 -1
  49. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs +20 -40
  50. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/SetupNewWallet.mjs.map +1 -1
  51. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs +7 -5
  52. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Crypto/WalletButtons.mjs.map +1 -1
  53. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Passkey/EditableRow.mjs +5 -5
  54. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Passkey/EditableRow.mjs.map +1 -1
  55. package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs +6 -1
  56. package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs.map +1 -1
  57. package/dist/esm-dev/packages/web/src/ui/components/atoms/Button.mjs.map +1 -1
  58. package/dist/esm-dev/packages/web/src/ui/components/molecules/EmailInput.mjs +1 -1
  59. package/dist/esm-dev/packages/web/src/ui/components/molecules/EmailInput.mjs.map +1 -1
  60. package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.mjs +1 -1
  61. package/dist/esm-dev/packages/web/src/ui/components/molecules/Input.mjs.map +1 -1
  62. package/dist/esm-dev/packages/web/src/utils/crypto.mjs +11 -7
  63. package/dist/esm-dev/packages/web/src/utils/crypto.mjs.map +1 -1
  64. package/dist/types/{PresentationConfig-Cb0vVpZW.d.ts → PresentationConfig-SJD4Gljs.d.ts} +8 -1
  65. package/dist/types/b2b/index.d.ts +3 -3
  66. package/dist/types/compat.d.ts +1 -1
  67. package/dist/types/index.d.ts +3 -3
  68. package/dist/types/{shadcn-B9Z7OC01.d.ts → shadcn-CX3C4iHS.d.ts} +1 -1
  69. package/package.json +1 -1
  70. package/dist/cjs/withSsrSafe-CHYee2bI.js.map +0 -1
  71. package/dist/cjs-dev/withSsrSafe-B3iKld6K.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @stytch/nextjs
2
2
 
3
+ ## 22.0.0-next.4
4
+
5
+ ### Patch Changes
6
+
7
+ - Beta bug fixes, add buttonId option
8
+
3
9
  ## 22.0.0-next.3
4
10
 
5
11
  ### Patch Changes
@@ -2,7 +2,7 @@
2
2
  'use strict';
3
3
 
4
4
  var b2b_index_headless = require('./index.headless.cjs');
5
- var withSsrSafe = require('../withSsrSafe-CHYee2bI.js');
5
+ var withSsrSafe = require('../withSsrSafe-BnuHXoz0.js');
6
6
  var React = require('react');
7
7
  var passwordManagerDisableAutofillProps = require('../passwordManagerDisableAutofillProps-1cQ-Le25.js');
8
8
  var StytchSSRProxy = require('../StytchSSRProxy-Bz6LNYdq.js');
@@ -2690,7 +2690,9 @@ const OAuthB2BButton = ({ providerType, loginRedirectUrl, signupRedirectUrl, dis
2690
2690
  const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
2691
2691
  const stytchClient = withSsrSafe.useStytch();
2692
2692
  const [state] = withSsrSafe.useGlobalReducer();
2693
- const iconRegistry = withSsrSafe.usePresentation().iconRegistry;
2693
+ const presentation = withSsrSafe.usePresentation();
2694
+ const iconRegistry = presentation.iconRegistry;
2695
+ const id = withSsrSafe.getButtonId(`sso-${providerType}`, presentation.options);
2694
2696
  const provider = providerInfo[providerType];
2695
2697
  let label = providerType;
2696
2698
  let icon = null;
@@ -2722,7 +2724,8 @@ const OAuthB2BButton = ({ providerType, loginRedirectUrl, signupRedirectUrl, dis
2722
2724
  return /*#__PURE__*/ React__namespace.default.createElement(withSsrSafe.Button, {
2723
2725
  onClick: onButtonClick,
2724
2726
  variant: "outline",
2725
- icon: icon
2727
+ icon: icon,
2728
+ id: id
2726
2729
  }, label);
2727
2730
  };
2728
2731
 
@@ -3565,8 +3568,9 @@ const SSOButton = ({ connection, onStart })=>{
3565
3568
  const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
3566
3569
  const stytchClient = withSsrSafe.useStytch();
3567
3570
  const { ssoOptions } = withSsrSafe.useConfig();
3568
- const { iconRegistry } = withSsrSafe.usePresentation();
3571
+ const { iconRegistry, options } = withSsrSafe.usePresentation();
3569
3572
  const { connection_id, display_name, identity_provider } = connection;
3573
+ const id = withSsrSafe.getButtonId(`sso-${display_name}`, options);
3570
3574
  const onButtonClick = ()=>stytchClient.sso.start({
3571
3575
  connection_id,
3572
3576
  signup_redirect_url: ssoOptions?.signupRedirectURL,
@@ -3579,7 +3583,8 @@ const SSOButton = ({ connection, onStart })=>{
3579
3583
  return /*#__PURE__*/ React__namespace.default.createElement(withSsrSafe.Button, {
3580
3584
  variant: "outline",
3581
3585
  onClick: onButtonClick,
3582
- icon: /*#__PURE__*/ React__namespace.default.createElement(Icon, null)
3586
+ icon: /*#__PURE__*/ React__namespace.default.createElement(Icon, null),
3587
+ id: id
3583
3588
  }, $__i18n._({
3584
3589
  id: "provider.continueWith",
3585
3590
  message: "Continue with {display_name}",
@@ -3595,7 +3600,7 @@ const SSOButton = ({ connection, onStart })=>{
3595
3600
  function extractConnectionId(method) {
3596
3601
  return method?.startsWith('sso:') ? method.slice(4) : undefined;
3597
3602
  }
3598
- function getButtonId(button) {
3603
+ function getButtonKey(button) {
3599
3604
  if (button.type === 'oauth') {
3600
3605
  return button.provider.type;
3601
3606
  } else if (button.type === 'sso') {
@@ -4714,6 +4719,7 @@ const SsoAndOAuthButtons = ({ buttons })=>{
4714
4719
  const { i18n: $__i18n, _: $__ } = passwordManagerDisableAutofillProps.useLingui();
4715
4720
  const [state, dispatch] = withSsrSafe.useGlobalReducer();
4716
4721
  const { oauthProviderSettings = [] } = useEffectiveAuthConfig();
4722
+ const presentation = withSsrSafe.usePresentation();
4717
4723
  const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();
4718
4724
  const config = withSsrSafe.useConfig();
4719
4725
  const { loginRedirectURL, signupRedirectURL, discoveryRedirectURL, customScopes, providerParams } = config.oauthOptions ?? {};
@@ -4741,7 +4747,7 @@ const SsoAndOAuthButtons = ({ buttons })=>{
4741
4747
  return null;
4742
4748
  }
4743
4749
  // Reorder providers based on last used
4744
- const [reorderedButtons, foundLastUsedOAuth] = withSsrSafe.arrayUtils.moveToFront(authButtons, (button)=>getButtonId(button) === lastUsedMethod);
4750
+ const [reorderedButtons, foundLastUsedOAuth] = withSsrSafe.arrayUtils.moveToFront(authButtons, (button)=>getButtonKey(button) === lastUsedMethod);
4745
4751
  // Helper function to create OAuth button component
4746
4752
  const createOAuthButton = (oauthProvider)=>{
4747
4753
  const providerProps = {
@@ -4780,6 +4786,7 @@ const SsoAndOAuthButtons = ({ buttons })=>{
4780
4786
  return /*#__PURE__*/ React__namespace.default.createElement(withSsrSafe.Button, {
4781
4787
  key: "sso-discovery",
4782
4788
  variant: "outline",
4789
+ id: withSsrSafe.getButtonId('sso-discovery', presentation.options),
4783
4790
  onClick: ()=>{
4784
4791
  dispatch({
4785
4792
  type: 'transition',
@@ -4796,7 +4803,7 @@ const SsoAndOAuthButtons = ({ buttons })=>{
4796
4803
  }
4797
4804
  })();
4798
4805
  return foundLastUsedOAuth && index === 0 ? /*#__PURE__*/ React__namespace.default.createElement(withSsrSafe.LastUsed, {
4799
- key: getButtonId(button)
4806
+ key: getButtonKey(button)
4800
4807
  }, buttonComponent) : buttonComponent;
4801
4808
  }));
4802
4809
  };