@stytch/vanilla-js 6.0.5 → 6.0.6

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 (159) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/b2b/index.cjs +8 -8
  3. package/dist/cjs/b2b/index.cjs.map +1 -1
  4. package/dist/cjs-dev/b2b/index.cjs +8 -8
  5. package/dist/cjs-dev/b2b/index.cjs.map +1 -1
  6. package/dist/esm/_virtual/index3.mjs +5 -3
  7. package/dist/esm/_virtual/index3.mjs.map +1 -1
  8. package/dist/esm/_virtual/index4.mjs +3 -5
  9. package/dist/esm/_virtual/index4.mjs.map +1 -1
  10. package/dist/esm/node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.mjs +1 -1
  11. package/dist/esm/node_modules/@mui/material/Autocomplete/Autocomplete.mjs +1 -1
  12. package/dist/esm/node_modules/@mui/material/Button/Button.mjs +1 -1
  13. package/dist/esm/node_modules/@mui/material/Chip/Chip.mjs +1 -1
  14. package/dist/esm/node_modules/@mui/material/MenuItem/MenuItem.mjs +1 -1
  15. package/dist/esm/node_modules/@mui/material/TableCell/TableCell.mjs +1 -1
  16. package/dist/esm/node_modules/@mui/material/TableRow/TableRow.mjs +1 -1
  17. package/dist/esm/node_modules/@mui/material/Tooltip/Tooltip.mjs +1 -1
  18. package/dist/esm/node_modules/@mui/material/styles/createThemeWithVars.mjs +1 -1
  19. package/dist/esm/node_modules/@mui/system/esm/borders/borders.mjs +1 -1
  20. package/dist/esm/node_modules/@mui/system/esm/cssGrid/cssGrid.mjs +2 -2
  21. package/dist/esm/node_modules/@mui/system/esm/sizing/sizing.mjs +1 -1
  22. package/dist/esm/node_modules/@mui/system/esm/spacing/spacing.mjs +1 -1
  23. package/dist/esm/packages/core/src/HeadlessClients/HeadlessOAuthClient.mjs +1 -1
  24. package/dist/esm/packages/web/src/adminPortal/AdminPortalWrapper.mjs +1 -1
  25. package/dist/esm/packages/web/src/adminPortal/components/ActionMenu.mjs +1 -1
  26. package/dist/esm/packages/web/src/adminPortal/components/Autocomplete.mjs +1 -1
  27. package/dist/esm/packages/web/src/adminPortal/components/DeleteConnection.mjs +1 -1
  28. package/dist/esm/packages/web/src/adminPortal/components/IconButtonMenu.mjs +1 -1
  29. package/dist/esm/packages/web/src/adminPortal/components/SettingsContainer.mjs +1 -1
  30. package/dist/esm/packages/web/src/adminPortal/memberManagement/AccessSection.mjs +1 -1
  31. package/dist/esm/packages/web/src/adminPortal/memberManagement/InviteModal.mjs +1 -1
  32. package/dist/esm/packages/web/src/adminPortal/memberManagement/useMemberActivation.mjs +1 -1
  33. package/dist/esm/packages/web/src/adminPortal/scim/SCIMConnectionTokenRotationSection.mjs +1 -1
  34. package/dist/esm/packages/web/src/adminPortal/scim/SCIMNewConnectionConfigureScreen.mjs +1 -1
  35. package/dist/esm/packages/web/src/adminPortal/settings/OrgSettingsRoleAssignmentsSection.mjs +1 -1
  36. package/dist/esm/packages/web/src/adminPortal/settings/OrgSettingsUserOnboardingSection.mjs +1 -1
  37. package/dist/esm/packages/web/src/adminPortal/shared/components/EmbeddedTable.mjs +1 -1
  38. package/dist/esm/packages/web/src/adminPortal/shared/components/Input.mjs +1 -1
  39. package/dist/esm/packages/web/src/adminPortal/shared/components/PaginatedTable.mjs +1 -1
  40. package/dist/esm/packages/web/src/adminPortal/shared/components/Table.mjs +1 -1
  41. package/dist/esm/packages/web/src/adminPortal/shared/components/Toast.mjs +1 -1
  42. package/dist/esm/packages/web/src/adminPortal/shared/components/Tooltip.mjs +1 -1
  43. package/dist/esm/packages/web/src/adminPortal/sso/AttributeMappingTable.mjs +1 -1
  44. package/dist/esm/packages/web/src/adminPortal/sso/DetailsSection.mjs +1 -1
  45. package/dist/esm/packages/web/src/adminPortal/sso/RoleAssignmentsSection.mjs +1 -1
  46. package/dist/esm/packages/web/src/adminPortal/sso/SSOConnectionDetailsScreen.mjs +1 -1
  47. package/dist/esm/packages/web/src/adminPortal/sso/SSOConnectionsScreen.mjs +1 -1
  48. package/dist/esm/packages/web/src/adminPortal/sso/SSONewConnectionConfigureScreen.mjs +1 -1
  49. package/dist/esm/packages/web/src/adminPortal/sso/SSONewConnectionScreen.mjs +1 -1
  50. package/dist/esm/packages/web/src/adminPortal/utils/theme.mjs +1 -1
  51. package/dist/esm/packages/web/src/b2b/StytchB2BClient.mjs +3 -3
  52. package/dist/esm/packages/web/src/oneTap/OneTapProvider.mjs +1 -1
  53. package/dist/esm/packages/web/src/ui/b2b/InternalAppContainer.mjs +1 -1
  54. package/dist/esm/packages/web/src/ui/b2b/components/B2BOneTap.mjs +1 -1
  55. package/dist/esm/packages/web/src/ui/b2b/screens/MFAEnrollmentSelectionScreen.mjs +1 -1
  56. package/dist/esm/packages/web/src/ui/b2b/screens/PasswordResetForm.mjs +4 -4
  57. package/dist/esm/packages/web/src/ui/b2b/screens/PasswordResetForm.mjs.map +1 -1
  58. package/dist/esm/packages/web/src/ui/b2b/screens/SSODiscoveryMenu.mjs +1 -1
  59. package/dist/esm/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs +1 -1
  60. package/dist/esm/packages/web/src/ui/b2b/usePasswordInput.mjs +4 -4
  61. package/dist/esm/packages/web/src/ui/b2b/usePasswordInput.mjs.map +1 -1
  62. package/dist/esm/packages/web/src/ui/b2c/GlobalContextProvider.mjs +1 -1
  63. package/dist/esm/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +1 -1
  64. package/dist/esm/packages/web/src/ui/b2c/screens/IdentityProvider/IDPConsent.mjs +1 -1
  65. package/dist/esm/packages/web/src/ui/b2c/screens/Main/LoginForm/MagicLinkForm.mjs +1 -1
  66. package/dist/esm/packages/web/src/ui/b2c/screens/Main/LoginForm/OTPForm.mjs +1 -1
  67. package/dist/esm/packages/web/src/ui/b2c/screens/Passkey/PasskeyConfirmation.mjs +1 -1
  68. package/dist/esm/packages/web/src/ui/b2c/screens/Passkey/PasskeyRegistrationSuccess.mjs +1 -1
  69. package/dist/esm/packages/web/src/ui/b2c/screens/Password/PasswordConfirmation.mjs +1 -1
  70. package/dist/esm/packages/web/src/ui/b2c/screens/Secondary/OTPConfirmation.mjs +1 -1
  71. package/dist/esm/packages/web/src/ui/components/PresentationConfig.mjs +1 -1
  72. package/dist/esm/packages/web/src/ui/hooks/usePromptPasskey.mjs +1 -1
  73. package/dist/esm/packages/web/src/utils/crypto.mjs +1 -1
  74. package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.mjs +1 -1
  75. package/dist/esm-dev/node_modules/@mui/material/Autocomplete/Autocomplete.mjs +1 -1
  76. package/dist/esm-dev/node_modules/@mui/material/Button/Button.mjs +1 -1
  77. package/dist/esm-dev/node_modules/@mui/material/Checkbox/Checkbox.mjs +1 -1
  78. package/dist/esm-dev/node_modules/@mui/material/Chip/Chip.mjs +1 -1
  79. package/dist/esm-dev/node_modules/@mui/material/IconButton/IconButton.mjs +1 -1
  80. package/dist/esm-dev/node_modules/@mui/material/MenuItem/MenuItem.mjs +1 -1
  81. package/dist/esm-dev/node_modules/@mui/material/Radio/Radio.mjs +1 -1
  82. package/dist/esm-dev/node_modules/@mui/material/Switch/Switch.mjs +1 -1
  83. package/dist/esm-dev/node_modules/@mui/material/TableCell/TableCell.mjs +1 -1
  84. package/dist/esm-dev/node_modules/@mui/material/TableRow/TableRow.mjs +1 -1
  85. package/dist/esm-dev/node_modules/@mui/material/Tooltip/Tooltip.mjs +1 -1
  86. package/dist/esm-dev/node_modules/@mui/material/styles/createThemeWithVars.mjs +1 -1
  87. package/dist/esm-dev/node_modules/@mui/system/esm/borders/borders.mjs +1 -1
  88. package/dist/esm-dev/node_modules/@mui/system/esm/createStyled/createStyled.mjs +1 -1
  89. package/dist/esm-dev/node_modules/@mui/system/esm/cssGrid/cssGrid.mjs +2 -2
  90. package/dist/esm-dev/node_modules/@mui/system/esm/sizing/sizing.mjs +1 -1
  91. package/dist/esm-dev/node_modules/@mui/system/esm/spacing/spacing.mjs +1 -1
  92. package/dist/esm-dev/packages/core/src/HeadlessClients/HeadlessOAuthClient.mjs +1 -1
  93. package/dist/esm-dev/packages/web/src/adminPortal/AdminPortalWrapper.mjs +1 -1
  94. package/dist/esm-dev/packages/web/src/adminPortal/components/ActionMenu.mjs +1 -1
  95. package/dist/esm-dev/packages/web/src/adminPortal/components/Autocomplete.mjs +1 -1
  96. package/dist/esm-dev/packages/web/src/adminPortal/components/DeleteConnection.mjs +1 -1
  97. package/dist/esm-dev/packages/web/src/adminPortal/components/IconButtonMenu.mjs +1 -1
  98. package/dist/esm-dev/packages/web/src/adminPortal/components/SettingsContainer.mjs +1 -1
  99. package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/AccessSection.mjs +1 -1
  100. package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/InviteModal.mjs +1 -1
  101. package/dist/esm-dev/packages/web/src/adminPortal/memberManagement/useMemberActivation.mjs +1 -1
  102. package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMConnectionTokenRotationSection.mjs +1 -1
  103. package/dist/esm-dev/packages/web/src/adminPortal/scim/SCIMNewConnectionConfigureScreen.mjs +1 -1
  104. package/dist/esm-dev/packages/web/src/adminPortal/settings/OrgSettingsRoleAssignmentsSection.mjs +1 -1
  105. package/dist/esm-dev/packages/web/src/adminPortal/settings/OrgSettingsUserOnboardingSection.mjs +1 -1
  106. package/dist/esm-dev/packages/web/src/adminPortal/shared/components/EmbeddedTable.mjs +1 -1
  107. package/dist/esm-dev/packages/web/src/adminPortal/shared/components/Input.mjs +1 -1
  108. package/dist/esm-dev/packages/web/src/adminPortal/shared/components/PaginatedTable.mjs +1 -1
  109. package/dist/esm-dev/packages/web/src/adminPortal/shared/components/Table.mjs +1 -1
  110. package/dist/esm-dev/packages/web/src/adminPortal/shared/components/Toast.mjs +1 -1
  111. package/dist/esm-dev/packages/web/src/adminPortal/shared/components/Tooltip.mjs +1 -1
  112. package/dist/esm-dev/packages/web/src/adminPortal/sso/AttributeMappingTable.mjs +1 -1
  113. package/dist/esm-dev/packages/web/src/adminPortal/sso/DetailsSection.mjs +1 -1
  114. package/dist/esm-dev/packages/web/src/adminPortal/sso/RoleAssignmentsSection.mjs +1 -1
  115. package/dist/esm-dev/packages/web/src/adminPortal/sso/SSOConnectionDetailsScreen.mjs +1 -1
  116. package/dist/esm-dev/packages/web/src/adminPortal/sso/SSOConnectionsScreen.mjs +1 -1
  117. package/dist/esm-dev/packages/web/src/adminPortal/sso/SSONewConnectionConfigureScreen.mjs +1 -1
  118. package/dist/esm-dev/packages/web/src/adminPortal/sso/SSONewConnectionScreen.mjs +1 -1
  119. package/dist/esm-dev/packages/web/src/b2b/StytchB2BClient.mjs +3 -3
  120. package/dist/esm-dev/packages/web/src/oneTap/OneTapProvider.mjs +1 -1
  121. package/dist/esm-dev/packages/web/src/ui/b2b/App.mjs +1 -1
  122. package/dist/esm-dev/packages/web/src/ui/b2b/InternalAppContainer.mjs +1 -1
  123. package/dist/esm-dev/packages/web/src/ui/b2b/components/B2BOneTap.mjs +2 -2
  124. package/dist/esm-dev/packages/web/src/ui/b2b/screens/MFAEnrollmentSelectionScreen.mjs +1 -1
  125. package/dist/esm-dev/packages/web/src/ui/b2b/screens/PasswordResetForm.mjs +4 -4
  126. package/dist/esm-dev/packages/web/src/ui/b2b/screens/PasswordResetForm.mjs.map +1 -1
  127. package/dist/esm-dev/packages/web/src/ui/b2b/screens/SSODiscoveryMenu.mjs +1 -1
  128. package/dist/esm-dev/packages/web/src/ui/b2b/screens/SsoAndOAuthButtons.mjs +1 -1
  129. package/dist/esm-dev/packages/web/src/ui/b2b/usePasswordInput.mjs +4 -4
  130. package/dist/esm-dev/packages/web/src/ui/b2b/usePasswordInput.mjs.map +1 -1
  131. package/dist/esm-dev/packages/web/src/ui/b2c/AppContainer.mjs +1 -1
  132. package/dist/esm-dev/packages/web/src/ui/b2c/GlobalContextProvider.mjs +1 -1
  133. package/dist/esm-dev/packages/web/src/ui/b2c/IDPContainer.mjs +1 -1
  134. package/dist/esm-dev/packages/web/src/ui/b2c/PasskeyRegistrationContainer.mjs +1 -1
  135. package/dist/esm-dev/packages/web/src/ui/b2c/ResetPasswordContainer.mjs +1 -1
  136. package/dist/esm-dev/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +2 -2
  137. package/dist/esm-dev/packages/web/src/ui/b2c/screens/IdentityProvider/IDPConsent.mjs +1 -1
  138. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/LoginForm/MagicLinkForm.mjs +1 -1
  139. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/LoginForm/OTPForm.mjs +1 -1
  140. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/LoginForm/index.mjs +1 -1
  141. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Main/index.mjs +1 -1
  142. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Passkey/PasskeyConfirmation.mjs +1 -1
  143. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Passkey/PasskeyRegistrationSuccess.mjs +1 -1
  144. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Password/PasswordConfirmation.mjs +1 -1
  145. package/dist/esm-dev/packages/web/src/ui/b2c/screens/Secondary/OTPConfirmation.mjs +1 -1
  146. package/dist/esm-dev/packages/web/src/ui/components/PresentationConfig.mjs +1 -1
  147. package/dist/esm-dev/packages/web/src/ui/hooks/usePromptPasskey.mjs +1 -1
  148. package/dist/iife/b2b/index.js +1 -1
  149. package/dist/iife/b2b/index.js.map +1 -1
  150. package/dist/types/{GoogleOneTapClient-wRV3UqOo.d.ts → GoogleOneTapClient-iv3nb_kU.d.ts} +29 -2
  151. package/dist/types/{StytchB2BClient-BxoZQ3m8.d.ts → StytchB2BClient-C-2u87oo.d.ts} +1 -1
  152. package/dist/types/{StytchClient-CMzVKb4K.d.ts → StytchClient-CCLs7DV6.d.ts} +1 -1
  153. package/dist/types/adminPortal/index.d.ts +3 -3
  154. package/dist/types/b2b/index.d.ts +5 -5
  155. package/dist/types/b2b/index.headless.d.ts +2 -2
  156. package/dist/types/index.d.ts +5 -5
  157. package/dist/types/index.headless.d.ts +2 -2
  158. package/dist/types/{themes-sEz9GUNs.d.ts → themes-MdCoynbd.d.ts} +3 -3
  159. package/package.json +1 -1
@@ -13,9 +13,9 @@ import autocompleteClasses from '../../../../../node_modules/@mui/material/Autoc
13
13
  import outlinedInputClasses from '../../../../../node_modules/@mui/material/OutlinedInput/outlinedInputClasses.mjs';
14
14
  import inputBaseClasses from '../../../../../node_modules/@mui/material/InputBase/inputBaseClasses.mjs';
15
15
  import IconButton from '../../../../../node_modules/@mui/material/IconButton/IconButton.mjs';
16
+ import { useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
16
17
  import Typography from '../../../../../node_modules/@mui/material/Typography/Typography.mjs';
17
18
  import TextField from '../../../../../node_modules/@mui/material/TextField/TextField.mjs';
18
- import { useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
19
19
 
20
20
  const StyledAutocomplete = styled(Autocomplete$1)(({ theme })=>({
21
21
  [`& .${inputBaseClasses.root}`]: {
@@ -2,8 +2,8 @@ import wn from '../../../../../node_modules/preact/compat/dist/compat.module.mjs
2
2
  import { Modal } from './Modal.mjs';
3
3
  import { Typography } from './Typography.mjs';
4
4
  import { useDeleteSsoConnection } from '../utils/useMutateSsoConnection.mjs';
5
- import { useModalState } from '../shared/components/Modal.mjs';
6
5
  import { useState as h, useCallback as T } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
6
+ import { useModalState } from '../shared/components/Modal.mjs';
7
7
 
8
8
  const DeleteConfirmModal = ({ connectionName, connectionType, ...modalProps })=>{
9
9
  return /*#__PURE__*/ wn.createElement(Modal, {
@@ -5,8 +5,8 @@ import { Typography } from './Typography.mjs';
5
5
  import styled from '../../../../../node_modules/@mui/material/styles/styled.mjs';
6
6
  import MenuItem from '../../../../../node_modules/@mui/material/MenuItem/MenuItem.mjs';
7
7
  import IconButton from '../../../../../node_modules/@mui/material/IconButton/IconButton.mjs';
8
- import Menu from '../../../../../node_modules/@mui/material/Menu/Menu.mjs';
9
8
  import { useState as h, useCallback as T, useMemo as F } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
9
+ import Menu from '../../../../../node_modules/@mui/material/Menu/Menu.mjs';
10
10
 
11
11
  const StyledMenuItem$1 = styled(MenuItem)(({ theme })=>({
12
12
  padding: theme.spacing(1),
@@ -7,9 +7,9 @@ import { Modal } from './Modal.mjs';
7
7
  import { useToast } from '../shared/components/Toast.mjs';
8
8
  import { Typography } from './Typography.mjs';
9
9
  import styled from '../../../../../node_modules/@mui/material/styles/styled.mjs';
10
+ import { useState as h, useContext as q } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
10
11
  import { useModalState } from '../shared/components/Modal.mjs';
11
12
  import { createContext as F } from '../../../../../node_modules/preact/dist/preact.module.mjs';
12
- import { useState as h, useContext as q } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
13
13
 
14
14
  const Container$2 = styled('div')(({ theme })=>({
15
15
  border: '1px solid',
@@ -19,8 +19,8 @@ import { useRoleSortFn } from '../utils/useRoleSortFn.mjs';
19
19
  import { useSelf } from '../utils/useSelf.mjs';
20
20
  import { useStateSliceSetter } from '../utils/useStateSliceSetter.mjs';
21
21
  import { useMemberManagementRouterController } from './MemberManagementRouter.mjs';
22
- import { useModalState } from '../shared/components/Modal.mjs';
23
22
  import { useMemo as F, useRef as _, useCallback as T, useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
23
+ import { useModalState } from '../shared/components/Modal.mjs';
24
24
 
25
25
  const getRoleSourceTypeDisplayName = (sourceType)=>{
26
26
  switch(sourceType){
@@ -6,8 +6,8 @@ import { Modal } from '../components/Modal.mjs';
6
6
  import { ROLE_ID_STYTCH_MEMBER } from '../utils/roles.mjs';
7
7
  import { useRbac } from '../utils/useRbac.mjs';
8
8
  import { useRoleAutocomplete } from '../utils/useRoleAutocomplete.mjs';
9
- import { useModalState } from '../shared/components/Modal.mjs';
10
9
  import { useState as h, useCallback as T } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
10
+ import { useModalState } from '../shared/components/Modal.mjs';
11
11
 
12
12
  const defaultInviteRoles = [];
13
13
  const useInviteModal = (inviteUser)=>{
@@ -7,8 +7,8 @@ import { memberGetKey } from '../utils/memberGetKey.mjs';
7
7
  import { useMutateWithToast } from '../utils/useMutateWithToast.mjs';
8
8
  import { useStytchClient } from '../utils/useStytchClient.mjs';
9
9
  import { useUpdateCachedMember } from '../utils/useUpdateCachedMember.mjs';
10
- import { useModalState } from '../shared/components/Modal.mjs';
11
10
  import { useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
11
+ import { useModalState } from '../shared/components/Modal.mjs';
12
12
 
13
13
  const getActionCopy = ({ status, isEmailVerified })=>{
14
14
  if (status === 'invited') {
@@ -16,8 +16,8 @@ import { useRbac } from '../utils/useRbac.mjs';
16
16
  import { scimGetConnectionKey } from '../utils/useScimConnection.mjs';
17
17
  import { useStytchClient } from '../utils/useStytchClient.mjs';
18
18
  import { getFieldBy, DEFAULT_HEADER_BEARER_TOKEN_LABEL } from './scimInfo.mjs';
19
- import { useModalState } from '../shared/components/Modal.mjs';
20
19
  import { useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
20
+ import { useModalState } from '../shared/components/Modal.mjs';
21
21
 
22
22
  const tokenRotationItemRenderers = ({ isCurrent, tokenTitle, tokenLastFour, tokenExpiresAt })=>[
23
23
  {
@@ -7,9 +7,9 @@ import { SCIMFields } from '../components/ScimFields.mjs';
7
7
  import { Typography } from '../components/Typography.mjs';
8
8
  import { getSCIMIdpInfo } from './scimInfo.mjs';
9
9
  import { useScimRouterController } from './SCIMRouter.mjs';
10
+ import { useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
10
11
  import Accordion from '../../../../../node_modules/@mui/material/Accordion/Accordion.mjs';
11
12
  import AccordionDetails from '../../../../../node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs';
12
- import { useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
13
13
 
14
14
  const SCIMNewConnectionConfigureScreen = ({ connection })=>{
15
15
  const { navigate } = useScimRouterController();
@@ -29,10 +29,10 @@ import { useScimConnection } from '../utils/useScimConnection.mjs';
29
29
  import { useScimConnectionGroups } from '../utils/useScimConnectionGroups.mjs';
30
30
  import { useSsoConnections } from '../utils/useSsoConnections.mjs';
31
31
  import { useOrgSettingsRouterController } from './AdminPortalOrgRouter.mjs';
32
+ import { useMemo as F, useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
32
33
  import { useModalState } from '../shared/components/Modal.mjs';
33
34
  import TableContainer from '../../../../../node_modules/@mui/material/TableContainer/TableContainer.mjs';
34
35
  import Paper from '../../../../../node_modules/@mui/material/Paper/Paper.mjs';
35
- import { useMemo as F, useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
36
36
 
37
37
  const roleAssignmentsItemRenderers = (idMap, rolesById)=>[
38
38
  {
@@ -27,8 +27,8 @@ import { useRbac } from '../utils/useRbac.mjs';
27
27
  import { useSelf } from '../utils/useSelf.mjs';
28
28
  import { useStateSliceSetter } from '../utils/useStateSliceSetter.mjs';
29
29
  import { useOrgSettingsRouterController } from './AdminPortalOrgRouter.mjs';
30
- import { useModalState } from '../shared/components/Modal.mjs';
31
30
  import { useMemo as F, useCallback as T, useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
31
+ import { useModalState } from '../shared/components/Modal.mjs';
32
32
 
33
33
  const useMutateAuthSettings = ()=>{
34
34
  const { mutate } = useMutateOrganization();
@@ -4,11 +4,11 @@ import { TABLE_ACTIONS_HEADER, TableActionsContainer } from './TableActions.mjs'
4
4
  import styled from '../../../../../../node_modules/@mui/material/styles/styled.mjs';
5
5
  import Table from '../../../../../../node_modules/@mui/material/Table/Table.mjs';
6
6
  import TableCell from '../../../../../../node_modules/@mui/material/TableCell/TableCell.mjs';
7
+ import { useCallback as T, useState as h, useEffect as p } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
7
8
  import TableContainer from '../../../../../../node_modules/@mui/material/TableContainer/TableContainer.mjs';
8
9
  import TableHead from '../../../../../../node_modules/@mui/material/TableHead/TableHead.mjs';
9
10
  import TableRow from '../../../../../../node_modules/@mui/material/TableRow/TableRow.mjs';
10
11
  import TableBody from '../../../../../../node_modules/@mui/material/TableBody/TableBody.mjs';
11
- import { useCallback as T, useState as h, useEffect as p } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
12
12
 
13
13
  const StyledTable$1 = styled(Table)(({ hasActions })=>[
14
14
  // For some reason with position sticky, the table is 2px wider than the container
@@ -2,8 +2,8 @@ import wn from '../../../../../../node_modules/preact/compat/dist/compat.module.
2
2
  import { useUniqueId } from '../../../utils/uniqueId.mjs';
3
3
  import { DEFAULT_GRID_COLUMN_WIDTH, DEFAULT_MAX_ITEM_WIDTH } from './constants.mjs';
4
4
  import styled from '../../../../../../node_modules/@mui/material/styles/styled.mjs';
5
- import OutlinedInput from '../../../../../../node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs';
6
5
  import { useState as h, useEffect as p } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
6
+ import OutlinedInput from '../../../../../../node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs';
7
7
 
8
8
  const InputContainer = styled('div')(({ isMultiline, isReadOnly, fullWidth, theme })=>[
9
9
  {
@@ -4,9 +4,9 @@ import { useToast } from './Toast.mjs';
4
4
  import styled from '../../../../../../node_modules/@mui/material/styles/styled.mjs';
5
5
  import tablePaginationClasses from '../../../../../../node_modules/@mui/material/TablePagination/tablePaginationClasses.mjs';
6
6
  import iconButtonClasses from '../../../../../../node_modules/@mui/material/IconButton/iconButtonClasses.mjs';
7
+ import { useRef as _ } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
7
8
  import CircularProgress from '../../../../../../node_modules/@mui/material/CircularProgress/CircularProgress.mjs';
8
9
  import TablePagination from '../../../../../../node_modules/@mui/material/TablePagination/TablePagination.mjs';
9
- import { useRef as _ } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
10
10
 
11
11
  const DEFAULT_TABLE_ROWS_PER_PAGE = 20;
12
12
  const LOAD_NEXT_PAGE_ERROR = 'Failed to load the next page.';
@@ -8,12 +8,12 @@ import styled from '../../../../../../node_modules/@mui/material/styles/styled.m
8
8
  import Table from '../../../../../../node_modules/@mui/material/Table/Table.mjs';
9
9
  import TableRow$1 from '../../../../../../node_modules/@mui/material/TableRow/TableRow.mjs';
10
10
  import TableCell$1 from '../../../../../../node_modules/@mui/material/TableCell/TableCell.mjs';
11
+ import { useState as h, useEffect as p } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
11
12
  import TableContainer from '../../../../../../node_modules/@mui/material/TableContainer/TableContainer.mjs';
12
13
  import TableHead from '../../../../../../node_modules/@mui/material/TableHead/TableHead.mjs';
13
14
  import TableBody from '../../../../../../node_modules/@mui/material/TableBody/TableBody.mjs';
14
15
  import IconButton from '../../../../../../node_modules/@mui/material/IconButton/IconButton.mjs';
15
16
  import Collapse from '../../../../../../node_modules/@mui/material/Collapse/Collapse.mjs';
16
- import { useState as h, useEffect as p } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
17
17
 
18
18
  const TABLE_CONTAINER_ID = 'table-container';
19
19
  const EXPANDED_CONTENT_CLASSNAME = 'expanded-content';
@@ -9,8 +9,8 @@ import Snackbar from '../../../../../../node_modules/@mui/material/Snackbar/Snac
9
9
  import IconButton from '../../../../../../node_modules/@mui/material/IconButton/IconButton.mjs';
10
10
  import Alert from '../../../../../../node_modules/@mui/material/Alert/Alert.mjs';
11
11
  import alertClasses from '../../../../../../node_modules/@mui/material/Alert/alertClasses.mjs';
12
- import { createContext as F } from '../../../../../../node_modules/preact/dist/preact.module.mjs';
13
12
  import { useState as h, useRef as _, useCallback as T, useContext as q } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
13
+ import { createContext as F } from '../../../../../../node_modules/preact/dist/preact.module.mjs';
14
14
 
15
15
  const StyledSnackbar = styled(Snackbar)(({ theme })=>({
16
16
  bottom: theme.spacing(5)
@@ -1,7 +1,7 @@
1
1
  import wn from '../../../../../../node_modules/preact/compat/dist/compat.module.mjs';
2
2
  import styled from '../../../../../../node_modules/@mui/material/styles/styled.mjs';
3
- import Tooltip from '../../../../../../node_modules/@mui/material/Tooltip/Tooltip.mjs';
4
3
  import { useState as h } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
4
+ import Tooltip from '../../../../../../node_modules/@mui/material/Tooltip/Tooltip.mjs';
5
5
 
6
6
  const HoverTarget = styled('span')({
7
7
  display: 'flex',
@@ -7,9 +7,9 @@ import { Modal } from '../components/Modal.mjs';
7
7
  import { Select } from '../components/Select.mjs';
8
8
  import { Typography } from '../components/Typography.mjs';
9
9
  import { collator } from '../utils/collator.mjs';
10
+ import { useMemo as F, useState as h, useCallback as T } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
10
11
  import { useModalState } from '../shared/components/Modal.mjs';
11
12
  import Add from '../../../../../node_modules/@mui/icons-material/esm/Add.mjs';
12
- import { useMemo as F, useState as h, useCallback as T } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
13
13
 
14
14
  const nameKeys = new Set([
15
15
  'full_name',
@@ -20,9 +20,9 @@ import { AttributeMappingTable } from './AttributeMappingTable.mjs';
20
20
  import { getIdpAndConnectionInfo } from './IdpInfo.mjs';
21
21
  import { samlIdpSelectItems, oidcIdpSelectItems } from './IdpSelect.mjs';
22
22
  import { useSsoRouterController } from './SSORouter.mjs';
23
- import { useModalState } from '../shared/components/Modal.mjs';
24
23
  import { useMemo as F, useCallback as T, useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
25
24
  import { StytchSDKAPIError } from '../../../../core/src/public/SDKErrors.mjs';
25
+ import { useModalState } from '../shared/components/Modal.mjs';
26
26
 
27
27
  const certItemRenderer = [
28
28
  {
@@ -16,8 +16,8 @@ import { useRbac } from '../utils/useRbac.mjs';
16
16
  import { useRoleAutocomplete } from '../utils/useRoleAutocomplete.mjs';
17
17
  import { getIdpInfo } from './IdpInfo.mjs';
18
18
  import { useSsoRouterController } from './SSORouter.mjs';
19
- import Add from '../../../../../node_modules/@mui/icons-material/esm/Add.mjs';
20
19
  import { useMemo as F, useCallback as T } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
20
+ import Add from '../../../../../node_modules/@mui/icons-material/esm/Add.mjs';
21
21
 
22
22
  const RoleAssignmentsSectionBody = ({ connection, localState, setLocalState, remoteState })=>{
23
23
  const { editing } = useSettingsContainer();
@@ -14,8 +14,8 @@ import { DetailsSection } from './DetailsSection.mjs';
14
14
  import { OrganizationUpdatesSection } from './OrganizationUpdatesSection.mjs';
15
15
  import { RoleAssignmentsSection } from './RoleAssignmentsSection.mjs';
16
16
  import { useSsoRouterController } from './SSORouter.mjs';
17
- import ChevronLeft from '../../../../../node_modules/@mui/icons-material/esm/ChevronLeft.mjs';
18
17
  import { useMemo as F, useCallback as T } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
18
+ import ChevronLeft from '../../../../../node_modules/@mui/icons-material/esm/ChevronLeft.mjs';
19
19
 
20
20
  const SSOConnectionDetailsScreen = ({ connectionId })=>{
21
21
  const { navigate } = useSsoRouterController();
@@ -17,12 +17,12 @@ import { useDisplayPagination } from '../utils/useDisplayPagination.mjs';
17
17
  import { useRbac } from '../utils/useRbac.mjs';
18
18
  import { getIdpInfo } from './IdpInfo.mjs';
19
19
  import { useSsoRouterController } from './SSORouter.mjs';
20
+ import { useMemo as F, useCallback as T, useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
20
21
  import VisibilityOutlined from '../../../../../node_modules/@mui/icons-material/esm/VisibilityOutlined.mjs';
21
22
  import EditOutlined from '../../../../../node_modules/@mui/icons-material/esm/EditOutlined.mjs';
22
23
  import Tune from '../../../../../node_modules/@mui/icons-material/esm/Tune.mjs';
23
24
  import DeleteOutlined from '../../../../../node_modules/@mui/icons-material/esm/DeleteOutlined.mjs';
24
25
  import Add from '../../../../../node_modules/@mui/icons-material/esm/Add.mjs';
25
- import { useMemo as F, useCallback as T, useState as h } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
26
26
 
27
27
  const itemRenderer = [
28
28
  {
@@ -18,10 +18,10 @@ import { CreateApplication } from './CreateApplication.mjs';
18
18
  import { DetailedAttributeMappingTable } from './DetailedAttributeMappingTable.mjs';
19
19
  import { getIdpAndConnectionInfo, typeToUserFriendlyName } from './IdpInfo.mjs';
20
20
  import { useSsoRouterController } from './SSORouter.mjs';
21
+ import { useState as h, useMemo as F, useCallback as T } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
21
22
  import Accordion from '../../../../../node_modules/@mui/material/Accordion/Accordion.mjs';
22
23
  import AccordionDetails from '../../../../../node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs';
23
24
  import ChevronLeft from '../../../../../node_modules/@mui/icons-material/esm/ChevronLeft.mjs';
24
- import { useState as h, useMemo as F, useCallback as T } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
25
25
 
26
26
  const useManualConfigurationState = ({ idp, type })=>{
27
27
  const [manualConfigurationState, setManualConfigurationState] = h(false);
@@ -12,8 +12,8 @@ import { useRevalidateConnectionList } from '../utils/useRevalidateConnectionLis
12
12
  import { useStytchClient } from '../utils/useStytchClient.mjs';
13
13
  import { idpOptions, idpSelectItems } from './IdpSelect.mjs';
14
14
  import { useSsoRouterController } from './SSORouter.mjs';
15
- import ChevronLeft from '../../../../../node_modules/@mui/icons-material/esm/ChevronLeft.mjs';
16
15
  import { useState as h, useCallback as T } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
16
+ import ChevronLeft from '../../../../../node_modules/@mui/icons-material/esm/ChevronLeft.mjs';
17
17
 
18
18
  const SSONewConnectionScreen = ()=>{
19
19
  const { navigate } = useSsoRouterController();
@@ -10,6 +10,8 @@ import { writeB2BInternals } from '../utils/internal.mjs';
10
10
  import { HeadlessB2BOAuthClient } from './HeadlessB2BOAuthClient.mjs';
11
11
  import { B2BOneTapProvider } from './oneTap/B2BOneTapProvider.mjs';
12
12
  import { checkB2BNotSSR, checkPublicToken } from '../../../core/src/utils/checks.mjs';
13
+ import { StateChangeClient } from '../../../core/src/StateChangeClient.mjs';
14
+ import { DFPProtectedAuthProvider } from '../../../core/src/DFPProtectedAuthProvider.mjs';
13
15
  import { HeadlessB2BOrganizationClient } from '../../../core/src/HeadlessClients/b2b/HeadlessB2BOrganizationClient.mjs';
14
16
  import { HeadlessB2BDiscoveryClient } from '../../../core/src/HeadlessClients/b2b/HeadlessB2BDiscoveryClient.mjs';
15
17
  import { HeadlessB2BIDPClient } from '../../../core/src/HeadlessClients/b2b/HeadlessB2BIDPClient.mjs';
@@ -28,10 +30,8 @@ import { HeadlessB2BTOTPsClient } from '../../../core/src/HeadlessClients/b2b/He
28
30
  import '../../../core/src/HeadlessClients/HeadlessCryptoWalletClient.mjs';
29
31
  import '../../../core/src/HeadlessClients/HeadlessMagicLinkClient.mjs';
30
32
  import '../../../core/src/HeadlessClients/HeadlessPasswordClient.mjs';
31
- import { VERTICAL_CONSUMER } from '../../../core/src/Vertical.mjs';
32
- import { StateChangeClient } from '../../../core/src/StateChangeClient.mjs';
33
- import { DFPProtectedAuthProvider } from '../../../core/src/DFPProtectedAuthProvider.mjs';
34
33
  import { SessionManager } from '../../../core/src/SessionManager.mjs';
34
+ import { VERTICAL_CONSUMER } from '../../../core/src/Vertical.mjs';
35
35
  import { SearchDataManager } from '../../../core/src/SearchManager.mjs';
36
36
 
37
37
  /**
@@ -1,7 +1,7 @@
1
1
  import { GoogleOneTapClient } from './GoogleOneTapClient.mjs';
2
+ import { StytchAPIError } from '../../../core/src/public/SDKErrors.mjs';
2
3
  import { loadESModule } from '../../../core/src/utils/loadESModule.mjs';
3
4
  import { GOOGLE_ONE_TAP_SCRIPT_URL } from '../../../core/src/constants.mjs';
4
- import { StytchAPIError } from '../../../core/src/public/SDKErrors.mjs';
5
5
 
6
6
  const loadGoogleOneTapClient = ()=>loadESModule(GOOGLE_ONE_TAP_SCRIPT_URL, ()=>window.google.accounts.id);
7
7
  /**
@@ -8,8 +8,8 @@ import * as B2BProducts from './B2BProducts.mjs';
8
8
  import { GlobalContextProvider, DEFAULT_STATE } from './GlobalContextProvider.mjs';
9
9
  import { InternalAppContainer } from './InternalAppContainer.mjs';
10
10
  import { IDPConsentScreen } from './screens/IDPConsent.mjs';
11
- import { RUN_IN_DEV } from '../../../../core/src/utils/dev.mjs';
12
11
  import { useEffect as p } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
12
+ import { RUN_IN_DEV } from '../../../../core/src/utils/dev.mjs';
13
13
  import { logger } from '../../../../core/src/utils/logger.mjs';
14
14
 
15
15
  /**
@@ -6,8 +6,8 @@ import { usePresentationWithDefault, PresentationContext } from '../components/P
6
6
  import AppContainer from './Container.mjs';
7
7
  import { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider.mjs';
8
8
  import { AppScreens } from './types/AppScreens.mjs';
9
- import { RedirectURLType, AuthFlowType } from '../../../../core/src/public/b2b/ui.mjs';
10
9
  import { useState as h, useEffect as p, useMemo as F } from '../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
10
+ import { RedirectURLType, AuthFlowType } from '../../../../core/src/public/b2b/ui.mjs';
11
11
 
12
12
  const InternalAppContainer = ({ client, presentation, callbacks, config, strings })=>{
13
13
  /**
@@ -8,10 +8,10 @@ import { useIsOnlyFloatingOneTap } from '../hooks/useIsOnlyFloatingOneTap.mjs';
8
8
  import { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod.mjs';
9
9
  import { AppScreens } from '../types/AppScreens.mjs';
10
10
  import { OAuthB2BButton } from './OAuthB2BButton.mjs';
11
- import { DEV } from '../../../../../core/src/utils/dev.mjs';
12
11
  import { useState as h, useCallback as T, useEffect as p } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
13
- import { logger } from '../../../../../core/src/utils/logger.mjs';
14
12
  import { OneTapPositions } from '../../../../../core/src/public/ui.mjs';
13
+ import { DEV } from '../../../../../core/src/utils/dev.mjs';
14
+ import { logger } from '../../../../../core/src/utils/logger.mjs';
15
15
  import { B2BOAuthProviders } from '../../../../../core/src/public/b2b/ui.mjs';
16
16
 
17
17
  const B2BGoogleOneTap = ({ customScopes, providerParams, cancelOnTapOutside })=>{
@@ -8,8 +8,8 @@ import { getEnabledMethods } from '../getEnabledMethods.mjs';
8
8
  import { useConfig, useGlobalReducer } from '../GlobalContextProvider.mjs';
9
9
  import { B2B_MFA_METHODS } from '../reducer/mfa.mjs';
10
10
  import { AppScreens } from '../types/AppScreens.mjs';
11
- import { B2BMFAProducts } from '../../../../../core/src/public/b2b/ui.mjs';
12
11
  import { useMemo as F } from '../../../../../../node_modules/preact/hooks/dist/hooks.module.mjs';
12
+ import { B2BMFAProducts } from '../../../../../core/src/public/b2b/ui.mjs';
13
13
 
14
14
  const mfaOptions = {
15
15
  [B2BMFAProducts.totp]: {
@@ -138,15 +138,15 @@ const PasswordResetForm = ()=>{
138
138
  type: StytchEventType.B2BDiscoveryPasswordReset,
139
139
  data
140
140
  });
141
- dispatch({
142
- type: 'transition',
143
- screen: AppScreens.Discovery
144
- });
145
141
  dispatch({
146
142
  type: 'set_discovery_state',
147
143
  email: data.email_address,
148
144
  discoveredOrganizations: data.discovered_organizations
149
145
  });
146
+ dispatch({
147
+ type: 'transition',
148
+ screen: AppScreens.Discovery
149
+ });
150
150
  }).catch((e)=>{
151
151
  onError(e);
152
152
  setErrorMessage(getTranslatedError(e, $__));
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordResetForm.mjs","sources":["../../../../../../../../../web/src/ui/b2b/screens/PasswordResetForm.tsx"],"sourcesContent":["import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { B2BSubscriptionDataLayer } from '../../../SubscriptionService';\nimport { debounce, noop } from '../../../utils';\nimport { clearStytchTokenParams } from '../../../utils/createAuthUrlHandler';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { getNewPasswordProps, PasswordError, PasswordErrorProps } from '../../components/molecules/PasswordError';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { onAuthenticateSuccess, useBootstrap as useB2BBootstrap } from '../utils';\n\nexport const PasswordResetForm = () => {\n const stytchClient = useStytch();\n const config = useConfig();\n const [, dispatch] = useGlobalReducer();\n const bootstrap = useB2BBootstrap();\n const { t } = useLingui();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [resetToken, resetTokenType] = useMemo(() => {\n const parsed = stytchClient.parseAuthenticateUrl();\n if (!parsed) return ['', ''];\n return [parsed.token, parsed.tokenType];\n }, [stytchClient]);\n\n const dataLayer = readB2BInternals(stytchClient).dataLayer as B2BSubscriptionDataLayer;\n const email = dataLayer.getItem('reset-email-value');\n const [password, setPassword] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [passwordError, setPasswordError] = useState<PasswordErrorProps>({ policy: 'notLoaded' });\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const updateStrengthCheck = useMemo(\n () =>\n debounce((password: string) => {\n setErrorMessage('');\n return stytchClient.passwords\n .strengthCheck({ password })\n .then(({ score, valid_password, zxcvbn_feedback, luds_feedback, strength_policy, breached_password }) => {\n const common = {\n passwordInvalid: !valid_password,\n isPasswordBreached: breached_password,\n };\n\n if (strength_policy === 'zxcvbn') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n passwordScore: score,\n passwordWarning: zxcvbn_feedback.warning,\n passwordSuggestions: zxcvbn_feedback.suggestions,\n });\n } else if (strength_policy === 'luds') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n missingCharacters: luds_feedback.missing_characters,\n missingComplexity: luds_feedback.missing_complexity,\n });\n }\n })\n .catch((e: StytchAPIError) => {\n setErrorMessage(getTranslatedError(e, t));\n });\n }),\n [stytchClient.passwords, t],\n );\n\n useEffect(() => {\n if (resetTokenType === 'multi_tenant_magic_links') {\n stytchClient.magicLinks\n .authenticate({\n magic_links_token: resetToken,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n locale: config.emailMagicLinksOptions?.locale,\n })\n .then((data) => {\n clearStytchTokenParams();\n dispatch({\n type: 'primary_authenticate_success',\n response: data,\n includedMfaMethods: config.mfaProductInclude,\n resetTokenType,\n });\n })\n .catch((e: StytchAPIError) => {\n setErrorMessage(getTranslatedError(e, t));\n onError(e);\n });\n return;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [resetTokenType]);\n\n const onPasswordChange = (password: string) => {\n setPassword(password);\n updateStrengthCheck(password);\n };\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setErrorMessage('');\n setIsSubmitting(true);\n\n if (resetTokenType == 'multi_tenant_passwords') {\n stytchClient.passwords\n .resetByEmail({\n password_reset_token: resetToken,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetByEmail, data });\n onAuthenticateSuccess(data, dispatch, config);\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n } else if (resetTokenType == 'discovery') {\n stytchClient.passwords.discovery\n .resetByEmail({\n password_reset_token: resetToken,\n password,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BDiscoveryPasswordReset, data });\n dispatch({ type: 'transition', screen: AppScreens.Discovery });\n dispatch({\n type: 'set_discovery_state',\n email: data.email_address,\n discoveredOrganizations: data.discovered_organizations,\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n } else {\n stytchClient.passwords\n .resetBySession({ password })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetBySession, data });\n dispatch({ type: 'transition', screen: AppScreens.LoggedIn });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n }\n };\n\n const passwordInputProps = getNewPasswordProps(bootstrap, passwordError.policy);\n\n return (\n <Column gap={6} as=\"form\" onSubmit={handleSubmit}>\n <Typography variant=\"header\">{t({ id: 'password.setNew.title', message: 'Set a new password' })}</Typography>\n\n <Column gap={2}>\n {email ? <EmailInput email={email} setEmail={noop} disabled /> : null}\n\n <PasswordInput\n password={password}\n setPassword={onPasswordChange}\n error={errorMessage}\n {...passwordInputProps}\n />\n\n <PasswordError bootstrap={bootstrap} {...passwordError} />\n\n <Button\n variant=\"primary\"\n loading={isSubmitting}\n type=\"submit\"\n disabled={passwordError.policy === 'notLoaded' || passwordError.passwordInvalid}\n >\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n </Column>\n </Column>\n );\n};\n"],"names":["PasswordResetForm","stytchClient","useStytch","config","useConfig","dispatch","useGlobalReducer","bootstrap","useB2BBootstrap","useLingui","onEvent","useEventCallback","onError","useErrorCallback","resetToken","resetTokenType","useMemo","parsed","parseAuthenticateUrl","token","tokenType","dataLayer","readB2BInternals","email","getItem","password","setPassword","useState","errorMessage","setErrorMessage","passwordError","setPasswordError","policy","isSubmitting","setIsSubmitting","updateStrengthCheck","debounce","passwords","strengthCheck","then","score","valid_password","zxcvbn_feedback","luds_feedback","strength_policy","breached_password","common","passwordInvalid","isPasswordBreached","passwordScore","passwordWarning","warning","passwordSuggestions","suggestions","missingCharacters","missing_characters","missingComplexity","missing_complexity","catch","e","getTranslatedError","useEffect","magicLinks","authenticate","magic_links_token","session_duration_minutes","sessionOptions","sessionDurationMinutes","DEFAULT_SESSION_DURATION_MINUTES","locale","emailMagicLinksOptions","data","clearStytchTokenParams","type","response","includedMfaMethods","mfaProductInclude","onPasswordChange","handleSubmit","preventDefault","resetByEmail","password_reset_token","passwordOptions","StytchEventType","B2BPasswordResetByEmail","onAuthenticateSuccess","discovery","B2BDiscoveryPasswordReset","screen","AppScreens","Discovery","email_address","discoveredOrganizations","discovered_organizations","resetBySession","B2BPasswordResetBySession","LoggedIn","passwordInputProps","getNewPasswordProps","React","Column","gap","as","onSubmit","Typography","variant","EmailInput","setEmail","noop","disabled","PasswordInput","error","PasswordError","Button","loading"],"mappings":"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"}
1
+ {"version":3,"file":"PasswordResetForm.mjs","sources":["../../../../../../../../../web/src/ui/b2b/screens/PasswordResetForm.tsx"],"sourcesContent":["import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { B2BSubscriptionDataLayer } from '../../../SubscriptionService';\nimport { debounce, noop } from '../../../utils';\nimport { clearStytchTokenParams } from '../../../utils/createAuthUrlHandler';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { getNewPasswordProps, PasswordError, PasswordErrorProps } from '../../components/molecules/PasswordError';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { onAuthenticateSuccess, useBootstrap as useB2BBootstrap } from '../utils';\n\nexport const PasswordResetForm = () => {\n const stytchClient = useStytch();\n const config = useConfig();\n const [, dispatch] = useGlobalReducer();\n const bootstrap = useB2BBootstrap();\n const { t } = useLingui();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [resetToken, resetTokenType] = useMemo(() => {\n const parsed = stytchClient.parseAuthenticateUrl();\n if (!parsed) return ['', ''];\n return [parsed.token, parsed.tokenType];\n }, [stytchClient]);\n\n const dataLayer = readB2BInternals(stytchClient).dataLayer as B2BSubscriptionDataLayer;\n const email = dataLayer.getItem('reset-email-value');\n const [password, setPassword] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [passwordError, setPasswordError] = useState<PasswordErrorProps>({ policy: 'notLoaded' });\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const updateStrengthCheck = useMemo(\n () =>\n debounce((password: string) => {\n setErrorMessage('');\n return stytchClient.passwords\n .strengthCheck({ password })\n .then(({ score, valid_password, zxcvbn_feedback, luds_feedback, strength_policy, breached_password }) => {\n const common = {\n passwordInvalid: !valid_password,\n isPasswordBreached: breached_password,\n };\n\n if (strength_policy === 'zxcvbn') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n passwordScore: score,\n passwordWarning: zxcvbn_feedback.warning,\n passwordSuggestions: zxcvbn_feedback.suggestions,\n });\n } else if (strength_policy === 'luds') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n missingCharacters: luds_feedback.missing_characters,\n missingComplexity: luds_feedback.missing_complexity,\n });\n }\n })\n .catch((e: StytchAPIError) => {\n setErrorMessage(getTranslatedError(e, t));\n });\n }),\n [stytchClient.passwords, t],\n );\n\n useEffect(() => {\n if (resetTokenType === 'multi_tenant_magic_links') {\n stytchClient.magicLinks\n .authenticate({\n magic_links_token: resetToken,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n locale: config.emailMagicLinksOptions?.locale,\n })\n .then((data) => {\n clearStytchTokenParams();\n dispatch({\n type: 'primary_authenticate_success',\n response: data,\n includedMfaMethods: config.mfaProductInclude,\n resetTokenType,\n });\n })\n .catch((e: StytchAPIError) => {\n setErrorMessage(getTranslatedError(e, t));\n onError(e);\n });\n return;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [resetTokenType]);\n\n const onPasswordChange = (password: string) => {\n setPassword(password);\n updateStrengthCheck(password);\n };\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setErrorMessage('');\n setIsSubmitting(true);\n\n if (resetTokenType == 'multi_tenant_passwords') {\n stytchClient.passwords\n .resetByEmail({\n password_reset_token: resetToken,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetByEmail, data });\n onAuthenticateSuccess(data, dispatch, config);\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n } else if (resetTokenType == 'discovery') {\n stytchClient.passwords.discovery\n .resetByEmail({\n password_reset_token: resetToken,\n password,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BDiscoveryPasswordReset, data });\n dispatch({\n type: 'set_discovery_state',\n email: data.email_address,\n discoveredOrganizations: data.discovered_organizations,\n });\n dispatch({ type: 'transition', screen: AppScreens.Discovery });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n } else {\n stytchClient.passwords\n .resetBySession({ password })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetBySession, data });\n dispatch({ type: 'transition', screen: AppScreens.LoggedIn });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n }\n };\n\n const passwordInputProps = getNewPasswordProps(bootstrap, passwordError.policy);\n\n return (\n <Column gap={6} as=\"form\" onSubmit={handleSubmit}>\n <Typography variant=\"header\">{t({ id: 'password.setNew.title', message: 'Set a new password' })}</Typography>\n\n <Column gap={2}>\n {email ? <EmailInput email={email} setEmail={noop} disabled /> : null}\n\n <PasswordInput\n password={password}\n setPassword={onPasswordChange}\n error={errorMessage}\n {...passwordInputProps}\n />\n\n <PasswordError bootstrap={bootstrap} {...passwordError} />\n\n <Button\n variant=\"primary\"\n loading={isSubmitting}\n type=\"submit\"\n disabled={passwordError.policy === 'notLoaded' || passwordError.passwordInvalid}\n >\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n </Column>\n </Column>\n );\n};\n"],"names":["PasswordResetForm","stytchClient","useStytch","config","useConfig","dispatch","useGlobalReducer","bootstrap","useB2BBootstrap","useLingui","onEvent","useEventCallback","onError","useErrorCallback","resetToken","resetTokenType","useMemo","parsed","parseAuthenticateUrl","token","tokenType","dataLayer","readB2BInternals","email","getItem","password","setPassword","useState","errorMessage","setErrorMessage","passwordError","setPasswordError","policy","isSubmitting","setIsSubmitting","updateStrengthCheck","debounce","passwords","strengthCheck","then","score","valid_password","zxcvbn_feedback","luds_feedback","strength_policy","breached_password","common","passwordInvalid","isPasswordBreached","passwordScore","passwordWarning","warning","passwordSuggestions","suggestions","missingCharacters","missing_characters","missingComplexity","missing_complexity","catch","e","getTranslatedError","useEffect","magicLinks","authenticate","magic_links_token","session_duration_minutes","sessionOptions","sessionDurationMinutes","DEFAULT_SESSION_DURATION_MINUTES","locale","emailMagicLinksOptions","data","clearStytchTokenParams","type","response","includedMfaMethods","mfaProductInclude","onPasswordChange","handleSubmit","preventDefault","resetByEmail","password_reset_token","passwordOptions","StytchEventType","B2BPasswordResetByEmail","onAuthenticateSuccess","discovery","B2BDiscoveryPasswordReset","email_address","discoveredOrganizations","discovered_organizations","screen","AppScreens","Discovery","resetBySession","B2BPasswordResetBySession","LoggedIn","passwordInputProps","getNewPasswordProps","React","Column","gap","as","onSubmit","Typography","variant","EmailInput","setEmail","noop","disabled","PasswordInput","error","PasswordError","Button","loading"],"mappings":"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"}
@@ -8,8 +8,8 @@ import { SSOButton } from '../components/SSOButton.mjs';
8
8
  import { useGlobalReducer } from '../GlobalContextProvider.mjs';
9
9
  import { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod.mjs';
10
10
  import { extractConnectionId, getSsoMethodKey } from '../types/authMethodKeys.mjs';
11
- import { createElement as y } from '../../../../../../node_modules/preact/dist/preact.module.mjs';
12
11
  import { arrayUtils } from '../../../../../core/src/utils/arrayUtils.mjs';
12
+ import { createElement as y } from '../../../../../../node_modules/preact/dist/preact.module.mjs';
13
13
 
14
14
  const SSOButtons = ({ availableConnections })=>{
15
15
  const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();
@@ -11,8 +11,8 @@ import { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod.mjs';
11
11
  import { MainScreenComponent, AppScreens } from '../types/AppScreens.mjs';
12
12
  import { getButtonKey, getSsoMethodKey } from '../types/authMethodKeys.mjs';
13
13
  import { useProductComponents } from '../utils.mjs';
14
- import { AuthFlowType, B2BOAuthProviders } from '../../../../../core/src/public/b2b/ui.mjs';
15
14
  import { arrayUtils } from '../../../../../core/src/utils/arrayUtils.mjs';
15
+ import { AuthFlowType, B2BOAuthProviders } from '../../../../../core/src/public/b2b/ui.mjs';
16
16
 
17
17
  // OAuth helper functions
18
18
  const getCustomScopesForProvider = (oauthProvider, oauthOptionsCustomScopes)=>{
@@ -55,15 +55,15 @@ const usePasswordInput = ()=>{
55
55
  type: StytchEventType.B2BPasswordDiscoveryAuthenticate,
56
56
  data
57
57
  });
58
- dispatch({
59
- type: 'transition',
60
- screen: AppScreens.Discovery
61
- });
62
58
  dispatch({
63
59
  type: 'set_discovery_state',
64
60
  email: data.email_address,
65
61
  discoveredOrganizations: data.discovered_organizations
66
62
  });
63
+ dispatch({
64
+ type: 'transition',
65
+ screen: AppScreens.Discovery
66
+ });
67
67
  }).catch((err)=>{
68
68
  setIsSubmitting(false);
69
69
  onError(err);
@@ -1 +1 @@
1
- {"version":3,"file":"usePasswordInput.mjs","sources":["../../../../../../../../web/src/ui/b2b/usePasswordInput.ts"],"sourcesContent":["import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { OrganizationBySlugMatch, StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport { useState } from 'react';\n\nimport { B2BSubscriptionDataLayer } from '../../SubscriptionService';\nimport { getTranslatedError } from '../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../utils/internal';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from './GlobalContextProvider';\nimport { AppScreens } from './types/AppScreens';\nimport { onAuthenticateSuccess } from './utils';\n\nexport const usePasswordInput = () => {\n const [state, dispatch] = useGlobalReducer();\n const config = useConfig();\n const stytch = useStytch();\n const { t } = useLingui();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [email, setEmail] = useState(state.formState.passwordState.email);\n const [password, setPassword] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState(false);\n const organization = state.flowState.organization;\n\n const submitPassword = (organization_id: string) => {\n setErrorMessage('');\n setIsSubmitting(true);\n stytch.passwords\n .authenticate({\n email_address: email,\n organization_id: organization_id,\n password: password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordAuthenticate, data });\n onAuthenticateSuccess(data, dispatch, config);\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n onError(err);\n setErrorMessage(getTranslatedError(err, t));\n });\n };\n\n const submitDiscoveryPassword = () => {\n setErrorMessage('');\n setIsSubmitting(true);\n stytch.passwords.discovery\n .authenticate({\n email_address: email,\n password: password,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordDiscoveryAuthenticate, data });\n dispatch({ type: 'transition', screen: AppScreens.Discovery });\n dispatch({\n type: 'set_discovery_state',\n email: data.email_address,\n discoveredOrganizations: data.discovered_organizations,\n });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n onError(err);\n setErrorMessage(getTranslatedError(err, t));\n });\n };\n\n const emailEligibleForJITProvisioning = (\n { email_jit_provisioning, email_allowed_domains }: OrganizationBySlugMatch,\n email: string,\n ) => {\n switch (email_jit_provisioning) {\n case 'ALL_ALLOWED':\n return true;\n case 'NOT_ALLOWED':\n return false;\n case 'RESTRICTED': {\n const emailDomain = email.split('@').pop();\n return emailDomain != null && email_allowed_domains.includes(emailDomain);\n }\n }\n };\n\n const handleNonMemberReset = () => {\n if (!organization) {\n return;\n }\n\n if (!emailEligibleForJITProvisioning(organization, email)) {\n setIsSubmitting(false);\n const organizationName = organization.organization_name;\n setErrorMessage(\n t({\n id: 'error.emailNoAccessToOrg',\n message: `${email} does not have access to ${organizationName}. If you think this is a mistake, contact your admin.`,\n }),\n );\n return;\n }\n\n const dataLayer = readB2BInternals(stytch).dataLayer as B2BSubscriptionDataLayer;\n dataLayer.setItem('reset-email-value', email);\n stytch.magicLinks.email\n .loginOrSignup({\n email_address: email,\n organization_id: organization.organization_id,\n login_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n signup_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n login_template_id: config.emailMagicLinksOptions?.loginTemplateId,\n signup_template_id: config.emailMagicLinksOptions?.signupTemplateId,\n locale: config.emailMagicLinksOptions?.locale,\n })\n .then(() => {\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordResetVerifyConfirmation });\n })\n .catch((err: StytchAPIError) => {\n onError(err);\n setErrorMessage(getTranslatedError(err, t));\n setIsSubmitting(false);\n });\n };\n\n return {\n stytch,\n onError,\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 };\n};\n"],"names":["usePasswordInput","state","dispatch","useGlobalReducer","config","useConfig","stytch","useStytch","useLingui","onEvent","useEventCallback","onError","useErrorCallback","email","setEmail","useState","formState","passwordState","password","setPassword","errorMessage","setErrorMessage","isSubmitting","setIsSubmitting","organization","flowState","submitPassword","organization_id","passwords","authenticate","email_address","session_duration_minutes","sessionOptions","sessionDurationMinutes","DEFAULT_SESSION_DURATION_MINUTES","locale","passwordOptions","then","data","type","StytchEventType","B2BPasswordAuthenticate","onAuthenticateSuccess","catch","err","getTranslatedError","submitDiscoveryPassword","discovery","B2BPasswordDiscoveryAuthenticate","screen","AppScreens","Discovery","discoveredOrganizations","discovered_organizations","emailEligibleForJITProvisioning","email_jit_provisioning","email_allowed_domains","emailDomain","split","pop","includes","handleNonMemberReset","organizationName","organization_name","dataLayer","readB2BInternals","setItem","magicLinks","loginOrSignup","login_redirect_url","resetPasswordRedirectURL","signup_redirect_url","login_template_id","emailMagicLinksOptions","loginTemplateId","signup_template_id","signupTemplateId","PasswordResetVerifyConfirmation"],"mappings":"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"}
1
+ {"version":3,"file":"usePasswordInput.mjs","sources":["../../../../../../../../web/src/ui/b2b/usePasswordInput.ts"],"sourcesContent":["import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { OrganizationBySlugMatch, StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport { useState } from 'react';\n\nimport { B2BSubscriptionDataLayer } from '../../SubscriptionService';\nimport { getTranslatedError } from '../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../utils/internal';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from './GlobalContextProvider';\nimport { AppScreens } from './types/AppScreens';\nimport { onAuthenticateSuccess } from './utils';\n\nexport const usePasswordInput = () => {\n const [state, dispatch] = useGlobalReducer();\n const config = useConfig();\n const stytch = useStytch();\n const { t } = useLingui();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [email, setEmail] = useState(state.formState.passwordState.email);\n const [password, setPassword] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState(false);\n const organization = state.flowState.organization;\n\n const submitPassword = (organization_id: string) => {\n setErrorMessage('');\n setIsSubmitting(true);\n stytch.passwords\n .authenticate({\n email_address: email,\n organization_id: organization_id,\n password: password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordAuthenticate, data });\n onAuthenticateSuccess(data, dispatch, config);\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n onError(err);\n setErrorMessage(getTranslatedError(err, t));\n });\n };\n\n const submitDiscoveryPassword = () => {\n setErrorMessage('');\n setIsSubmitting(true);\n stytch.passwords.discovery\n .authenticate({\n email_address: email,\n password: password,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordDiscoveryAuthenticate, data });\n dispatch({\n type: 'set_discovery_state',\n email: data.email_address,\n discoveredOrganizations: data.discovered_organizations,\n });\n dispatch({ type: 'transition', screen: AppScreens.Discovery });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n onError(err);\n setErrorMessage(getTranslatedError(err, t));\n });\n };\n\n const emailEligibleForJITProvisioning = (\n { email_jit_provisioning, email_allowed_domains }: OrganizationBySlugMatch,\n email: string,\n ) => {\n switch (email_jit_provisioning) {\n case 'ALL_ALLOWED':\n return true;\n case 'NOT_ALLOWED':\n return false;\n case 'RESTRICTED': {\n const emailDomain = email.split('@').pop();\n return emailDomain != null && email_allowed_domains.includes(emailDomain);\n }\n }\n };\n\n const handleNonMemberReset = () => {\n if (!organization) {\n return;\n }\n\n if (!emailEligibleForJITProvisioning(organization, email)) {\n setIsSubmitting(false);\n const organizationName = organization.organization_name;\n setErrorMessage(\n t({\n id: 'error.emailNoAccessToOrg',\n message: `${email} does not have access to ${organizationName}. If you think this is a mistake, contact your admin.`,\n }),\n );\n return;\n }\n\n const dataLayer = readB2BInternals(stytch).dataLayer as B2BSubscriptionDataLayer;\n dataLayer.setItem('reset-email-value', email);\n stytch.magicLinks.email\n .loginOrSignup({\n email_address: email,\n organization_id: organization.organization_id,\n login_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n signup_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n login_template_id: config.emailMagicLinksOptions?.loginTemplateId,\n signup_template_id: config.emailMagicLinksOptions?.signupTemplateId,\n locale: config.emailMagicLinksOptions?.locale,\n })\n .then(() => {\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordResetVerifyConfirmation });\n })\n .catch((err: StytchAPIError) => {\n onError(err);\n setErrorMessage(getTranslatedError(err, t));\n setIsSubmitting(false);\n });\n };\n\n return {\n stytch,\n onError,\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 };\n};\n"],"names":["usePasswordInput","state","dispatch","useGlobalReducer","config","useConfig","stytch","useStytch","useLingui","onEvent","useEventCallback","onError","useErrorCallback","email","setEmail","useState","formState","passwordState","password","setPassword","errorMessage","setErrorMessage","isSubmitting","setIsSubmitting","organization","flowState","submitPassword","organization_id","passwords","authenticate","email_address","session_duration_minutes","sessionOptions","sessionDurationMinutes","DEFAULT_SESSION_DURATION_MINUTES","locale","passwordOptions","then","data","type","StytchEventType","B2BPasswordAuthenticate","onAuthenticateSuccess","catch","err","getTranslatedError","submitDiscoveryPassword","discovery","B2BPasswordDiscoveryAuthenticate","discoveredOrganizations","discovered_organizations","screen","AppScreens","Discovery","emailEligibleForJITProvisioning","email_jit_provisioning","email_allowed_domains","emailDomain","split","pop","includes","handleNonMemberReset","organizationName","organization_name","dataLayer","readB2BInternals","setItem","magicLinks","loginOrSignup","login_redirect_url","resetPasswordRedirectURL","signup_redirect_url","login_template_id","emailMagicLinksOptions","loginTemplateId","signup_template_id","signupTemplateId","PasswordResetVerifyConfirmation"],"mappings":"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"}