@stytch/react 20.0.0-next.7 → 20.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 (2288) hide show
  1. package/CHANGELOG.md +15 -59
  2. package/dist/cjs/adminPortal/index.cjs +29 -29
  3. package/dist/cjs/adminPortal/index.cjs.map +1 -1
  4. package/dist/cjs/b2b/index.cjs +5 -5
  5. package/dist/cjs/b2b/index.cjs.map +1 -1
  6. package/dist/cjs/index.cjs +5 -5
  7. package/dist/cjs/index.cjs.map +1 -1
  8. package/dist/cjs/{shadcn-CEwpX1ov.js → shadcn-Du-ZeW8t.js} +11 -8
  9. package/dist/cjs/shadcn-Du-ZeW8t.js.map +1 -0
  10. package/dist/cjs-dev/adminPortal/index.cjs +29 -29
  11. package/dist/cjs-dev/adminPortal/index.cjs.map +1 -1
  12. package/dist/cjs-dev/b2b/index.cjs +5 -5
  13. package/dist/cjs-dev/b2b/index.cjs.map +1 -1
  14. package/dist/cjs-dev/index.cjs +5 -5
  15. package/dist/cjs-dev/index.cjs.map +1 -1
  16. package/dist/cjs-dev/{shadcn-CFfLoRN4.js → shadcn-BZDGkwFh.js} +11 -8
  17. package/dist/cjs-dev/shadcn-BZDGkwFh.js.map +1 -0
  18. package/dist/esm/internal/assets/dist/index.mjs +29 -29
  19. package/dist/esm/internal/assets/dist/index.mjs.map +1 -1
  20. package/dist/esm/packages/web/src/ui/b2b/components/B2BOneTap.mjs +5 -5
  21. package/dist/esm/packages/web/src/ui/b2b/components/B2BOneTap.mjs.map +1 -1
  22. package/dist/esm/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +5 -5
  23. package/dist/esm/packages/web/src/ui/b2c/components/GoogleOneTap.mjs.map +1 -1
  24. package/dist/esm/packages/web/src/ui/hooks/useIsMounted.mjs +10 -7
  25. package/dist/esm/packages/web/src/ui/hooks/useIsMounted.mjs.map +1 -1
  26. package/dist/esm-dev/internal/assets/dist/index.mjs +29 -29
  27. package/dist/esm-dev/internal/assets/dist/index.mjs.map +1 -1
  28. package/dist/esm-dev/packages/web/src/ui/b2b/components/B2BOneTap.mjs +5 -5
  29. package/dist/esm-dev/packages/web/src/ui/b2b/components/B2BOneTap.mjs.map +1 -1
  30. package/dist/esm-dev/packages/web/src/ui/b2c/components/GoogleOneTap.mjs +5 -5
  31. package/dist/esm-dev/packages/web/src/ui/b2c/components/GoogleOneTap.mjs.map +1 -1
  32. package/dist/esm-dev/packages/web/src/ui/hooks/useIsMounted.mjs +10 -7
  33. package/dist/esm-dev/packages/web/src/ui/hooks/useIsMounted.mjs.map +1 -1
  34. package/package.json +16 -8
  35. package/dist/cjs/shadcn-CEwpX1ov.js.map +0 -1
  36. package/dist/cjs-dev/shadcn-CFfLoRN4.js.map +0 -1
  37. package/dist/esm/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.mjs +0 -7
  38. package/dist/esm/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.mjs.map +0 -1
  39. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.mjs +0 -12
  40. package/dist/esm/node_modules/@babel/runtime/helpers/esm/extends.mjs.map +0 -1
  41. package/dist/esm/node_modules/@babel/runtime/helpers/esm/inheritsLoose.mjs +0 -8
  42. package/dist/esm/node_modules/@babel/runtime/helpers/esm/inheritsLoose.mjs.map +0 -1
  43. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs +0 -12
  44. package/dist/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs.map +0 -1
  45. package/dist/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.mjs +0 -8
  46. package/dist/esm/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.mjs.map +0 -1
  47. package/dist/esm/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.mjs +0 -442
  48. package/dist/esm/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.mjs.map +0 -1
  49. package/dist/esm/node_modules/@emotion/hash/dist/emotion-hash.esm.mjs +0 -56
  50. package/dist/esm/node_modules/@emotion/hash/dist/emotion-hash.esm.mjs.map +0 -1
  51. package/dist/esm/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.mjs +0 -17
  52. package/dist/esm/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.mjs.map +0 -1
  53. package/dist/esm/node_modules/@emotion/memoize/dist/emotion-memoize.esm.mjs +0 -10
  54. package/dist/esm/node_modules/@emotion/memoize/dist/emotion-memoize.esm.mjs.map +0 -1
  55. package/dist/esm/node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.mjs +0 -106
  56. package/dist/esm/node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.mjs.map +0 -1
  57. package/dist/esm/node_modules/@emotion/react/dist/emotion-react.browser.esm.mjs +0 -124
  58. package/dist/esm/node_modules/@emotion/react/dist/emotion-react.browser.esm.mjs.map +0 -1
  59. package/dist/esm/node_modules/@emotion/serialize/dist/emotion-serialize.esm.mjs +0 -230
  60. package/dist/esm/node_modules/@emotion/serialize/dist/emotion-serialize.esm.mjs.map +0 -1
  61. package/dist/esm/node_modules/@emotion/sheet/dist/emotion-sheet.esm.mjs +0 -139
  62. package/dist/esm/node_modules/@emotion/sheet/dist/emotion-sheet.esm.mjs.map +0 -1
  63. package/dist/esm/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.mjs +0 -167
  64. package/dist/esm/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.mjs.map +0 -1
  65. package/dist/esm/node_modules/@emotion/styled/dist/emotion-styled.browser.esm.mjs +0 -14
  66. package/dist/esm/node_modules/@emotion/styled/dist/emotion-styled.browser.esm.mjs.map +0 -1
  67. package/dist/esm/node_modules/@emotion/unitless/dist/emotion-unitless.esm.mjs +0 -53
  68. package/dist/esm/node_modules/@emotion/unitless/dist/emotion-unitless.esm.mjs.map +0 -1
  69. package/dist/esm/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.mjs +0 -12
  70. package/dist/esm/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.mjs.map +0 -1
  71. package/dist/esm/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.mjs +0 -46
  72. package/dist/esm/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.mjs.map +0 -1
  73. package/dist/esm/node_modules/@github/webauthn-json/dist/esm/webauthn-json.mjs +0 -207
  74. package/dist/esm/node_modules/@github/webauthn-json/dist/esm/webauthn-json.mjs.map +0 -1
  75. package/dist/esm/node_modules/@lingui/core/dist/index.mjs +0 -416
  76. package/dist/esm/node_modules/@lingui/core/dist/index.mjs.map +0 -1
  77. package/dist/esm/node_modules/@lingui/message-utils/dist/compileMessage.mjs +0 -365
  78. package/dist/esm/node_modules/@lingui/message-utils/dist/compileMessage.mjs.map +0 -1
  79. package/dist/esm/node_modules/@lingui/react/dist/index.mjs +0 -51
  80. package/dist/esm/node_modules/@lingui/react/dist/index.mjs.map +0 -1
  81. package/dist/esm/node_modules/@lingui/react/dist/shared/react.8970326b.mjs +0 -139
  82. package/dist/esm/node_modules/@lingui/react/dist/shared/react.8970326b.mjs.map +0 -1
  83. package/dist/esm/node_modules/@messageformat/parser/lib/lexer.mjs +0 -75
  84. package/dist/esm/node_modules/@messageformat/parser/lib/lexer.mjs.map +0 -1
  85. package/dist/esm/node_modules/@messageformat/parser/lib/parser.mjs +0 -326
  86. package/dist/esm/node_modules/@messageformat/parser/lib/parser.mjs.map +0 -1
  87. package/dist/esm/node_modules/@mui/icons-material/esm/Add.mjs +0 -9
  88. package/dist/esm/node_modules/@mui/icons-material/esm/Add.mjs.map +0 -1
  89. package/dist/esm/node_modules/@mui/icons-material/esm/AddRounded.mjs +0 -9
  90. package/dist/esm/node_modules/@mui/icons-material/esm/AddRounded.mjs.map +0 -1
  91. package/dist/esm/node_modules/@mui/icons-material/esm/CheckCircle.mjs +0 -9
  92. package/dist/esm/node_modules/@mui/icons-material/esm/CheckCircle.mjs.map +0 -1
  93. package/dist/esm/node_modules/@mui/icons-material/esm/CheckCircleOutlined.mjs +0 -9
  94. package/dist/esm/node_modules/@mui/icons-material/esm/CheckCircleOutlined.mjs.map +0 -1
  95. package/dist/esm/node_modules/@mui/icons-material/esm/CheckRounded.mjs +0 -9
  96. package/dist/esm/node_modules/@mui/icons-material/esm/CheckRounded.mjs.map +0 -1
  97. package/dist/esm/node_modules/@mui/icons-material/esm/ChevronLeft.mjs +0 -9
  98. package/dist/esm/node_modules/@mui/icons-material/esm/ChevronLeft.mjs.map +0 -1
  99. package/dist/esm/node_modules/@mui/icons-material/esm/ChevronRight.mjs +0 -9
  100. package/dist/esm/node_modules/@mui/icons-material/esm/ChevronRight.mjs.map +0 -1
  101. package/dist/esm/node_modules/@mui/icons-material/esm/Close.mjs +0 -9
  102. package/dist/esm/node_modules/@mui/icons-material/esm/Close.mjs.map +0 -1
  103. package/dist/esm/node_modules/@mui/icons-material/esm/DeleteOutlined.mjs +0 -9
  104. package/dist/esm/node_modules/@mui/icons-material/esm/DeleteOutlined.mjs.map +0 -1
  105. package/dist/esm/node_modules/@mui/icons-material/esm/DoneAll.mjs +0 -9
  106. package/dist/esm/node_modules/@mui/icons-material/esm/DoneAll.mjs.map +0 -1
  107. package/dist/esm/node_modules/@mui/icons-material/esm/EditOutlined.mjs +0 -9
  108. package/dist/esm/node_modules/@mui/icons-material/esm/EditOutlined.mjs.map +0 -1
  109. package/dist/esm/node_modules/@mui/icons-material/esm/EmailOutlined.mjs +0 -9
  110. package/dist/esm/node_modules/@mui/icons-material/esm/EmailOutlined.mjs.map +0 -1
  111. package/dist/esm/node_modules/@mui/icons-material/esm/Error.mjs +0 -9
  112. package/dist/esm/node_modules/@mui/icons-material/esm/Error.mjs.map +0 -1
  113. package/dist/esm/node_modules/@mui/icons-material/esm/ExpandMore.mjs +0 -9
  114. package/dist/esm/node_modules/@mui/icons-material/esm/ExpandMore.mjs.map +0 -1
  115. package/dist/esm/node_modules/@mui/icons-material/esm/FileCopyOutlined.mjs +0 -9
  116. package/dist/esm/node_modules/@mui/icons-material/esm/FileCopyOutlined.mjs.map +0 -1
  117. package/dist/esm/node_modules/@mui/icons-material/esm/FilterList.mjs +0 -9
  118. package/dist/esm/node_modules/@mui/icons-material/esm/FilterList.mjs.map +0 -1
  119. package/dist/esm/node_modules/@mui/icons-material/esm/InfoOutlined.mjs +0 -9
  120. package/dist/esm/node_modules/@mui/icons-material/esm/InfoOutlined.mjs.map +0 -1
  121. package/dist/esm/node_modules/@mui/icons-material/esm/MoreVert.mjs +0 -9
  122. package/dist/esm/node_modules/@mui/icons-material/esm/MoreVert.mjs.map +0 -1
  123. package/dist/esm/node_modules/@mui/icons-material/esm/RemoveRounded.mjs +0 -9
  124. package/dist/esm/node_modules/@mui/icons-material/esm/RemoveRounded.mjs.map +0 -1
  125. package/dist/esm/node_modules/@mui/icons-material/esm/ReportProblemOutlined.mjs +0 -9
  126. package/dist/esm/node_modules/@mui/icons-material/esm/ReportProblemOutlined.mjs.map +0 -1
  127. package/dist/esm/node_modules/@mui/icons-material/esm/Search.mjs +0 -9
  128. package/dist/esm/node_modules/@mui/icons-material/esm/Search.mjs.map +0 -1
  129. package/dist/esm/node_modules/@mui/icons-material/esm/Tune.mjs +0 -9
  130. package/dist/esm/node_modules/@mui/icons-material/esm/Tune.mjs.map +0 -1
  131. package/dist/esm/node_modules/@mui/icons-material/esm/VisibilityOutlined.mjs +0 -9
  132. package/dist/esm/node_modules/@mui/icons-material/esm/VisibilityOutlined.mjs.map +0 -1
  133. package/dist/esm/node_modules/@mui/material/Accordion/Accordion.mjs +0 -223
  134. package/dist/esm/node_modules/@mui/material/Accordion/Accordion.mjs.map +0 -1
  135. package/dist/esm/node_modules/@mui/material/Accordion/AccordionContext.mjs +0 -10
  136. package/dist/esm/node_modules/@mui/material/Accordion/AccordionContext.mjs.map +0 -1
  137. package/dist/esm/node_modules/@mui/material/Accordion/accordionClasses.mjs +0 -10
  138. package/dist/esm/node_modules/@mui/material/Accordion/accordionClasses.mjs.map +0 -1
  139. package/dist/esm/node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs +0 -48
  140. package/dist/esm/node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs.map +0 -1
  141. package/dist/esm/node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.mjs +0 -10
  142. package/dist/esm/node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.mjs.map +0 -1
  143. package/dist/esm/node_modules/@mui/material/AccordionSummary/AccordionSummary.mjs +0 -160
  144. package/dist/esm/node_modules/@mui/material/AccordionSummary/AccordionSummary.mjs.map +0 -1
  145. package/dist/esm/node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.mjs +0 -10
  146. package/dist/esm/node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.mjs.map +0 -1
  147. package/dist/esm/node_modules/@mui/material/Alert/Alert.mjs +0 -261
  148. package/dist/esm/node_modules/@mui/material/Alert/Alert.mjs.map +0 -1
  149. package/dist/esm/node_modules/@mui/material/Alert/alertClasses.mjs +0 -10
  150. package/dist/esm/node_modules/@mui/material/Alert/alertClasses.mjs.map +0 -1
  151. package/dist/esm/node_modules/@mui/material/Autocomplete/Autocomplete.mjs +0 -741
  152. package/dist/esm/node_modules/@mui/material/Autocomplete/Autocomplete.mjs.map +0 -1
  153. package/dist/esm/node_modules/@mui/material/Autocomplete/autocompleteClasses.mjs +0 -10
  154. package/dist/esm/node_modules/@mui/material/Autocomplete/autocompleteClasses.mjs.map +0 -1
  155. package/dist/esm/node_modules/@mui/material/Backdrop/Backdrop.mjs +0 -115
  156. package/dist/esm/node_modules/@mui/material/Backdrop/Backdrop.mjs.map +0 -1
  157. package/dist/esm/node_modules/@mui/material/Backdrop/backdropClasses.mjs +0 -10
  158. package/dist/esm/node_modules/@mui/material/Backdrop/backdropClasses.mjs.map +0 -1
  159. package/dist/esm/node_modules/@mui/material/Button/Button.mjs +0 -572
  160. package/dist/esm/node_modules/@mui/material/Button/Button.mjs.map +0 -1
  161. package/dist/esm/node_modules/@mui/material/Button/buttonClasses.mjs +0 -10
  162. package/dist/esm/node_modules/@mui/material/Button/buttonClasses.mjs.map +0 -1
  163. package/dist/esm/node_modules/@mui/material/ButtonBase/ButtonBase.mjs +0 -287
  164. package/dist/esm/node_modules/@mui/material/ButtonBase/ButtonBase.mjs.map +0 -1
  165. package/dist/esm/node_modules/@mui/material/ButtonBase/Ripple.mjs +0 -49
  166. package/dist/esm/node_modules/@mui/material/ButtonBase/Ripple.mjs.map +0 -1
  167. package/dist/esm/node_modules/@mui/material/ButtonBase/TouchRipple.mjs +0 -310
  168. package/dist/esm/node_modules/@mui/material/ButtonBase/TouchRipple.mjs.map +0 -1
  169. package/dist/esm/node_modules/@mui/material/ButtonBase/buttonBaseClasses.mjs +0 -10
  170. package/dist/esm/node_modules/@mui/material/ButtonBase/buttonBaseClasses.mjs.map +0 -1
  171. package/dist/esm/node_modules/@mui/material/ButtonBase/touchRippleClasses.mjs +0 -6
  172. package/dist/esm/node_modules/@mui/material/ButtonBase/touchRippleClasses.mjs.map +0 -1
  173. package/dist/esm/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.mjs +0 -9
  174. package/dist/esm/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.mjs.map +0 -1
  175. package/dist/esm/node_modules/@mui/material/ButtonGroup/ButtonGroupContext.mjs +0 -9
  176. package/dist/esm/node_modules/@mui/material/ButtonGroup/ButtonGroupContext.mjs.map +0 -1
  177. package/dist/esm/node_modules/@mui/material/Checkbox/Checkbox.mjs +0 -148
  178. package/dist/esm/node_modules/@mui/material/Checkbox/Checkbox.mjs.map +0 -1
  179. package/dist/esm/node_modules/@mui/material/Checkbox/checkboxClasses.mjs +0 -10
  180. package/dist/esm/node_modules/@mui/material/Checkbox/checkboxClasses.mjs.map +0 -1
  181. package/dist/esm/node_modules/@mui/material/Chip/Chip.mjs +0 -468
  182. package/dist/esm/node_modules/@mui/material/Chip/Chip.mjs.map +0 -1
  183. package/dist/esm/node_modules/@mui/material/Chip/chipClasses.mjs +0 -10
  184. package/dist/esm/node_modules/@mui/material/Chip/chipClasses.mjs.map +0 -1
  185. package/dist/esm/node_modules/@mui/material/CircularProgress/CircularProgress.mjs +0 -221
  186. package/dist/esm/node_modules/@mui/material/CircularProgress/CircularProgress.mjs.map +0 -1
  187. package/dist/esm/node_modules/@mui/material/CircularProgress/circularProgressClasses.mjs +0 -10
  188. package/dist/esm/node_modules/@mui/material/CircularProgress/circularProgressClasses.mjs.map +0 -1
  189. package/dist/esm/node_modules/@mui/material/ClickAwayListener/ClickAwayListener.mjs +0 -141
  190. package/dist/esm/node_modules/@mui/material/ClickAwayListener/ClickAwayListener.mjs.map +0 -1
  191. package/dist/esm/node_modules/@mui/material/Collapse/Collapse.mjs +0 -316
  192. package/dist/esm/node_modules/@mui/material/Collapse/Collapse.mjs.map +0 -1
  193. package/dist/esm/node_modules/@mui/material/Collapse/collapseClasses.mjs +0 -10
  194. package/dist/esm/node_modules/@mui/material/Collapse/collapseClasses.mjs.map +0 -1
  195. package/dist/esm/node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.mjs +0 -10
  196. package/dist/esm/node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.mjs.map +0 -1
  197. package/dist/esm/node_modules/@mui/material/Dialog/Dialog.mjs +0 -314
  198. package/dist/esm/node_modules/@mui/material/Dialog/Dialog.mjs.map +0 -1
  199. package/dist/esm/node_modules/@mui/material/Dialog/DialogContext.mjs +0 -6
  200. package/dist/esm/node_modules/@mui/material/Dialog/DialogContext.mjs.map +0 -1
  201. package/dist/esm/node_modules/@mui/material/Dialog/dialogClasses.mjs +0 -10
  202. package/dist/esm/node_modules/@mui/material/Dialog/dialogClasses.mjs.map +0 -1
  203. package/dist/esm/node_modules/@mui/material/DialogActions/DialogActions.mjs +0 -69
  204. package/dist/esm/node_modules/@mui/material/DialogActions/DialogActions.mjs.map +0 -1
  205. package/dist/esm/node_modules/@mui/material/DialogActions/dialogActionsClasses.mjs +0 -10
  206. package/dist/esm/node_modules/@mui/material/DialogActions/dialogActionsClasses.mjs.map +0 -1
  207. package/dist/esm/node_modules/@mui/material/DialogContent/DialogContent.mjs +0 -82
  208. package/dist/esm/node_modules/@mui/material/DialogContent/DialogContent.mjs.map +0 -1
  209. package/dist/esm/node_modules/@mui/material/DialogContent/dialogContentClasses.mjs +0 -10
  210. package/dist/esm/node_modules/@mui/material/DialogContent/dialogContentClasses.mjs.map +0 -1
  211. package/dist/esm/node_modules/@mui/material/DialogTitle/DialogTitle.mjs +0 -55
  212. package/dist/esm/node_modules/@mui/material/DialogTitle/DialogTitle.mjs.map +0 -1
  213. package/dist/esm/node_modules/@mui/material/DialogTitle/dialogTitleClasses.mjs +0 -10
  214. package/dist/esm/node_modules/@mui/material/DialogTitle/dialogTitleClasses.mjs.map +0 -1
  215. package/dist/esm/node_modules/@mui/material/Divider/Divider.mjs +0 -251
  216. package/dist/esm/node_modules/@mui/material/Divider/Divider.mjs.map +0 -1
  217. package/dist/esm/node_modules/@mui/material/Divider/dividerClasses.mjs +0 -10
  218. package/dist/esm/node_modules/@mui/material/Divider/dividerClasses.mjs.map +0 -1
  219. package/dist/esm/node_modules/@mui/material/Fade/Fade.mjs +0 -133
  220. package/dist/esm/node_modules/@mui/material/Fade/Fade.mjs.map +0 -1
  221. package/dist/esm/node_modules/@mui/material/FilledInput/FilledInput.mjs +0 -322
  222. package/dist/esm/node_modules/@mui/material/FilledInput/FilledInput.mjs.map +0 -1
  223. package/dist/esm/node_modules/@mui/material/FilledInput/filledInputClasses.mjs +0 -14
  224. package/dist/esm/node_modules/@mui/material/FilledInput/filledInputClasses.mjs.map +0 -1
  225. package/dist/esm/node_modules/@mui/material/FormControl/FormControl.mjs +0 -212
  226. package/dist/esm/node_modules/@mui/material/FormControl/FormControl.mjs.map +0 -1
  227. package/dist/esm/node_modules/@mui/material/FormControl/FormControlContext.mjs +0 -9
  228. package/dist/esm/node_modules/@mui/material/FormControl/FormControlContext.mjs.map +0 -1
  229. package/dist/esm/node_modules/@mui/material/FormControl/formControlClasses.mjs +0 -10
  230. package/dist/esm/node_modules/@mui/material/FormControl/formControlClasses.mjs.map +0 -1
  231. package/dist/esm/node_modules/@mui/material/FormControl/formControlState.mjs +0 -18
  232. package/dist/esm/node_modules/@mui/material/FormControl/formControlState.mjs.map +0 -1
  233. package/dist/esm/node_modules/@mui/material/FormControl/useFormControl.mjs +0 -9
  234. package/dist/esm/node_modules/@mui/material/FormControl/useFormControl.mjs.map +0 -1
  235. package/dist/esm/node_modules/@mui/material/FormControlLabel/FormControlLabel.mjs +0 -194
  236. package/dist/esm/node_modules/@mui/material/FormControlLabel/FormControlLabel.mjs.map +0 -1
  237. package/dist/esm/node_modules/@mui/material/FormControlLabel/formControlLabelClasses.mjs +0 -10
  238. package/dist/esm/node_modules/@mui/material/FormControlLabel/formControlLabelClasses.mjs.map +0 -1
  239. package/dist/esm/node_modules/@mui/material/FormGroup/FormGroup.mjs +0 -81
  240. package/dist/esm/node_modules/@mui/material/FormGroup/FormGroup.mjs.map +0 -1
  241. package/dist/esm/node_modules/@mui/material/FormGroup/formGroupClasses.mjs +0 -10
  242. package/dist/esm/node_modules/@mui/material/FormGroup/formGroupClasses.mjs.map +0 -1
  243. package/dist/esm/node_modules/@mui/material/FormHelperText/FormHelperText.mjs +0 -128
  244. package/dist/esm/node_modules/@mui/material/FormHelperText/FormHelperText.mjs.map +0 -1
  245. package/dist/esm/node_modules/@mui/material/FormHelperText/formHelperTextClasses.mjs +0 -10
  246. package/dist/esm/node_modules/@mui/material/FormHelperText/formHelperTextClasses.mjs.map +0 -1
  247. package/dist/esm/node_modules/@mui/material/FormLabel/FormLabel.mjs +0 -129
  248. package/dist/esm/node_modules/@mui/material/FormLabel/FormLabel.mjs.map +0 -1
  249. package/dist/esm/node_modules/@mui/material/FormLabel/formLabelClasses.mjs +0 -10
  250. package/dist/esm/node_modules/@mui/material/FormLabel/formLabelClasses.mjs.map +0 -1
  251. package/dist/esm/node_modules/@mui/material/GlobalStyles/GlobalStyles.mjs +0 -16
  252. package/dist/esm/node_modules/@mui/material/GlobalStyles/GlobalStyles.mjs.map +0 -1
  253. package/dist/esm/node_modules/@mui/material/Grow/Grow.mjs +0 -187
  254. package/dist/esm/node_modules/@mui/material/Grow/Grow.mjs.map +0 -1
  255. package/dist/esm/node_modules/@mui/material/IconButton/IconButton.mjs +0 -227
  256. package/dist/esm/node_modules/@mui/material/IconButton/IconButton.mjs.map +0 -1
  257. package/dist/esm/node_modules/@mui/material/IconButton/iconButtonClasses.mjs +0 -10
  258. package/dist/esm/node_modules/@mui/material/IconButton/iconButtonClasses.mjs.map +0 -1
  259. package/dist/esm/node_modules/@mui/material/InitColorSchemeScript/InitColorSchemeScript.mjs +0 -12
  260. package/dist/esm/node_modules/@mui/material/InitColorSchemeScript/InitColorSchemeScript.mjs.map +0 -1
  261. package/dist/esm/node_modules/@mui/material/Input/Input.mjs +0 -174
  262. package/dist/esm/node_modules/@mui/material/Input/Input.mjs.map +0 -1
  263. package/dist/esm/node_modules/@mui/material/Input/inputClasses.mjs +0 -14
  264. package/dist/esm/node_modules/@mui/material/Input/inputClasses.mjs.map +0 -1
  265. package/dist/esm/node_modules/@mui/material/InputBase/InputBase.mjs +0 -500
  266. package/dist/esm/node_modules/@mui/material/InputBase/InputBase.mjs.map +0 -1
  267. package/dist/esm/node_modules/@mui/material/InputBase/inputBaseClasses.mjs +0 -10
  268. package/dist/esm/node_modules/@mui/material/InputBase/inputBaseClasses.mjs.map +0 -1
  269. package/dist/esm/node_modules/@mui/material/InputBase/utils.mjs +0 -33
  270. package/dist/esm/node_modules/@mui/material/InputBase/utils.mjs.map +0 -1
  271. package/dist/esm/node_modules/@mui/material/InputLabel/InputLabel.mjs +0 -217
  272. package/dist/esm/node_modules/@mui/material/InputLabel/InputLabel.mjs.map +0 -1
  273. package/dist/esm/node_modules/@mui/material/InputLabel/inputLabelClasses.mjs +0 -10
  274. package/dist/esm/node_modules/@mui/material/InputLabel/inputLabelClasses.mjs.map +0 -1
  275. package/dist/esm/node_modules/@mui/material/List/List.mjs +0 -91
  276. package/dist/esm/node_modules/@mui/material/List/List.mjs.map +0 -1
  277. package/dist/esm/node_modules/@mui/material/List/ListContext.mjs +0 -9
  278. package/dist/esm/node_modules/@mui/material/List/ListContext.mjs.map +0 -1
  279. package/dist/esm/node_modules/@mui/material/List/listClasses.mjs +0 -10
  280. package/dist/esm/node_modules/@mui/material/List/listClasses.mjs.map +0 -1
  281. package/dist/esm/node_modules/@mui/material/ListItemButton/listItemButtonClasses.mjs +0 -6
  282. package/dist/esm/node_modules/@mui/material/ListItemButton/listItemButtonClasses.mjs.map +0 -1
  283. package/dist/esm/node_modules/@mui/material/ListItemIcon/listItemIconClasses.mjs +0 -6
  284. package/dist/esm/node_modules/@mui/material/ListItemIcon/listItemIconClasses.mjs.map +0 -1
  285. package/dist/esm/node_modules/@mui/material/ListItemText/listItemTextClasses.mjs +0 -6
  286. package/dist/esm/node_modules/@mui/material/ListItemText/listItemTextClasses.mjs.map +0 -1
  287. package/dist/esm/node_modules/@mui/material/ListSubheader/ListSubheader.mjs +0 -120
  288. package/dist/esm/node_modules/@mui/material/ListSubheader/ListSubheader.mjs.map +0 -1
  289. package/dist/esm/node_modules/@mui/material/ListSubheader/listSubheaderClasses.mjs +0 -10
  290. package/dist/esm/node_modules/@mui/material/ListSubheader/listSubheaderClasses.mjs.map +0 -1
  291. package/dist/esm/node_modules/@mui/material/Menu/Menu.mjs +0 -192
  292. package/dist/esm/node_modules/@mui/material/Menu/Menu.mjs.map +0 -1
  293. package/dist/esm/node_modules/@mui/material/Menu/menuClasses.mjs +0 -10
  294. package/dist/esm/node_modules/@mui/material/Menu/menuClasses.mjs.map +0 -1
  295. package/dist/esm/node_modules/@mui/material/MenuItem/MenuItem.mjs +0 -206
  296. package/dist/esm/node_modules/@mui/material/MenuItem/MenuItem.mjs.map +0 -1
  297. package/dist/esm/node_modules/@mui/material/MenuItem/menuItemClasses.mjs +0 -10
  298. package/dist/esm/node_modules/@mui/material/MenuItem/menuItemClasses.mjs.map +0 -1
  299. package/dist/esm/node_modules/@mui/material/MenuList/MenuList.mjs +0 -239
  300. package/dist/esm/node_modules/@mui/material/MenuList/MenuList.mjs.map +0 -1
  301. package/dist/esm/node_modules/@mui/material/Modal/Modal.mjs +0 -225
  302. package/dist/esm/node_modules/@mui/material/Modal/Modal.mjs.map +0 -1
  303. package/dist/esm/node_modules/@mui/material/Modal/ModalManager.mjs +0 -217
  304. package/dist/esm/node_modules/@mui/material/Modal/ModalManager.mjs.map +0 -1
  305. package/dist/esm/node_modules/@mui/material/Modal/modalClasses.mjs +0 -10
  306. package/dist/esm/node_modules/@mui/material/Modal/modalClasses.mjs.map +0 -1
  307. package/dist/esm/node_modules/@mui/material/Modal/useModal.mjs +0 -204
  308. package/dist/esm/node_modules/@mui/material/Modal/useModal.mjs.map +0 -1
  309. package/dist/esm/node_modules/@mui/material/NativeSelect/NativeSelectInput.mjs +0 -184
  310. package/dist/esm/node_modules/@mui/material/NativeSelect/NativeSelectInput.mjs.map +0 -1
  311. package/dist/esm/node_modules/@mui/material/NativeSelect/nativeSelectClasses.mjs +0 -10
  312. package/dist/esm/node_modules/@mui/material/NativeSelect/nativeSelectClasses.mjs.map +0 -1
  313. package/dist/esm/node_modules/@mui/material/OutlinedInput/NotchedOutline.mjs +0 -129
  314. package/dist/esm/node_modules/@mui/material/OutlinedInput/NotchedOutline.mjs.map +0 -1
  315. package/dist/esm/node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs +0 -244
  316. package/dist/esm/node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs.map +0 -1
  317. package/dist/esm/node_modules/@mui/material/OutlinedInput/outlinedInputClasses.mjs +0 -14
  318. package/dist/esm/node_modules/@mui/material/OutlinedInput/outlinedInputClasses.mjs.map +0 -1
  319. package/dist/esm/node_modules/@mui/material/Paper/Paper.mjs +0 -108
  320. package/dist/esm/node_modules/@mui/material/Paper/Paper.mjs.map +0 -1
  321. package/dist/esm/node_modules/@mui/material/Paper/paperClasses.mjs +0 -10
  322. package/dist/esm/node_modules/@mui/material/Paper/paperClasses.mjs.map +0 -1
  323. package/dist/esm/node_modules/@mui/material/Popover/Popover.mjs +0 -341
  324. package/dist/esm/node_modules/@mui/material/Popover/Popover.mjs.map +0 -1
  325. package/dist/esm/node_modules/@mui/material/Popover/popoverClasses.mjs +0 -10
  326. package/dist/esm/node_modules/@mui/material/Popover/popoverClasses.mjs.map +0 -1
  327. package/dist/esm/node_modules/@mui/material/Popper/BasePopper.mjs +0 -240
  328. package/dist/esm/node_modules/@mui/material/Popper/BasePopper.mjs.map +0 -1
  329. package/dist/esm/node_modules/@mui/material/Popper/Popper.mjs +0 -77
  330. package/dist/esm/node_modules/@mui/material/Popper/Popper.mjs.map +0 -1
  331. package/dist/esm/node_modules/@mui/material/Popper/popperClasses.mjs +0 -10
  332. package/dist/esm/node_modules/@mui/material/Popper/popperClasses.mjs.map +0 -1
  333. package/dist/esm/node_modules/@mui/material/Portal/Portal.mjs +0 -59
  334. package/dist/esm/node_modules/@mui/material/Portal/Portal.mjs.map +0 -1
  335. package/dist/esm/node_modules/@mui/material/Radio/Radio.mjs +0 -176
  336. package/dist/esm/node_modules/@mui/material/Radio/Radio.mjs.map +0 -1
  337. package/dist/esm/node_modules/@mui/material/Radio/RadioButtonIcon.mjs +0 -72
  338. package/dist/esm/node_modules/@mui/material/Radio/RadioButtonIcon.mjs.map +0 -1
  339. package/dist/esm/node_modules/@mui/material/Radio/radioClasses.mjs +0 -10
  340. package/dist/esm/node_modules/@mui/material/Radio/radioClasses.mjs.map +0 -1
  341. package/dist/esm/node_modules/@mui/material/RadioGroup/RadioGroupContext.mjs +0 -9
  342. package/dist/esm/node_modules/@mui/material/RadioGroup/RadioGroupContext.mjs.map +0 -1
  343. package/dist/esm/node_modules/@mui/material/RadioGroup/useRadioGroup.mjs +0 -9
  344. package/dist/esm/node_modules/@mui/material/RadioGroup/useRadioGroup.mjs.map +0 -1
  345. package/dist/esm/node_modules/@mui/material/Select/Select.mjs +0 -153
  346. package/dist/esm/node_modules/@mui/material/Select/Select.mjs.map +0 -1
  347. package/dist/esm/node_modules/@mui/material/Select/SelectInput.mjs +0 -504
  348. package/dist/esm/node_modules/@mui/material/Select/SelectInput.mjs.map +0 -1
  349. package/dist/esm/node_modules/@mui/material/Select/selectClasses.mjs +0 -10
  350. package/dist/esm/node_modules/@mui/material/Select/selectClasses.mjs.map +0 -1
  351. package/dist/esm/node_modules/@mui/material/Snackbar/Snackbar.mjs +0 -212
  352. package/dist/esm/node_modules/@mui/material/Snackbar/Snackbar.mjs.map +0 -1
  353. package/dist/esm/node_modules/@mui/material/Snackbar/snackbarClasses.mjs +0 -10
  354. package/dist/esm/node_modules/@mui/material/Snackbar/snackbarClasses.mjs.map +0 -1
  355. package/dist/esm/node_modules/@mui/material/Snackbar/useSnackbar.mjs +0 -135
  356. package/dist/esm/node_modules/@mui/material/Snackbar/useSnackbar.mjs.map +0 -1
  357. package/dist/esm/node_modules/@mui/material/SnackbarContent/SnackbarContent.mjs +0 -101
  358. package/dist/esm/node_modules/@mui/material/SnackbarContent/SnackbarContent.mjs.map +0 -1
  359. package/dist/esm/node_modules/@mui/material/SnackbarContent/snackbarContentClasses.mjs +0 -10
  360. package/dist/esm/node_modules/@mui/material/SnackbarContent/snackbarContentClasses.mjs.map +0 -1
  361. package/dist/esm/node_modules/@mui/material/SvgIcon/SvgIcon.mjs +0 -162
  362. package/dist/esm/node_modules/@mui/material/SvgIcon/SvgIcon.mjs.map +0 -1
  363. package/dist/esm/node_modules/@mui/material/SvgIcon/svgIconClasses.mjs +0 -10
  364. package/dist/esm/node_modules/@mui/material/SvgIcon/svgIconClasses.mjs.map +0 -1
  365. package/dist/esm/node_modules/@mui/material/Switch/Switch.mjs +0 -247
  366. package/dist/esm/node_modules/@mui/material/Switch/Switch.mjs.map +0 -1
  367. package/dist/esm/node_modules/@mui/material/Switch/switchClasses.mjs +0 -10
  368. package/dist/esm/node_modules/@mui/material/Switch/switchClasses.mjs.map +0 -1
  369. package/dist/esm/node_modules/@mui/material/Table/Table.mjs +0 -94
  370. package/dist/esm/node_modules/@mui/material/Table/Table.mjs.map +0 -1
  371. package/dist/esm/node_modules/@mui/material/Table/TableContext.mjs +0 -9
  372. package/dist/esm/node_modules/@mui/material/Table/TableContext.mjs.map +0 -1
  373. package/dist/esm/node_modules/@mui/material/Table/Tablelvl2Context.mjs +0 -9
  374. package/dist/esm/node_modules/@mui/material/Table/Tablelvl2Context.mjs.map +0 -1
  375. package/dist/esm/node_modules/@mui/material/Table/tableClasses.mjs +0 -10
  376. package/dist/esm/node_modules/@mui/material/Table/tableClasses.mjs.map +0 -1
  377. package/dist/esm/node_modules/@mui/material/TableBody/TableBody.mjs +0 -59
  378. package/dist/esm/node_modules/@mui/material/TableBody/TableBody.mjs.map +0 -1
  379. package/dist/esm/node_modules/@mui/material/TableBody/tableBodyClasses.mjs +0 -10
  380. package/dist/esm/node_modules/@mui/material/TableBody/tableBodyClasses.mjs.map +0 -1
  381. package/dist/esm/node_modules/@mui/material/TableCell/TableCell.mjs +0 -212
  382. package/dist/esm/node_modules/@mui/material/TableCell/TableCell.mjs.map +0 -1
  383. package/dist/esm/node_modules/@mui/material/TableCell/tableCellClasses.mjs +0 -10
  384. package/dist/esm/node_modules/@mui/material/TableCell/tableCellClasses.mjs.map +0 -1
  385. package/dist/esm/node_modules/@mui/material/TableContainer/TableContainer.mjs +0 -51
  386. package/dist/esm/node_modules/@mui/material/TableContainer/TableContainer.mjs.map +0 -1
  387. package/dist/esm/node_modules/@mui/material/TableContainer/tableContainerClasses.mjs +0 -10
  388. package/dist/esm/node_modules/@mui/material/TableContainer/tableContainerClasses.mjs.map +0 -1
  389. package/dist/esm/node_modules/@mui/material/TableHead/TableHead.mjs +0 -59
  390. package/dist/esm/node_modules/@mui/material/TableHead/TableHead.mjs.map +0 -1
  391. package/dist/esm/node_modules/@mui/material/TableHead/tableHeadClasses.mjs +0 -10
  392. package/dist/esm/node_modules/@mui/material/TableHead/tableHeadClasses.mjs.map +0 -1
  393. package/dist/esm/node_modules/@mui/material/TablePagination/TablePagination.mjs +0 -308
  394. package/dist/esm/node_modules/@mui/material/TablePagination/TablePagination.mjs.map +0 -1
  395. package/dist/esm/node_modules/@mui/material/TablePagination/TablePaginationActions.mjs +0 -109
  396. package/dist/esm/node_modules/@mui/material/TablePagination/TablePaginationActions.mjs.map +0 -1
  397. package/dist/esm/node_modules/@mui/material/TablePagination/tablePaginationClasses.mjs +0 -10
  398. package/dist/esm/node_modules/@mui/material/TablePagination/tablePaginationClasses.mjs.map +0 -1
  399. package/dist/esm/node_modules/@mui/material/TableRow/TableRow.mjs +0 -90
  400. package/dist/esm/node_modules/@mui/material/TableRow/TableRow.mjs.map +0 -1
  401. package/dist/esm/node_modules/@mui/material/TableRow/tableRowClasses.mjs +0 -10
  402. package/dist/esm/node_modules/@mui/material/TableRow/tableRowClasses.mjs.map +0 -1
  403. package/dist/esm/node_modules/@mui/material/TextField/TextField.mjs +0 -239
  404. package/dist/esm/node_modules/@mui/material/TextField/TextField.mjs.map +0 -1
  405. package/dist/esm/node_modules/@mui/material/TextField/textFieldClasses.mjs +0 -10
  406. package/dist/esm/node_modules/@mui/material/TextField/textFieldClasses.mjs.map +0 -1
  407. package/dist/esm/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.mjs +0 -184
  408. package/dist/esm/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.mjs.map +0 -1
  409. package/dist/esm/node_modules/@mui/material/Toolbar/Toolbar.mjs +0 -91
  410. package/dist/esm/node_modules/@mui/material/Toolbar/Toolbar.mjs.map +0 -1
  411. package/dist/esm/node_modules/@mui/material/Toolbar/toolbarClasses.mjs +0 -10
  412. package/dist/esm/node_modules/@mui/material/Toolbar/toolbarClasses.mjs.map +0 -1
  413. package/dist/esm/node_modules/@mui/material/Tooltip/Tooltip.mjs +0 -676
  414. package/dist/esm/node_modules/@mui/material/Tooltip/Tooltip.mjs.map +0 -1
  415. package/dist/esm/node_modules/@mui/material/Tooltip/tooltipClasses.mjs +0 -10
  416. package/dist/esm/node_modules/@mui/material/Tooltip/tooltipClasses.mjs.map +0 -1
  417. package/dist/esm/node_modules/@mui/material/Typography/Typography.mjs +0 -183
  418. package/dist/esm/node_modules/@mui/material/Typography/Typography.mjs.map +0 -1
  419. package/dist/esm/node_modules/@mui/material/Typography/typographyClasses.mjs +0 -10
  420. package/dist/esm/node_modules/@mui/material/Typography/typographyClasses.mjs.map +0 -1
  421. package/dist/esm/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.mjs +0 -269
  422. package/dist/esm/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.mjs.map +0 -1
  423. package/dist/esm/node_modules/@mui/material/colors/blue.mjs +0 -9
  424. package/dist/esm/node_modules/@mui/material/colors/blue.mjs.map +0 -1
  425. package/dist/esm/node_modules/@mui/material/colors/common.mjs +0 -7
  426. package/dist/esm/node_modules/@mui/material/colors/common.mjs.map +0 -1
  427. package/dist/esm/node_modules/@mui/material/colors/green.mjs +0 -10
  428. package/dist/esm/node_modules/@mui/material/colors/green.mjs.map +0 -1
  429. package/dist/esm/node_modules/@mui/material/colors/grey.mjs +0 -19
  430. package/dist/esm/node_modules/@mui/material/colors/grey.mjs.map +0 -1
  431. package/dist/esm/node_modules/@mui/material/colors/lightBlue.mjs +0 -9
  432. package/dist/esm/node_modules/@mui/material/colors/lightBlue.mjs.map +0 -1
  433. package/dist/esm/node_modules/@mui/material/colors/orange.mjs +0 -9
  434. package/dist/esm/node_modules/@mui/material/colors/orange.mjs.map +0 -1
  435. package/dist/esm/node_modules/@mui/material/colors/purple.mjs +0 -10
  436. package/dist/esm/node_modules/@mui/material/colors/purple.mjs.map +0 -1
  437. package/dist/esm/node_modules/@mui/material/colors/red.mjs +0 -9
  438. package/dist/esm/node_modules/@mui/material/colors/red.mjs.map +0 -1
  439. package/dist/esm/node_modules/@mui/material/internal/SwitchBase.mjs +0 -193
  440. package/dist/esm/node_modules/@mui/material/internal/SwitchBase.mjs.map +0 -1
  441. package/dist/esm/node_modules/@mui/material/internal/svg-icons/ArrowDropDown.mjs +0 -10
  442. package/dist/esm/node_modules/@mui/material/internal/svg-icons/ArrowDropDown.mjs.map +0 -1
  443. package/dist/esm/node_modules/@mui/material/internal/svg-icons/Cancel.mjs +0 -10
  444. package/dist/esm/node_modules/@mui/material/internal/svg-icons/Cancel.mjs.map +0 -1
  445. package/dist/esm/node_modules/@mui/material/internal/svg-icons/CheckBox.mjs +0 -10
  446. package/dist/esm/node_modules/@mui/material/internal/svg-icons/CheckBox.mjs.map +0 -1
  447. package/dist/esm/node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.mjs +0 -10
  448. package/dist/esm/node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.mjs.map +0 -1
  449. package/dist/esm/node_modules/@mui/material/internal/svg-icons/Close.mjs +0 -10
  450. package/dist/esm/node_modules/@mui/material/internal/svg-icons/Close.mjs.map +0 -1
  451. package/dist/esm/node_modules/@mui/material/internal/svg-icons/ErrorOutline.mjs +0 -10
  452. package/dist/esm/node_modules/@mui/material/internal/svg-icons/ErrorOutline.mjs.map +0 -1
  453. package/dist/esm/node_modules/@mui/material/internal/svg-icons/FirstPage.mjs +0 -10
  454. package/dist/esm/node_modules/@mui/material/internal/svg-icons/FirstPage.mjs.map +0 -1
  455. package/dist/esm/node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.mjs +0 -10
  456. package/dist/esm/node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.mjs.map +0 -1
  457. package/dist/esm/node_modules/@mui/material/internal/svg-icons/InfoOutlined.mjs +0 -10
  458. package/dist/esm/node_modules/@mui/material/internal/svg-icons/InfoOutlined.mjs.map +0 -1
  459. package/dist/esm/node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.mjs +0 -10
  460. package/dist/esm/node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.mjs.map +0 -1
  461. package/dist/esm/node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.mjs +0 -10
  462. package/dist/esm/node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.mjs.map +0 -1
  463. package/dist/esm/node_modules/@mui/material/internal/svg-icons/LastPage.mjs +0 -10
  464. package/dist/esm/node_modules/@mui/material/internal/svg-icons/LastPage.mjs.map +0 -1
  465. package/dist/esm/node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.mjs +0 -10
  466. package/dist/esm/node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.mjs.map +0 -1
  467. package/dist/esm/node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.mjs +0 -10
  468. package/dist/esm/node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.mjs.map +0 -1
  469. package/dist/esm/node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs +0 -10
  470. package/dist/esm/node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs.map +0 -1
  471. package/dist/esm/node_modules/@mui/material/internal/svg-icons/SuccessOutlined.mjs +0 -10
  472. package/dist/esm/node_modules/@mui/material/internal/svg-icons/SuccessOutlined.mjs.map +0 -1
  473. package/dist/esm/node_modules/@mui/material/internal/switchBaseClasses.mjs +0 -10
  474. package/dist/esm/node_modules/@mui/material/internal/switchBaseClasses.mjs.map +0 -1
  475. package/dist/esm/node_modules/@mui/material/styles/ThemeProvider.mjs +0 -31
  476. package/dist/esm/node_modules/@mui/material/styles/ThemeProvider.mjs.map +0 -1
  477. package/dist/esm/node_modules/@mui/material/styles/ThemeProviderNoVars.mjs +0 -19
  478. package/dist/esm/node_modules/@mui/material/styles/ThemeProviderNoVars.mjs.map +0 -1
  479. package/dist/esm/node_modules/@mui/material/styles/ThemeProviderWithVars.mjs +0 -64
  480. package/dist/esm/node_modules/@mui/material/styles/ThemeProviderWithVars.mjs.map +0 -1
  481. package/dist/esm/node_modules/@mui/material/styles/createColorScheme.mjs +0 -45
  482. package/dist/esm/node_modules/@mui/material/styles/createColorScheme.mjs.map +0 -1
  483. package/dist/esm/node_modules/@mui/material/styles/createGetSelector.mjs +0 -64
  484. package/dist/esm/node_modules/@mui/material/styles/createGetSelector.mjs.map +0 -1
  485. package/dist/esm/node_modules/@mui/material/styles/createMixins.mjs +0 -19
  486. package/dist/esm/node_modules/@mui/material/styles/createMixins.mjs.map +0 -1
  487. package/dist/esm/node_modules/@mui/material/styles/createPalette.mjs +0 -295
  488. package/dist/esm/node_modules/@mui/material/styles/createPalette.mjs.map +0 -1
  489. package/dist/esm/node_modules/@mui/material/styles/createTheme.mjs +0 -102
  490. package/dist/esm/node_modules/@mui/material/styles/createTheme.mjs.map +0 -1
  491. package/dist/esm/node_modules/@mui/material/styles/createThemeNoVars.mjs +0 -59
  492. package/dist/esm/node_modules/@mui/material/styles/createThemeNoVars.mjs.map +0 -1
  493. package/dist/esm/node_modules/@mui/material/styles/createThemeWithVars.mjs +0 -394
  494. package/dist/esm/node_modules/@mui/material/styles/createThemeWithVars.mjs.map +0 -1
  495. package/dist/esm/node_modules/@mui/material/styles/createTransitions.mjs +0 -70
  496. package/dist/esm/node_modules/@mui/material/styles/createTransitions.mjs.map +0 -1
  497. package/dist/esm/node_modules/@mui/material/styles/createTypography.mjs +0 -88
  498. package/dist/esm/node_modules/@mui/material/styles/createTypography.mjs.map +0 -1
  499. package/dist/esm/node_modules/@mui/material/styles/defaultTheme.mjs +0 -6
  500. package/dist/esm/node_modules/@mui/material/styles/defaultTheme.mjs.map +0 -1
  501. package/dist/esm/node_modules/@mui/material/styles/excludeVariablesFromRoot.mjs +0 -7
  502. package/dist/esm/node_modules/@mui/material/styles/excludeVariablesFromRoot.mjs.map +0 -1
  503. package/dist/esm/node_modules/@mui/material/styles/getOverlayAlpha.mjs +0 -13
  504. package/dist/esm/node_modules/@mui/material/styles/getOverlayAlpha.mjs.map +0 -1
  505. package/dist/esm/node_modules/@mui/material/styles/identifier.mjs +0 -4
  506. package/dist/esm/node_modules/@mui/material/styles/identifier.mjs.map +0 -1
  507. package/dist/esm/node_modules/@mui/material/styles/rootShouldForwardProp.mjs +0 -6
  508. package/dist/esm/node_modules/@mui/material/styles/rootShouldForwardProp.mjs.map +0 -1
  509. package/dist/esm/node_modules/@mui/material/styles/shadows.mjs +0 -12
  510. package/dist/esm/node_modules/@mui/material/styles/shadows.mjs.map +0 -1
  511. package/dist/esm/node_modules/@mui/material/styles/shouldSkipGeneratingVar.mjs +0 -8
  512. package/dist/esm/node_modules/@mui/material/styles/shouldSkipGeneratingVar.mjs.map +0 -1
  513. package/dist/esm/node_modules/@mui/material/styles/slotShouldForwardProp.mjs +0 -7
  514. package/dist/esm/node_modules/@mui/material/styles/slotShouldForwardProp.mjs.map +0 -1
  515. package/dist/esm/node_modules/@mui/material/styles/stringifyTheme.mjs +0 -58
  516. package/dist/esm/node_modules/@mui/material/styles/stringifyTheme.mjs.map +0 -1
  517. package/dist/esm/node_modules/@mui/material/styles/styled.mjs +0 -13
  518. package/dist/esm/node_modules/@mui/material/styles/styled.mjs.map +0 -1
  519. package/dist/esm/node_modules/@mui/material/styles/useTheme.mjs +0 -12
  520. package/dist/esm/node_modules/@mui/material/styles/useTheme.mjs.map +0 -1
  521. package/dist/esm/node_modules/@mui/material/styles/zIndex.mjs +0 -15
  522. package/dist/esm/node_modules/@mui/material/styles/zIndex.mjs.map +0 -1
  523. package/dist/esm/node_modules/@mui/material/transitions/utils.mjs +0 -16
  524. package/dist/esm/node_modules/@mui/material/transitions/utils.mjs.map +0 -1
  525. package/dist/esm/node_modules/@mui/material/useAutocomplete/useAutocomplete.mjs +0 -941
  526. package/dist/esm/node_modules/@mui/material/useAutocomplete/useAutocomplete.mjs.map +0 -1
  527. package/dist/esm/node_modules/@mui/material/useLazyRipple/useLazyRipple.mjs +0 -87
  528. package/dist/esm/node_modules/@mui/material/useLazyRipple/useLazyRipple.mjs.map +0 -1
  529. package/dist/esm/node_modules/@mui/material/useMediaQuery/index.mjs +0 -9
  530. package/dist/esm/node_modules/@mui/material/useMediaQuery/index.mjs.map +0 -1
  531. package/dist/esm/node_modules/@mui/material/utils/capitalize.mjs +0 -6
  532. package/dist/esm/node_modules/@mui/material/utils/capitalize.mjs.map +0 -1
  533. package/dist/esm/node_modules/@mui/material/utils/createChainedFunction.mjs +0 -6
  534. package/dist/esm/node_modules/@mui/material/utils/createChainedFunction.mjs.map +0 -1
  535. package/dist/esm/node_modules/@mui/material/utils/createSimplePaletteValueFilter.mjs +0 -44
  536. package/dist/esm/node_modules/@mui/material/utils/createSimplePaletteValueFilter.mjs.map +0 -1
  537. package/dist/esm/node_modules/@mui/material/utils/createSvgIcon.mjs +0 -19
  538. package/dist/esm/node_modules/@mui/material/utils/createSvgIcon.mjs.map +0 -1
  539. package/dist/esm/node_modules/@mui/material/utils/debounce.mjs +0 -6
  540. package/dist/esm/node_modules/@mui/material/utils/debounce.mjs.map +0 -1
  541. package/dist/esm/node_modules/@mui/material/utils/getScrollbarSize.mjs +0 -6
  542. package/dist/esm/node_modules/@mui/material/utils/getScrollbarSize.mjs.map +0 -1
  543. package/dist/esm/node_modules/@mui/material/utils/isHostComponent.mjs +0 -9
  544. package/dist/esm/node_modules/@mui/material/utils/isHostComponent.mjs.map +0 -1
  545. package/dist/esm/node_modules/@mui/material/utils/isMuiElement.mjs +0 -6
  546. package/dist/esm/node_modules/@mui/material/utils/isMuiElement.mjs.map +0 -1
  547. package/dist/esm/node_modules/@mui/material/utils/memoTheme.mjs +0 -6
  548. package/dist/esm/node_modules/@mui/material/utils/memoTheme.mjs.map +0 -1
  549. package/dist/esm/node_modules/@mui/material/utils/ownerDocument.mjs +0 -6
  550. package/dist/esm/node_modules/@mui/material/utils/ownerDocument.mjs.map +0 -1
  551. package/dist/esm/node_modules/@mui/material/utils/ownerWindow.mjs +0 -6
  552. package/dist/esm/node_modules/@mui/material/utils/ownerWindow.mjs.map +0 -1
  553. package/dist/esm/node_modules/@mui/material/utils/useControlled.mjs +0 -6
  554. package/dist/esm/node_modules/@mui/material/utils/useControlled.mjs.map +0 -1
  555. package/dist/esm/node_modules/@mui/material/utils/useEnhancedEffect.mjs +0 -6
  556. package/dist/esm/node_modules/@mui/material/utils/useEnhancedEffect.mjs.map +0 -1
  557. package/dist/esm/node_modules/@mui/material/utils/useEventCallback.mjs +0 -6
  558. package/dist/esm/node_modules/@mui/material/utils/useEventCallback.mjs.map +0 -1
  559. package/dist/esm/node_modules/@mui/material/utils/useForkRef.mjs +0 -6
  560. package/dist/esm/node_modules/@mui/material/utils/useForkRef.mjs.map +0 -1
  561. package/dist/esm/node_modules/@mui/material/utils/useId.mjs +0 -6
  562. package/dist/esm/node_modules/@mui/material/utils/useId.mjs.map +0 -1
  563. package/dist/esm/node_modules/@mui/material/utils/useSlot.mjs +0 -82
  564. package/dist/esm/node_modules/@mui/material/utils/useSlot.mjs.map +0 -1
  565. package/dist/esm/node_modules/@mui/material/zero-styled/index.mjs +0 -27
  566. package/dist/esm/node_modules/@mui/material/zero-styled/index.mjs.map +0 -1
  567. package/dist/esm/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.mjs +0 -45
  568. package/dist/esm/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.mjs.map +0 -1
  569. package/dist/esm/node_modules/@mui/private-theming/ThemeProvider/nested.mjs +0 -5
  570. package/dist/esm/node_modules/@mui/private-theming/ThemeProvider/nested.mjs.map +0 -1
  571. package/dist/esm/node_modules/@mui/private-theming/useTheme/ThemeContext.mjs +0 -6
  572. package/dist/esm/node_modules/@mui/private-theming/useTheme/ThemeContext.mjs.map +0 -1
  573. package/dist/esm/node_modules/@mui/private-theming/useTheme/useTheme.mjs +0 -10
  574. package/dist/esm/node_modules/@mui/private-theming/useTheme/useTheme.mjs.map +0 -1
  575. package/dist/esm/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.mjs +0 -20
  576. package/dist/esm/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.mjs.map +0 -1
  577. package/dist/esm/node_modules/@mui/styled-engine/index.mjs +0 -35
  578. package/dist/esm/node_modules/@mui/styled-engine/index.mjs.map +0 -1
  579. package/dist/esm/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.mjs +0 -50
  580. package/dist/esm/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.mjs.map +0 -1
  581. package/dist/esm/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.mjs +0 -44
  582. package/dist/esm/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.mjs.map +0 -1
  583. package/dist/esm/node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.mjs +0 -82
  584. package/dist/esm/node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.mjs.map +0 -1
  585. package/dist/esm/node_modules/@mui/system/esm/RtlProvider/index.mjs +0 -20
  586. package/dist/esm/node_modules/@mui/system/esm/RtlProvider/index.mjs.map +0 -1
  587. package/dist/esm/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.mjs +0 -73
  588. package/dist/esm/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.mjs.map +0 -1
  589. package/dist/esm/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.mjs +0 -51
  590. package/dist/esm/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.mjs.map +0 -1
  591. package/dist/esm/node_modules/@mui/system/esm/borders/borders.mjs +0 -49
  592. package/dist/esm/node_modules/@mui/system/esm/borders/borders.mjs.map +0 -1
  593. package/dist/esm/node_modules/@mui/system/esm/breakpoints/breakpoints.mjs +0 -85
  594. package/dist/esm/node_modules/@mui/system/esm/breakpoints/breakpoints.mjs.map +0 -1
  595. package/dist/esm/node_modules/@mui/system/esm/colorManipulator/colorManipulator.mjs +0 -287
  596. package/dist/esm/node_modules/@mui/system/esm/colorManipulator/colorManipulator.mjs.map +0 -1
  597. package/dist/esm/node_modules/@mui/system/esm/compose/compose.mjs +0 -27
  598. package/dist/esm/node_modules/@mui/system/esm/compose/compose.mjs.map +0 -1
  599. package/dist/esm/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.mjs +0 -83
  600. package/dist/esm/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.mjs.map +0 -1
  601. package/dist/esm/node_modules/@mui/system/esm/createStyled/createStyled.mjs +0 -274
  602. package/dist/esm/node_modules/@mui/system/esm/createStyled/createStyled.mjs.map +0 -1
  603. package/dist/esm/node_modules/@mui/system/esm/createTheme/applyStyles.mjs +0 -90
  604. package/dist/esm/node_modules/@mui/system/esm/createTheme/applyStyles.mjs.map +0 -1
  605. package/dist/esm/node_modules/@mui/system/esm/createTheme/createSpacing.mjs +0 -29
  606. package/dist/esm/node_modules/@mui/system/esm/createTheme/createSpacing.mjs.map +0 -1
  607. package/dist/esm/node_modules/@mui/system/esm/createTheme/createTheme.mjs +0 -52
  608. package/dist/esm/node_modules/@mui/system/esm/createTheme/createTheme.mjs.map +0 -1
  609. package/dist/esm/node_modules/@mui/system/esm/createTheme/shape.mjs +0 -6
  610. package/dist/esm/node_modules/@mui/system/esm/createTheme/shape.mjs.map +0 -1
  611. package/dist/esm/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.mjs +0 -68
  612. package/dist/esm/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.mjs.map +0 -1
  613. package/dist/esm/node_modules/@mui/system/esm/cssGrid/cssGrid.mjs +0 -80
  614. package/dist/esm/node_modules/@mui/system/esm/cssGrid/cssGrid.mjs.map +0 -1
  615. package/dist/esm/node_modules/@mui/system/esm/cssVars/createCssVarsProvider.mjs +0 -258
  616. package/dist/esm/node_modules/@mui/system/esm/cssVars/createCssVarsProvider.mjs.map +0 -1
  617. package/dist/esm/node_modules/@mui/system/esm/cssVars/createGetCssVar.mjs +0 -25
  618. package/dist/esm/node_modules/@mui/system/esm/cssVars/createGetCssVar.mjs.map +0 -1
  619. package/dist/esm/node_modules/@mui/system/esm/cssVars/cssVarsParser.mjs +0 -132
  620. package/dist/esm/node_modules/@mui/system/esm/cssVars/cssVarsParser.mjs.map +0 -1
  621. package/dist/esm/node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.mjs +0 -24
  622. package/dist/esm/node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.mjs.map +0 -1
  623. package/dist/esm/node_modules/@mui/system/esm/cssVars/localStorageManager.mjs +0 -53
  624. package/dist/esm/node_modules/@mui/system/esm/cssVars/localStorageManager.mjs.map +0 -1
  625. package/dist/esm/node_modules/@mui/system/esm/cssVars/prepareCssVars.mjs +0 -156
  626. package/dist/esm/node_modules/@mui/system/esm/cssVars/prepareCssVars.mjs.map +0 -1
  627. package/dist/esm/node_modules/@mui/system/esm/cssVars/prepareTypographyVars.mjs +0 -14
  628. package/dist/esm/node_modules/@mui/system/esm/cssVars/prepareTypographyVars.mjs.map +0 -1
  629. package/dist/esm/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.mjs +0 -230
  630. package/dist/esm/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.mjs.map +0 -1
  631. package/dist/esm/node_modules/@mui/system/esm/memoTheme.mjs +0 -31
  632. package/dist/esm/node_modules/@mui/system/esm/memoTheme.mjs.map +0 -1
  633. package/dist/esm/node_modules/@mui/system/esm/memoize/memoize.mjs +0 -12
  634. package/dist/esm/node_modules/@mui/system/esm/memoize/memoize.mjs.map +0 -1
  635. package/dist/esm/node_modules/@mui/system/esm/merge/merge.mjs +0 -13
  636. package/dist/esm/node_modules/@mui/system/esm/merge/merge.mjs.map +0 -1
  637. package/dist/esm/node_modules/@mui/system/esm/palette/palette.mjs +0 -29
  638. package/dist/esm/node_modules/@mui/system/esm/palette/palette.mjs.map +0 -1
  639. package/dist/esm/node_modules/@mui/system/esm/preprocessStyles.mjs +0 -29
  640. package/dist/esm/node_modules/@mui/system/esm/preprocessStyles.mjs.map +0 -1
  641. package/dist/esm/node_modules/@mui/system/esm/sizing/sizing.mjs +0 -67
  642. package/dist/esm/node_modules/@mui/system/esm/sizing/sizing.mjs.map +0 -1
  643. package/dist/esm/node_modules/@mui/system/esm/spacing/spacing.mjs +0 -121
  644. package/dist/esm/node_modules/@mui/system/esm/spacing/spacing.mjs.map +0 -1
  645. package/dist/esm/node_modules/@mui/system/esm/style/style.mjs +0 -75
  646. package/dist/esm/node_modules/@mui/system/esm/style/style.mjs.map +0 -1
  647. package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.mjs +0 -297
  648. package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.mjs.map +0 -1
  649. package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.mjs +0 -55
  650. package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.mjs.map +0 -1
  651. package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.mjs +0 -137
  652. package/dist/esm/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.mjs.map +0 -1
  653. package/dist/esm/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.mjs +0 -110
  654. package/dist/esm/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.mjs.map +0 -1
  655. package/dist/esm/node_modules/@mui/system/esm/useTheme/useTheme.mjs +0 -10
  656. package/dist/esm/node_modules/@mui/system/esm/useTheme/useTheme.mjs.map +0 -1
  657. package/dist/esm/node_modules/@mui/system/esm/useThemeProps/getThemeProps.mjs +0 -16
  658. package/dist/esm/node_modules/@mui/system/esm/useThemeProps/getThemeProps.mjs.map +0 -1
  659. package/dist/esm/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.mjs +0 -13
  660. package/dist/esm/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.mjs.map +0 -1
  661. package/dist/esm/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.mjs +0 -19
  662. package/dist/esm/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.mjs.map +0 -1
  663. package/dist/esm/node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.mjs +0 -30
  664. package/dist/esm/node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.mjs.map +0 -1
  665. package/dist/esm/node_modules/@mui/utils/esm/capitalize/capitalize.mjs +0 -15
  666. package/dist/esm/node_modules/@mui/utils/esm/capitalize/capitalize.mjs.map +0 -1
  667. package/dist/esm/node_modules/@mui/utils/esm/clamp/clamp.mjs +0 -6
  668. package/dist/esm/node_modules/@mui/utils/esm/clamp/clamp.mjs.map +0 -1
  669. package/dist/esm/node_modules/@mui/utils/esm/composeClasses/composeClasses.mjs +0 -56
  670. package/dist/esm/node_modules/@mui/utils/esm/composeClasses/composeClasses.mjs.map +0 -1
  671. package/dist/esm/node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.mjs +0 -20
  672. package/dist/esm/node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.mjs.map +0 -1
  673. package/dist/esm/node_modules/@mui/utils/esm/debounce/debounce.mjs +0 -20
  674. package/dist/esm/node_modules/@mui/utils/esm/debounce/debounce.mjs.map +0 -1
  675. package/dist/esm/node_modules/@mui/utils/esm/deepmerge/deepmerge.mjs +0 -67
  676. package/dist/esm/node_modules/@mui/utils/esm/deepmerge/deepmerge.mjs.map +0 -1
  677. package/dist/esm/node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.mjs +0 -20
  678. package/dist/esm/node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.mjs.map +0 -1
  679. package/dist/esm/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.mjs +0 -18
  680. package/dist/esm/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.mjs.map +0 -1
  681. package/dist/esm/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.mjs +0 -23
  682. package/dist/esm/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.mjs.map +0 -1
  683. package/dist/esm/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.mjs +0 -12
  684. package/dist/esm/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.mjs.map +0 -1
  685. package/dist/esm/node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.mjs +0 -21
  686. package/dist/esm/node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.mjs.map +0 -1
  687. package/dist/esm/node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.mjs +0 -10
  688. package/dist/esm/node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.mjs.map +0 -1
  689. package/dist/esm/node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.mjs +0 -13
  690. package/dist/esm/node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.mjs.map +0 -1
  691. package/dist/esm/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.mjs +0 -9
  692. package/dist/esm/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.mjs.map +0 -1
  693. package/dist/esm/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.mjs +0 -12
  694. package/dist/esm/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.mjs.map +0 -1
  695. package/dist/esm/node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.mjs +0 -93
  696. package/dist/esm/node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.mjs.map +0 -1
  697. package/dist/esm/node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.mjs +0 -20
  698. package/dist/esm/node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.mjs.map +0 -1
  699. package/dist/esm/node_modules/@mui/utils/esm/ownerDocument/ownerDocument.mjs +0 -6
  700. package/dist/esm/node_modules/@mui/utils/esm/ownerDocument/ownerDocument.mjs.map +0 -1
  701. package/dist/esm/node_modules/@mui/utils/esm/ownerWindow/ownerWindow.mjs +0 -9
  702. package/dist/esm/node_modules/@mui/utils/esm/ownerWindow/ownerWindow.mjs.map +0 -1
  703. package/dist/esm/node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.mjs +0 -13
  704. package/dist/esm/node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.mjs.map +0 -1
  705. package/dist/esm/node_modules/@mui/utils/esm/resolveProps/resolveProps.mjs +0 -46
  706. package/dist/esm/node_modules/@mui/utils/esm/resolveProps/resolveProps.mjs.map +0 -1
  707. package/dist/esm/node_modules/@mui/utils/esm/setRef/setRef.mjs +0 -23
  708. package/dist/esm/node_modules/@mui/utils/esm/setRef/setRef.mjs.map +0 -1
  709. package/dist/esm/node_modules/@mui/utils/esm/useControlled/useControlled.mjs +0 -24
  710. package/dist/esm/node_modules/@mui/utils/esm/useControlled/useControlled.mjs.map +0 -1
  711. package/dist/esm/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.mjs +0 -13
  712. package/dist/esm/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.mjs.map +0 -1
  713. package/dist/esm/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.mjs +0 -20
  714. package/dist/esm/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.mjs.map +0 -1
  715. package/dist/esm/node_modules/@mui/utils/esm/useForkRef/useForkRef.mjs +0 -61
  716. package/dist/esm/node_modules/@mui/utils/esm/useForkRef/useForkRef.mjs.map +0 -1
  717. package/dist/esm/node_modules/@mui/utils/esm/useId/useId.mjs +0 -47
  718. package/dist/esm/node_modules/@mui/utils/esm/useId/useId.mjs.map +0 -1
  719. package/dist/esm/node_modules/@mui/utils/esm/useLazyRef/useLazyRef.mjs +0 -21
  720. package/dist/esm/node_modules/@mui/utils/esm/useLazyRef/useLazyRef.mjs.map +0 -1
  721. package/dist/esm/node_modules/@mui/utils/esm/useOnMount/useOnMount.mjs +0 -16
  722. package/dist/esm/node_modules/@mui/utils/esm/useOnMount/useOnMount.mjs.map +0 -1
  723. package/dist/esm/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.mjs +0 -12
  724. package/dist/esm/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.mjs.map +0 -1
  725. package/dist/esm/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.mjs +0 -39
  726. package/dist/esm/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.mjs.map +0 -1
  727. package/dist/esm/node_modules/@mui/utils/esm/useTimeout/useTimeout.mjs +0 -37
  728. package/dist/esm/node_modules/@mui/utils/esm/useTimeout/useTimeout.mjs.map +0 -1
  729. package/dist/esm/node_modules/@popperjs/core/lib/createPopper.mjs +0 -199
  730. package/dist/esm/node_modules/@popperjs/core/lib/createPopper.mjs.map +0 -1
  731. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/contains.mjs +0 -27
  732. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/contains.mjs.map +0 -1
  733. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.mjs +0 -45
  734. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.mjs.map +0 -1
  735. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.mjs +0 -73
  736. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.mjs.map +0 -1
  737. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.mjs +0 -61
  738. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.mjs.map +0 -1
  739. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.mjs +0 -8
  740. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.mjs.map +0 -1
  741. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.mjs +0 -10
  742. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.mjs.map +0 -1
  743. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.mjs +0 -33
  744. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.mjs.map +0 -1
  745. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.mjs +0 -9
  746. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.mjs.map +0 -1
  747. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.mjs +0 -29
  748. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.mjs.map +0 -1
  749. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getNodeName.mjs +0 -6
  750. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getNodeName.mjs.map +0 -1
  751. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.mjs +0 -15
  752. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.mjs.map +0 -1
  753. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.mjs +0 -72
  754. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.mjs.map +0 -1
  755. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getParentNode.mjs +0 -23
  756. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getParentNode.mjs.map +0 -1
  757. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.mjs +0 -20
  758. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.mjs.map +0 -1
  759. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.mjs +0 -35
  760. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.mjs.map +0 -1
  761. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindow.mjs +0 -15
  762. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindow.mjs.map +0 -1
  763. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.mjs +0 -14
  764. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.mjs.map +0 -1
  765. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.mjs +0 -17
  766. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.mjs.map +0 -1
  767. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/instanceOf.mjs +0 -24
  768. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/instanceOf.mjs.map +0 -1
  769. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.mjs +0 -8
  770. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.mjs.map +0 -1
  771. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.mjs +0 -14
  772. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.mjs.map +0 -1
  773. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isTableElement.mjs +0 -8
  774. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/isTableElement.mjs.map +0 -1
  775. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.mjs +0 -30
  776. package/dist/esm/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.mjs.map +0 -1
  777. package/dist/esm/node_modules/@popperjs/core/lib/enums.mjs +0 -34
  778. package/dist/esm/node_modules/@popperjs/core/lib/enums.mjs.map +0 -1
  779. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/applyStyles.mjs +0 -88
  780. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/applyStyles.mjs.map +0 -1
  781. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/arrow.mjs +0 -93
  782. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/arrow.mjs.map +0 -1
  783. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/computeStyles.mjs +0 -172
  784. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/computeStyles.mjs.map +0 -1
  785. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/eventListeners.mjs +0 -52
  786. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/eventListeners.mjs.map +0 -1
  787. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/flip.mjs +0 -150
  788. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/flip.mjs.map +0 -1
  789. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/hide.mjs +0 -64
  790. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/hide.mjs.map +0 -1
  791. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/offset.mjs +0 -57
  792. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/offset.mjs.map +0 -1
  793. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/popperOffsets.mjs +0 -27
  794. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/popperOffsets.mjs.map +0 -1
  795. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/preventOverflow.mjs +0 -145
  796. package/dist/esm/node_modules/@popperjs/core/lib/modifiers/preventOverflow.mjs.map +0 -1
  797. package/dist/esm/node_modules/@popperjs/core/lib/popper.mjs +0 -18
  798. package/dist/esm/node_modules/@popperjs/core/lib/popper.mjs.map +0 -1
  799. package/dist/esm/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.mjs +0 -47
  800. package/dist/esm/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.mjs.map +0 -1
  801. package/dist/esm/node_modules/@popperjs/core/lib/utils/computeOffsets.mjs +0 -72
  802. package/dist/esm/node_modules/@popperjs/core/lib/utils/computeOffsets.mjs.map +0 -1
  803. package/dist/esm/node_modules/@popperjs/core/lib/utils/debounce.mjs +0 -18
  804. package/dist/esm/node_modules/@popperjs/core/lib/utils/debounce.mjs.map +0 -1
  805. package/dist/esm/node_modules/@popperjs/core/lib/utils/detectOverflow.mjs +0 -67
  806. package/dist/esm/node_modules/@popperjs/core/lib/utils/detectOverflow.mjs.map +0 -1
  807. package/dist/esm/node_modules/@popperjs/core/lib/utils/expandToHashMap.mjs +0 -9
  808. package/dist/esm/node_modules/@popperjs/core/lib/utils/expandToHashMap.mjs.map +0 -1
  809. package/dist/esm/node_modules/@popperjs/core/lib/utils/getAltAxis.mjs +0 -6
  810. package/dist/esm/node_modules/@popperjs/core/lib/utils/getAltAxis.mjs.map +0 -1
  811. package/dist/esm/node_modules/@popperjs/core/lib/utils/getBasePlacement.mjs +0 -6
  812. package/dist/esm/node_modules/@popperjs/core/lib/utils/getBasePlacement.mjs.map +0 -1
  813. package/dist/esm/node_modules/@popperjs/core/lib/utils/getFreshSideObject.mjs +0 -11
  814. package/dist/esm/node_modules/@popperjs/core/lib/utils/getFreshSideObject.mjs.map +0 -1
  815. package/dist/esm/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.mjs +0 -6
  816. package/dist/esm/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.mjs.map +0 -1
  817. package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositePlacement.mjs +0 -14
  818. package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositePlacement.mjs.map +0 -1
  819. package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.mjs +0 -12
  820. package/dist/esm/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.mjs.map +0 -1
  821. package/dist/esm/node_modules/@popperjs/core/lib/utils/getVariation.mjs +0 -6
  822. package/dist/esm/node_modules/@popperjs/core/lib/utils/getVariation.mjs.map +0 -1
  823. package/dist/esm/node_modules/@popperjs/core/lib/utils/math.mjs +0 -6
  824. package/dist/esm/node_modules/@popperjs/core/lib/utils/math.mjs.map +0 -1
  825. package/dist/esm/node_modules/@popperjs/core/lib/utils/mergeByName.mjs +0 -17
  826. package/dist/esm/node_modules/@popperjs/core/lib/utils/mergeByName.mjs.map +0 -1
  827. package/dist/esm/node_modules/@popperjs/core/lib/utils/mergePaddingObject.mjs +0 -8
  828. package/dist/esm/node_modules/@popperjs/core/lib/utils/mergePaddingObject.mjs.map +0 -1
  829. package/dist/esm/node_modules/@popperjs/core/lib/utils/orderModifiers.mjs +0 -47
  830. package/dist/esm/node_modules/@popperjs/core/lib/utils/orderModifiers.mjs.map +0 -1
  831. package/dist/esm/node_modules/@popperjs/core/lib/utils/rectToClientRect.mjs +0 -11
  832. package/dist/esm/node_modules/@popperjs/core/lib/utils/rectToClientRect.mjs.map +0 -1
  833. package/dist/esm/node_modules/@popperjs/core/lib/utils/userAgent.mjs +0 -14
  834. package/dist/esm/node_modules/@popperjs/core/lib/utils/userAgent.mjs.map +0 -1
  835. package/dist/esm/node_modules/@popperjs/core/lib/utils/within.mjs +0 -12
  836. package/dist/esm/node_modules/@popperjs/core/lib/utils/within.mjs.map +0 -1
  837. package/dist/esm/node_modules/@radix-ui/primitive/dist/index.mjs +0 -12
  838. package/dist/esm/node_modules/@radix-ui/primitive/dist/index.mjs.map +0 -1
  839. package/dist/esm/node_modules/@radix-ui/react-collection/dist/index.mjs +0 -71
  840. package/dist/esm/node_modules/@radix-ui/react-collection/dist/index.mjs.map +0 -1
  841. package/dist/esm/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +0 -40
  842. package/dist/esm/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +0 -1
  843. package/dist/esm/node_modules/@radix-ui/react-context/dist/index.mjs +0 -64
  844. package/dist/esm/node_modules/@radix-ui/react-context/dist/index.mjs.map +0 -1
  845. package/dist/esm/node_modules/@radix-ui/react-direction/dist/index.mjs +0 -12
  846. package/dist/esm/node_modules/@radix-ui/react-direction/dist/index.mjs.map +0 -1
  847. package/dist/esm/node_modules/@radix-ui/react-id/dist/index.mjs +0 -16
  848. package/dist/esm/node_modules/@radix-ui/react-id/dist/index.mjs.map +0 -1
  849. package/dist/esm/node_modules/@radix-ui/react-presence/dist/index.mjs +0 -131
  850. package/dist/esm/node_modules/@radix-ui/react-presence/dist/index.mjs.map +0 -1
  851. package/dist/esm/node_modules/@radix-ui/react-primitive/dist/index.mjs +0 -41
  852. package/dist/esm/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +0 -1
  853. package/dist/esm/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +0 -228
  854. package/dist/esm/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.map +0 -1
  855. package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.mjs +0 -90
  856. package/dist/esm/node_modules/@radix-ui/react-slot/dist/index.mjs.map +0 -1
  857. package/dist/esm/node_modules/@radix-ui/react-tabs/dist/index.mjs +0 -188
  858. package/dist/esm/node_modules/@radix-ui/react-tabs/dist/index.mjs.map +0 -1
  859. package/dist/esm/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +0 -13
  860. package/dist/esm/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.map +0 -1
  861. package/dist/esm/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +0 -71
  862. package/dist/esm/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +0 -1
  863. package/dist/esm/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +0 -8
  864. package/dist/esm/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +0 -1
  865. package/dist/esm/node_modules/base-x/src/index.mjs +0 -134
  866. package/dist/esm/node_modules/base-x/src/index.mjs.map +0 -1
  867. package/dist/esm/node_modules/bs58/index.mjs +0 -17
  868. package/dist/esm/node_modules/bs58/index.mjs.map +0 -1
  869. package/dist/esm/node_modules/chroma-js/index.mjs +0 -85
  870. package/dist/esm/node_modules/chroma-js/index.mjs.map +0 -1
  871. package/dist/esm/node_modules/chroma-js/src/Color.mjs +0 -53
  872. package/dist/esm/node_modules/chroma-js/src/Color.mjs.map +0 -1
  873. package/dist/esm/node_modules/chroma-js/src/chroma.mjs +0 -11
  874. package/dist/esm/node_modules/chroma-js/src/chroma.mjs.map +0 -1
  875. package/dist/esm/node_modules/chroma-js/src/colors/colorbrewer.mjs +0 -82
  876. package/dist/esm/node_modules/chroma-js/src/colors/colorbrewer.mjs.map +0 -1
  877. package/dist/esm/node_modules/chroma-js/src/colors/w3cx11.mjs +0 -165
  878. package/dist/esm/node_modules/chroma-js/src/colors/w3cx11.mjs.map +0 -1
  879. package/dist/esm/node_modules/chroma-js/src/generator/average.mjs +0 -92
  880. package/dist/esm/node_modules/chroma-js/src/generator/average.mjs.map +0 -1
  881. package/dist/esm/node_modules/chroma-js/src/generator/bezier.mjs +0 -89
  882. package/dist/esm/node_modules/chroma-js/src/generator/bezier.mjs.map +0 -1
  883. package/dist/esm/node_modules/chroma-js/src/generator/blend.mjs +0 -58
  884. package/dist/esm/node_modules/chroma-js/src/generator/blend.mjs.map +0 -1
  885. package/dist/esm/node_modules/chroma-js/src/generator/cubehelix.mjs +0 -93
  886. package/dist/esm/node_modules/chroma-js/src/generator/cubehelix.mjs.map +0 -1
  887. package/dist/esm/node_modules/chroma-js/src/generator/mix.mjs +0 -22
  888. package/dist/esm/node_modules/chroma-js/src/generator/mix.mjs.map +0 -1
  889. package/dist/esm/node_modules/chroma-js/src/generator/random.mjs +0 -16
  890. package/dist/esm/node_modules/chroma-js/src/generator/random.mjs.map +0 -1
  891. package/dist/esm/node_modules/chroma-js/src/generator/scale.mjs +0 -398
  892. package/dist/esm/node_modules/chroma-js/src/generator/scale.mjs.map +0 -1
  893. package/dist/esm/node_modules/chroma-js/src/interpolator/_hsx.mjs +0 -62
  894. package/dist/esm/node_modules/chroma-js/src/interpolator/_hsx.mjs.map +0 -1
  895. package/dist/esm/node_modules/chroma-js/src/interpolator/hcg.mjs +0 -13
  896. package/dist/esm/node_modules/chroma-js/src/interpolator/hcg.mjs.map +0 -1
  897. package/dist/esm/node_modules/chroma-js/src/interpolator/hsi.mjs +0 -13
  898. package/dist/esm/node_modules/chroma-js/src/interpolator/hsi.mjs.map +0 -1
  899. package/dist/esm/node_modules/chroma-js/src/interpolator/hsl.mjs +0 -13
  900. package/dist/esm/node_modules/chroma-js/src/interpolator/hsl.mjs.map +0 -1
  901. package/dist/esm/node_modules/chroma-js/src/interpolator/hsv.mjs +0 -13
  902. package/dist/esm/node_modules/chroma-js/src/interpolator/hsv.mjs.map +0 -1
  903. package/dist/esm/node_modules/chroma-js/src/interpolator/index.mjs +0 -4
  904. package/dist/esm/node_modules/chroma-js/src/interpolator/index.mjs.map +0 -1
  905. package/dist/esm/node_modules/chroma-js/src/interpolator/lab.mjs +0 -20
  906. package/dist/esm/node_modules/chroma-js/src/interpolator/lab.mjs.map +0 -1
  907. package/dist/esm/node_modules/chroma-js/src/interpolator/lch.mjs +0 -14
  908. package/dist/esm/node_modules/chroma-js/src/interpolator/lch.mjs.map +0 -1
  909. package/dist/esm/node_modules/chroma-js/src/interpolator/lrgb.mjs +0 -21
  910. package/dist/esm/node_modules/chroma-js/src/interpolator/lrgb.mjs.map +0 -1
  911. package/dist/esm/node_modules/chroma-js/src/interpolator/num.mjs +0 -15
  912. package/dist/esm/node_modules/chroma-js/src/interpolator/num.mjs.map +0 -1
  913. package/dist/esm/node_modules/chroma-js/src/interpolator/oklab.mjs +0 -20
  914. package/dist/esm/node_modules/chroma-js/src/interpolator/oklab.mjs.map +0 -1
  915. package/dist/esm/node_modules/chroma-js/src/interpolator/oklch.mjs +0 -13
  916. package/dist/esm/node_modules/chroma-js/src/interpolator/oklch.mjs.map +0 -1
  917. package/dist/esm/node_modules/chroma-js/src/interpolator/rgb.mjs +0 -19
  918. package/dist/esm/node_modules/chroma-js/src/interpolator/rgb.mjs.map +0 -1
  919. package/dist/esm/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.mjs +0 -18
  920. package/dist/esm/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.mjs.map +0 -1
  921. package/dist/esm/node_modules/chroma-js/src/io/cmyk/index.mjs +0 -29
  922. package/dist/esm/node_modules/chroma-js/src/io/cmyk/index.mjs.map +0 -1
  923. package/dist/esm/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.mjs +0 -20
  924. package/dist/esm/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.mjs.map +0 -1
  925. package/dist/esm/node_modules/chroma-js/src/io/css/css2rgb.mjs +0 -239
  926. package/dist/esm/node_modules/chroma-js/src/io/css/css2rgb.mjs.map +0 -1
  927. package/dist/esm/node_modules/chroma-js/src/io/css/hsl2css.mjs +0 -29
  928. package/dist/esm/node_modules/chroma-js/src/io/css/hsl2css.mjs.map +0 -1
  929. package/dist/esm/node_modules/chroma-js/src/io/css/index.mjs +0 -27
  930. package/dist/esm/node_modules/chroma-js/src/io/css/index.mjs.map +0 -1
  931. package/dist/esm/node_modules/chroma-js/src/io/css/lab2css.mjs +0 -27
  932. package/dist/esm/node_modules/chroma-js/src/io/css/lab2css.mjs.map +0 -1
  933. package/dist/esm/node_modules/chroma-js/src/io/css/lch2css.mjs +0 -27
  934. package/dist/esm/node_modules/chroma-js/src/io/css/lch2css.mjs.map +0 -1
  935. package/dist/esm/node_modules/chroma-js/src/io/css/oklab2css.mjs +0 -18
  936. package/dist/esm/node_modules/chroma-js/src/io/css/oklab2css.mjs.map +0 -1
  937. package/dist/esm/node_modules/chroma-js/src/io/css/oklch2css.mjs +0 -18
  938. package/dist/esm/node_modules/chroma-js/src/io/css/oklch2css.mjs.map +0 -1
  939. package/dist/esm/node_modules/chroma-js/src/io/css/rgb2css.mjs +0 -65
  940. package/dist/esm/node_modules/chroma-js/src/io/css/rgb2css.mjs.map +0 -1
  941. package/dist/esm/node_modules/chroma-js/src/io/gl/index.mjs +0 -24
  942. package/dist/esm/node_modules/chroma-js/src/io/gl/index.mjs.map +0 -1
  943. package/dist/esm/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs +0 -58
  944. package/dist/esm/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs.map +0 -1
  945. package/dist/esm/node_modules/chroma-js/src/io/hcg/index.mjs +0 -29
  946. package/dist/esm/node_modules/chroma-js/src/io/hcg/index.mjs.map +0 -1
  947. package/dist/esm/node_modules/chroma-js/src/io/hcg/rgb2hcg.mjs +0 -25
  948. package/dist/esm/node_modules/chroma-js/src/io/hcg/rgb2hcg.mjs.map +0 -1
  949. package/dist/esm/node_modules/chroma-js/src/io/hex/hex2rgb.mjs +0 -57
  950. package/dist/esm/node_modules/chroma-js/src/io/hex/hex2rgb.mjs.map +0 -1
  951. package/dist/esm/node_modules/chroma-js/src/io/hex/index.mjs +0 -30
  952. package/dist/esm/node_modules/chroma-js/src/io/hex/index.mjs.map +0 -1
  953. package/dist/esm/node_modules/chroma-js/src/io/hex/rgb2hex.mjs +0 -33
  954. package/dist/esm/node_modules/chroma-js/src/io/hex/rgb2hex.mjs.map +0 -1
  955. package/dist/esm/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs +0 -49
  956. package/dist/esm/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs.map +0 -1
  957. package/dist/esm/node_modules/chroma-js/src/io/hsi/index.mjs +0 -29
  958. package/dist/esm/node_modules/chroma-js/src/io/hsi/index.mjs.map +0 -1
  959. package/dist/esm/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs +0 -34
  960. package/dist/esm/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs.map +0 -1
  961. package/dist/esm/node_modules/chroma-js/src/io/hsl/hsl2rgb.mjs +0 -37
  962. package/dist/esm/node_modules/chroma-js/src/io/hsl/hsl2rgb.mjs.map +0 -1
  963. package/dist/esm/node_modules/chroma-js/src/io/hsl/index.mjs +0 -29
  964. package/dist/esm/node_modules/chroma-js/src/io/hsl/index.mjs.map +0 -1
  965. package/dist/esm/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs +0 -47
  966. package/dist/esm/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs.map +0 -1
  967. package/dist/esm/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs +0 -50
  968. package/dist/esm/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs.map +0 -1
  969. package/dist/esm/node_modules/chroma-js/src/io/hsv/index.mjs +0 -29
  970. package/dist/esm/node_modules/chroma-js/src/io/hsv/index.mjs.map +0 -1
  971. package/dist/esm/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs +0 -35
  972. package/dist/esm/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs.map +0 -1
  973. package/dist/esm/node_modules/chroma-js/src/io/input.mjs +0 -7
  974. package/dist/esm/node_modules/chroma-js/src/io/input.mjs.map +0 -1
  975. package/dist/esm/node_modules/chroma-js/src/io/lab/index.mjs +0 -30
  976. package/dist/esm/node_modules/chroma-js/src/io/lab/index.mjs.map +0 -1
  977. package/dist/esm/node_modules/chroma-js/src/io/lab/lab-constants.mjs +0 -116
  978. package/dist/esm/node_modules/chroma-js/src/io/lab/lab-constants.mjs.map +0 -1
  979. package/dist/esm/node_modules/chroma-js/src/io/lab/lab2rgb.mjs +0 -102
  980. package/dist/esm/node_modules/chroma-js/src/io/lab/lab2rgb.mjs.map +0 -1
  981. package/dist/esm/node_modules/chroma-js/src/io/lab/rgb2lab.mjs +0 -68
  982. package/dist/esm/node_modules/chroma-js/src/io/lab/rgb2lab.mjs.map +0 -1
  983. package/dist/esm/node_modules/chroma-js/src/io/lch/hcl2rgb.mjs +0 -11
  984. package/dist/esm/node_modules/chroma-js/src/io/lch/hcl2rgb.mjs.map +0 -1
  985. package/dist/esm/node_modules/chroma-js/src/io/lch/index.mjs +0 -38
  986. package/dist/esm/node_modules/chroma-js/src/io/lch/index.mjs.map +0 -1
  987. package/dist/esm/node_modules/chroma-js/src/io/lch/lab2lch.mjs +0 -15
  988. package/dist/esm/node_modules/chroma-js/src/io/lch/lab2lch.mjs.map +0 -1
  989. package/dist/esm/node_modules/chroma-js/src/io/lch/lch2lab.mjs +0 -21
  990. package/dist/esm/node_modules/chroma-js/src/io/lch/lch2lab.mjs.map +0 -1
  991. package/dist/esm/node_modules/chroma-js/src/io/lch/lch2rgb.mjs +0 -15
  992. package/dist/esm/node_modules/chroma-js/src/io/lch/lch2rgb.mjs.map +0 -1
  993. package/dist/esm/node_modules/chroma-js/src/io/lch/rgb2lch.mjs +0 -14
  994. package/dist/esm/node_modules/chroma-js/src/io/lch/rgb2lch.mjs.map +0 -1
  995. package/dist/esm/node_modules/chroma-js/src/io/named/index.mjs +0 -30
  996. package/dist/esm/node_modules/chroma-js/src/io/named/index.mjs.map +0 -1
  997. package/dist/esm/node_modules/chroma-js/src/io/num/index.mjs +0 -33
  998. package/dist/esm/node_modules/chroma-js/src/io/num/index.mjs.map +0 -1
  999. package/dist/esm/node_modules/chroma-js/src/io/num/num2rgb.mjs +0 -14
  1000. package/dist/esm/node_modules/chroma-js/src/io/num/num2rgb.mjs.map +0 -1
  1001. package/dist/esm/node_modules/chroma-js/src/io/num/rgb2num.mjs +0 -10
  1002. package/dist/esm/node_modules/chroma-js/src/io/num/rgb2num.mjs.map +0 -1
  1003. package/dist/esm/node_modules/chroma-js/src/io/oklab/index.mjs +0 -29
  1004. package/dist/esm/node_modules/chroma-js/src/io/oklab/index.mjs.map +0 -1
  1005. package/dist/esm/node_modules/chroma-js/src/io/oklab/oklab2rgb.mjs +0 -36
  1006. package/dist/esm/node_modules/chroma-js/src/io/oklab/oklab2rgb.mjs.map +0 -1
  1007. package/dist/esm/node_modules/chroma-js/src/io/oklab/rgb2oklab.mjs +0 -39
  1008. package/dist/esm/node_modules/chroma-js/src/io/oklab/rgb2oklab.mjs.map +0 -1
  1009. package/dist/esm/node_modules/chroma-js/src/io/oklch/index.mjs +0 -29
  1010. package/dist/esm/node_modules/chroma-js/src/io/oklch/index.mjs.map +0 -1
  1011. package/dist/esm/node_modules/chroma-js/src/io/oklch/oklch2rgb.mjs +0 -15
  1012. package/dist/esm/node_modules/chroma-js/src/io/oklch/oklch2rgb.mjs.map +0 -1
  1013. package/dist/esm/node_modules/chroma-js/src/io/oklch/rgb2oklch.mjs +0 -14
  1014. package/dist/esm/node_modules/chroma-js/src/io/oklch/rgb2oklch.mjs.map +0 -1
  1015. package/dist/esm/node_modules/chroma-js/src/io/rgb/index.mjs +0 -47
  1016. package/dist/esm/node_modules/chroma-js/src/io/rgb/index.mjs.map +0 -1
  1017. package/dist/esm/node_modules/chroma-js/src/io/temp/index.mjs +0 -23
  1018. package/dist/esm/node_modules/chroma-js/src/io/temp/index.mjs.map +0 -1
  1019. package/dist/esm/node_modules/chroma-js/src/io/temp/rgb2temperature.mjs +0 -33
  1020. package/dist/esm/node_modules/chroma-js/src/io/temp/rgb2temperature.mjs.map +0 -1
  1021. package/dist/esm/node_modules/chroma-js/src/io/temp/temperature2rgb.mjs +0 -40
  1022. package/dist/esm/node_modules/chroma-js/src/io/temp/temperature2rgb.mjs.map +0 -1
  1023. package/dist/esm/node_modules/chroma-js/src/ops/alpha.mjs +0 -14
  1024. package/dist/esm/node_modules/chroma-js/src/ops/alpha.mjs.map +0 -1
  1025. package/dist/esm/node_modules/chroma-js/src/ops/clipped.mjs +0 -6
  1026. package/dist/esm/node_modules/chroma-js/src/ops/clipped.mjs.map +0 -1
  1027. package/dist/esm/node_modules/chroma-js/src/ops/darken.mjs +0 -18
  1028. package/dist/esm/node_modules/chroma-js/src/ops/darken.mjs.map +0 -1
  1029. package/dist/esm/node_modules/chroma-js/src/ops/get.mjs +0 -14
  1030. package/dist/esm/node_modules/chroma-js/src/ops/get.mjs.map +0 -1
  1031. package/dist/esm/node_modules/chroma-js/src/ops/luminance.mjs +0 -56
  1032. package/dist/esm/node_modules/chroma-js/src/ops/luminance.mjs.map +0 -1
  1033. package/dist/esm/node_modules/chroma-js/src/ops/mix.mjs +0 -11
  1034. package/dist/esm/node_modules/chroma-js/src/ops/mix.mjs.map +0 -1
  1035. package/dist/esm/node_modules/chroma-js/src/ops/premultiply.mjs +0 -13
  1036. package/dist/esm/node_modules/chroma-js/src/ops/premultiply.mjs.map +0 -1
  1037. package/dist/esm/node_modules/chroma-js/src/ops/saturate.mjs +0 -16
  1038. package/dist/esm/node_modules/chroma-js/src/ops/saturate.mjs.map +0 -1
  1039. package/dist/esm/node_modules/chroma-js/src/ops/set.mjs +0 -44
  1040. package/dist/esm/node_modules/chroma-js/src/ops/set.mjs.map +0 -1
  1041. package/dist/esm/node_modules/chroma-js/src/ops/shade.mjs +0 -12
  1042. package/dist/esm/node_modules/chroma-js/src/ops/shade.mjs.map +0 -1
  1043. package/dist/esm/node_modules/chroma-js/src/utils/analyze.mjs +0 -194
  1044. package/dist/esm/node_modules/chroma-js/src/utils/analyze.mjs.map +0 -1
  1045. package/dist/esm/node_modules/chroma-js/src/utils/clip_rgb.mjs +0 -18
  1046. package/dist/esm/node_modules/chroma-js/src/utils/clip_rgb.mjs.map +0 -1
  1047. package/dist/esm/node_modules/chroma-js/src/utils/contrast.mjs +0 -15
  1048. package/dist/esm/node_modules/chroma-js/src/utils/contrast.mjs.map +0 -1
  1049. package/dist/esm/node_modules/chroma-js/src/utils/contrastAPCA.mjs +0 -71
  1050. package/dist/esm/node_modules/chroma-js/src/utils/contrastAPCA.mjs.map +0 -1
  1051. package/dist/esm/node_modules/chroma-js/src/utils/delta-e.mjs +0 -66
  1052. package/dist/esm/node_modules/chroma-js/src/utils/delta-e.mjs.map +0 -1
  1053. package/dist/esm/node_modules/chroma-js/src/utils/distance.mjs +0 -20
  1054. package/dist/esm/node_modules/chroma-js/src/utils/distance.mjs.map +0 -1
  1055. package/dist/esm/node_modules/chroma-js/src/utils/index.mjs +0 -24
  1056. package/dist/esm/node_modules/chroma-js/src/utils/index.mjs.map +0 -1
  1057. package/dist/esm/node_modules/chroma-js/src/utils/last.mjs +0 -11
  1058. package/dist/esm/node_modules/chroma-js/src/utils/last.mjs.map +0 -1
  1059. package/dist/esm/node_modules/chroma-js/src/utils/limit.mjs +0 -8
  1060. package/dist/esm/node_modules/chroma-js/src/utils/limit.mjs.map +0 -1
  1061. package/dist/esm/node_modules/chroma-js/src/utils/multiply-matrices.mjs +0 -39
  1062. package/dist/esm/node_modules/chroma-js/src/utils/multiply-matrices.mjs.map +0 -1
  1063. package/dist/esm/node_modules/chroma-js/src/utils/scales.mjs +0 -19
  1064. package/dist/esm/node_modules/chroma-js/src/utils/scales.mjs.map +0 -1
  1065. package/dist/esm/node_modules/chroma-js/src/utils/type.mjs +0 -21
  1066. package/dist/esm/node_modules/chroma-js/src/utils/type.mjs.map +0 -1
  1067. package/dist/esm/node_modules/chroma-js/src/utils/unpack.mjs +0 -20
  1068. package/dist/esm/node_modules/chroma-js/src/utils/unpack.mjs.map +0 -1
  1069. package/dist/esm/node_modules/chroma-js/src/utils/valid.mjs +0 -14
  1070. package/dist/esm/node_modules/chroma-js/src/utils/valid.mjs.map +0 -1
  1071. package/dist/esm/node_modules/chroma-js/src/version.mjs +0 -5
  1072. package/dist/esm/node_modules/chroma-js/src/version.mjs.map +0 -1
  1073. package/dist/esm/node_modules/classnames/index.mjs +0 -86
  1074. package/dist/esm/node_modules/classnames/index.mjs.map +0 -1
  1075. package/dist/esm/node_modules/clsx/dist/clsx.mjs +0 -4
  1076. package/dist/esm/node_modules/clsx/dist/clsx.mjs.map +0 -1
  1077. package/dist/esm/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.mjs +0 -115
  1078. package/dist/esm/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.mjs.map +0 -1
  1079. package/dist/esm/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.mjs +0 -27
  1080. package/dist/esm/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.mjs.map +0 -1
  1081. package/dist/esm/node_modules/hoist-non-react-statics/node_modules/react-is/index.mjs +0 -17
  1082. package/dist/esm/node_modules/hoist-non-react-statics/node_modules/react-is/index.mjs.map +0 -1
  1083. package/dist/esm/node_modules/input-otp/dist/index.mjs +0 -25
  1084. package/dist/esm/node_modules/input-otp/dist/index.mjs.map +0 -1
  1085. package/dist/esm/node_modules/js-cookie/dist/js.cookie.mjs +0 -134
  1086. package/dist/esm/node_modules/js-cookie/dist/js.cookie.mjs.map +0 -1
  1087. package/dist/esm/node_modules/lodash.merge/index.mjs +0 -1985
  1088. package/dist/esm/node_modules/lodash.merge/index.mjs.map +0 -1
  1089. package/dist/esm/node_modules/moo/moo.mjs +0 -655
  1090. package/dist/esm/node_modules/moo/moo.mjs.map +0 -1
  1091. package/dist/esm/node_modules/nanoid/index.browser.mjs +0 -17
  1092. package/dist/esm/node_modules/nanoid/index.browser.mjs.map +0 -1
  1093. package/dist/esm/node_modules/react-is/cjs/react-is.production.mjs +0 -140
  1094. package/dist/esm/node_modules/react-is/cjs/react-is.production.mjs.map +0 -1
  1095. package/dist/esm/node_modules/react-is/index.mjs +0 -17
  1096. package/dist/esm/node_modules/react-is/index.mjs.map +0 -1
  1097. package/dist/esm/node_modules/react-transition-group/esm/Transition.mjs +0 -440
  1098. package/dist/esm/node_modules/react-transition-group/esm/Transition.mjs.map +0 -1
  1099. package/dist/esm/node_modules/react-transition-group/esm/TransitionGroup.mjs +0 -133
  1100. package/dist/esm/node_modules/react-transition-group/esm/TransitionGroup.mjs.map +0 -1
  1101. package/dist/esm/node_modules/react-transition-group/esm/TransitionGroupContext.mjs +0 -6
  1102. package/dist/esm/node_modules/react-transition-group/esm/TransitionGroupContext.mjs.map +0 -1
  1103. package/dist/esm/node_modules/react-transition-group/esm/config.mjs +0 -6
  1104. package/dist/esm/node_modules/react-transition-group/esm/config.mjs.map +0 -1
  1105. package/dist/esm/node_modules/react-transition-group/esm/utils/ChildMapping.mjs +0 -144
  1106. package/dist/esm/node_modules/react-transition-group/esm/utils/ChildMapping.mjs.map +0 -1
  1107. package/dist/esm/node_modules/react-transition-group/esm/utils/reflow.mjs +0 -6
  1108. package/dist/esm/node_modules/react-transition-group/esm/utils/reflow.mjs.map +0 -1
  1109. package/dist/esm/node_modules/stylis/src/Enum.mjs +0 -13
  1110. package/dist/esm/node_modules/stylis/src/Enum.mjs.map +0 -1
  1111. package/dist/esm/node_modules/stylis/src/Middleware.mjs +0 -33
  1112. package/dist/esm/node_modules/stylis/src/Middleware.mjs.map +0 -1
  1113. package/dist/esm/node_modules/stylis/src/Parser.mjs +0 -194
  1114. package/dist/esm/node_modules/stylis/src/Parser.mjs.map +0 -1
  1115. package/dist/esm/node_modules/stylis/src/Serializer.mjs +0 -39
  1116. package/dist/esm/node_modules/stylis/src/Serializer.mjs.map +0 -1
  1117. package/dist/esm/node_modules/stylis/src/Tokenizer.mjs +0 -224
  1118. package/dist/esm/node_modules/stylis/src/Tokenizer.mjs.map +0 -1
  1119. package/dist/esm/node_modules/stylis/src/Utility.mjs +0 -118
  1120. package/dist/esm/node_modules/stylis/src/Utility.mjs.map +0 -1
  1121. package/dist/esm/node_modules/swr/_internal/dist/index.mjs +0 -681
  1122. package/dist/esm/node_modules/swr/_internal/dist/index.mjs.map +0 -1
  1123. package/dist/esm/node_modules/swr/core/dist/index.mjs +0 -488
  1124. package/dist/esm/node_modules/swr/core/dist/index.mjs.map +0 -1
  1125. package/dist/esm/node_modules/swr/infinite/dist/index.mjs +0 -233
  1126. package/dist/esm/node_modules/swr/infinite/dist/index.mjs.map +0 -1
  1127. package/dist/esm/node_modules/swr/mutation/dist/index.mjs +0 -126
  1128. package/dist/esm/node_modules/swr/mutation/dist/index.mjs.map +0 -1
  1129. package/dist/esm/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.mjs +0 -78
  1130. package/dist/esm/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.mjs.map +0 -1
  1131. package/dist/esm/node_modules/use-sync-external-store/shim/index.mjs +0 -17
  1132. package/dist/esm/node_modules/use-sync-external-store/shim/index.mjs.map +0 -1
  1133. package/dist/esm/node_modules/uuid/dist/esm-browser/regex.mjs +0 -4
  1134. package/dist/esm/node_modules/uuid/dist/esm-browser/regex.mjs.map +0 -1
  1135. package/dist/esm/node_modules/uuid/dist/esm-browser/rng.mjs +0 -22
  1136. package/dist/esm/node_modules/uuid/dist/esm-browser/rng.mjs.map +0 -1
  1137. package/dist/esm/node_modules/uuid/dist/esm-browser/stringify.mjs +0 -32
  1138. package/dist/esm/node_modules/uuid/dist/esm-browser/stringify.mjs.map +0 -1
  1139. package/dist/esm/node_modules/uuid/dist/esm-browser/v4.mjs +0 -15
  1140. package/dist/esm/node_modules/uuid/dist/esm-browser/v4.mjs.map +0 -1
  1141. package/dist/esm/node_modules/uuid/dist/esm-browser/validate.mjs +0 -8
  1142. package/dist/esm/node_modules/uuid/dist/esm-browser/validate.mjs.map +0 -1
  1143. package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.mjs +0 -7
  1144. package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.mjs.map +0 -1
  1145. package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/extends.mjs +0 -12
  1146. package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/extends.mjs.map +0 -1
  1147. package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/inheritsLoose.mjs +0 -8
  1148. package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/inheritsLoose.mjs.map +0 -1
  1149. package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs +0 -12
  1150. package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.mjs.map +0 -1
  1151. package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.mjs +0 -8
  1152. package/dist/esm-dev/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.mjs.map +0 -1
  1153. package/dist/esm-dev/node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.mjs +0 -600
  1154. package/dist/esm-dev/node_modules/@emotion/cache/dist/emotion-cache.browser.development.esm.mjs.map +0 -1
  1155. package/dist/esm-dev/node_modules/@emotion/hash/dist/emotion-hash.esm.mjs +0 -56
  1156. package/dist/esm-dev/node_modules/@emotion/hash/dist/emotion-hash.esm.mjs.map +0 -1
  1157. package/dist/esm-dev/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.mjs +0 -17
  1158. package/dist/esm-dev/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.mjs.map +0 -1
  1159. package/dist/esm-dev/node_modules/@emotion/memoize/dist/emotion-memoize.esm.mjs +0 -10
  1160. package/dist/esm-dev/node_modules/@emotion/memoize/dist/emotion-memoize.esm.mjs.map +0 -1
  1161. package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.mjs +0 -184
  1162. package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-element-489459f2.browser.development.esm.mjs.map +0 -1
  1163. package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-react.browser.development.esm.mjs +0 -286
  1164. package/dist/esm-dev/node_modules/@emotion/react/dist/emotion-react.browser.development.esm.mjs.map +0 -1
  1165. package/dist/esm-dev/node_modules/@emotion/serialize/dist/emotion-serialize.development.esm.mjs +0 -305
  1166. package/dist/esm-dev/node_modules/@emotion/serialize/dist/emotion-serialize.development.esm.mjs.map +0 -1
  1167. package/dist/esm-dev/node_modules/@emotion/sheet/dist/emotion-sheet.development.esm.mjs +0 -159
  1168. package/dist/esm-dev/node_modules/@emotion/sheet/dist/emotion-sheet.development.esm.mjs.map +0 -1
  1169. package/dist/esm-dev/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.development.esm.mjs +0 -186
  1170. package/dist/esm-dev/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.development.esm.mjs.map +0 -1
  1171. package/dist/esm-dev/node_modules/@emotion/styled/dist/emotion-styled.browser.development.esm.mjs +0 -15
  1172. package/dist/esm-dev/node_modules/@emotion/styled/dist/emotion-styled.browser.development.esm.mjs.map +0 -1
  1173. package/dist/esm-dev/node_modules/@emotion/unitless/dist/emotion-unitless.esm.mjs +0 -53
  1174. package/dist/esm-dev/node_modules/@emotion/unitless/dist/emotion-unitless.esm.mjs.map +0 -1
  1175. package/dist/esm-dev/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.mjs +0 -12
  1176. package/dist/esm-dev/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.mjs.map +0 -1
  1177. package/dist/esm-dev/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.mjs +0 -46
  1178. package/dist/esm-dev/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.mjs.map +0 -1
  1179. package/dist/esm-dev/node_modules/@github/webauthn-json/dist/esm/webauthn-json.mjs +0 -207
  1180. package/dist/esm-dev/node_modules/@github/webauthn-json/dist/esm/webauthn-json.mjs.map +0 -1
  1181. package/dist/esm-dev/node_modules/@lingui/core/dist/index.mjs +0 -426
  1182. package/dist/esm-dev/node_modules/@lingui/core/dist/index.mjs.map +0 -1
  1183. package/dist/esm-dev/node_modules/@lingui/message-utils/dist/compileMessage.mjs +0 -365
  1184. package/dist/esm-dev/node_modules/@lingui/message-utils/dist/compileMessage.mjs.map +0 -1
  1185. package/dist/esm-dev/node_modules/@lingui/react/dist/index.mjs +0 -66
  1186. package/dist/esm-dev/node_modules/@lingui/react/dist/index.mjs.map +0 -1
  1187. package/dist/esm-dev/node_modules/@lingui/react/dist/shared/react.8970326b.mjs +0 -139
  1188. package/dist/esm-dev/node_modules/@lingui/react/dist/shared/react.8970326b.mjs.map +0 -1
  1189. package/dist/esm-dev/node_modules/@messageformat/parser/lib/lexer.mjs +0 -75
  1190. package/dist/esm-dev/node_modules/@messageformat/parser/lib/lexer.mjs.map +0 -1
  1191. package/dist/esm-dev/node_modules/@messageformat/parser/lib/parser.mjs +0 -326
  1192. package/dist/esm-dev/node_modules/@messageformat/parser/lib/parser.mjs.map +0 -1
  1193. package/dist/esm-dev/node_modules/@mui/icons-material/esm/Add.mjs +0 -9
  1194. package/dist/esm-dev/node_modules/@mui/icons-material/esm/Add.mjs.map +0 -1
  1195. package/dist/esm-dev/node_modules/@mui/icons-material/esm/AddRounded.mjs +0 -9
  1196. package/dist/esm-dev/node_modules/@mui/icons-material/esm/AddRounded.mjs.map +0 -1
  1197. package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckCircle.mjs +0 -9
  1198. package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckCircle.mjs.map +0 -1
  1199. package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckCircleOutlined.mjs +0 -9
  1200. package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckCircleOutlined.mjs.map +0 -1
  1201. package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckRounded.mjs +0 -9
  1202. package/dist/esm-dev/node_modules/@mui/icons-material/esm/CheckRounded.mjs.map +0 -1
  1203. package/dist/esm-dev/node_modules/@mui/icons-material/esm/ChevronLeft.mjs +0 -9
  1204. package/dist/esm-dev/node_modules/@mui/icons-material/esm/ChevronLeft.mjs.map +0 -1
  1205. package/dist/esm-dev/node_modules/@mui/icons-material/esm/ChevronRight.mjs +0 -9
  1206. package/dist/esm-dev/node_modules/@mui/icons-material/esm/ChevronRight.mjs.map +0 -1
  1207. package/dist/esm-dev/node_modules/@mui/icons-material/esm/Close.mjs +0 -9
  1208. package/dist/esm-dev/node_modules/@mui/icons-material/esm/Close.mjs.map +0 -1
  1209. package/dist/esm-dev/node_modules/@mui/icons-material/esm/DeleteOutlined.mjs +0 -9
  1210. package/dist/esm-dev/node_modules/@mui/icons-material/esm/DeleteOutlined.mjs.map +0 -1
  1211. package/dist/esm-dev/node_modules/@mui/icons-material/esm/DoneAll.mjs +0 -9
  1212. package/dist/esm-dev/node_modules/@mui/icons-material/esm/DoneAll.mjs.map +0 -1
  1213. package/dist/esm-dev/node_modules/@mui/icons-material/esm/EditOutlined.mjs +0 -9
  1214. package/dist/esm-dev/node_modules/@mui/icons-material/esm/EditOutlined.mjs.map +0 -1
  1215. package/dist/esm-dev/node_modules/@mui/icons-material/esm/EmailOutlined.mjs +0 -9
  1216. package/dist/esm-dev/node_modules/@mui/icons-material/esm/EmailOutlined.mjs.map +0 -1
  1217. package/dist/esm-dev/node_modules/@mui/icons-material/esm/Error.mjs +0 -9
  1218. package/dist/esm-dev/node_modules/@mui/icons-material/esm/Error.mjs.map +0 -1
  1219. package/dist/esm-dev/node_modules/@mui/icons-material/esm/ExpandMore.mjs +0 -9
  1220. package/dist/esm-dev/node_modules/@mui/icons-material/esm/ExpandMore.mjs.map +0 -1
  1221. package/dist/esm-dev/node_modules/@mui/icons-material/esm/FileCopyOutlined.mjs +0 -9
  1222. package/dist/esm-dev/node_modules/@mui/icons-material/esm/FileCopyOutlined.mjs.map +0 -1
  1223. package/dist/esm-dev/node_modules/@mui/icons-material/esm/FilterList.mjs +0 -9
  1224. package/dist/esm-dev/node_modules/@mui/icons-material/esm/FilterList.mjs.map +0 -1
  1225. package/dist/esm-dev/node_modules/@mui/icons-material/esm/InfoOutlined.mjs +0 -9
  1226. package/dist/esm-dev/node_modules/@mui/icons-material/esm/InfoOutlined.mjs.map +0 -1
  1227. package/dist/esm-dev/node_modules/@mui/icons-material/esm/MoreVert.mjs +0 -9
  1228. package/dist/esm-dev/node_modules/@mui/icons-material/esm/MoreVert.mjs.map +0 -1
  1229. package/dist/esm-dev/node_modules/@mui/icons-material/esm/RemoveRounded.mjs +0 -9
  1230. package/dist/esm-dev/node_modules/@mui/icons-material/esm/RemoveRounded.mjs.map +0 -1
  1231. package/dist/esm-dev/node_modules/@mui/icons-material/esm/ReportProblemOutlined.mjs +0 -9
  1232. package/dist/esm-dev/node_modules/@mui/icons-material/esm/ReportProblemOutlined.mjs.map +0 -1
  1233. package/dist/esm-dev/node_modules/@mui/icons-material/esm/Search.mjs +0 -9
  1234. package/dist/esm-dev/node_modules/@mui/icons-material/esm/Search.mjs.map +0 -1
  1235. package/dist/esm-dev/node_modules/@mui/icons-material/esm/Tune.mjs +0 -9
  1236. package/dist/esm-dev/node_modules/@mui/icons-material/esm/Tune.mjs.map +0 -1
  1237. package/dist/esm-dev/node_modules/@mui/icons-material/esm/VisibilityOutlined.mjs +0 -9
  1238. package/dist/esm-dev/node_modules/@mui/icons-material/esm/VisibilityOutlined.mjs.map +0 -1
  1239. package/dist/esm-dev/node_modules/@mui/material/Accordion/Accordion.mjs +0 -317
  1240. package/dist/esm-dev/node_modules/@mui/material/Accordion/Accordion.mjs.map +0 -1
  1241. package/dist/esm-dev/node_modules/@mui/material/Accordion/AccordionContext.mjs +0 -13
  1242. package/dist/esm-dev/node_modules/@mui/material/Accordion/AccordionContext.mjs.map +0 -1
  1243. package/dist/esm-dev/node_modules/@mui/material/Accordion/accordionClasses.mjs +0 -10
  1244. package/dist/esm-dev/node_modules/@mui/material/Accordion/accordionClasses.mjs.map +0 -1
  1245. package/dist/esm-dev/node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs +0 -71
  1246. package/dist/esm-dev/node_modules/@mui/material/AccordionDetails/AccordionDetails.mjs.map +0 -1
  1247. package/dist/esm-dev/node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.mjs +0 -10
  1248. package/dist/esm-dev/node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.mjs.map +0 -1
  1249. package/dist/esm-dev/node_modules/@mui/material/AccordionSummary/AccordionSummary.mjs +0 -200
  1250. package/dist/esm-dev/node_modules/@mui/material/AccordionSummary/AccordionSummary.mjs.map +0 -1
  1251. package/dist/esm-dev/node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.mjs +0 -10
  1252. package/dist/esm-dev/node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.mjs.map +0 -1
  1253. package/dist/esm-dev/node_modules/@mui/material/Alert/Alert.mjs +0 -387
  1254. package/dist/esm-dev/node_modules/@mui/material/Alert/Alert.mjs.map +0 -1
  1255. package/dist/esm-dev/node_modules/@mui/material/Alert/alertClasses.mjs +0 -10
  1256. package/dist/esm-dev/node_modules/@mui/material/Alert/alertClasses.mjs.map +0 -1
  1257. package/dist/esm-dev/node_modules/@mui/material/Autocomplete/Autocomplete.mjs +0 -1187
  1258. package/dist/esm-dev/node_modules/@mui/material/Autocomplete/Autocomplete.mjs.map +0 -1
  1259. package/dist/esm-dev/node_modules/@mui/material/Autocomplete/autocompleteClasses.mjs +0 -10
  1260. package/dist/esm-dev/node_modules/@mui/material/Autocomplete/autocompleteClasses.mjs.map +0 -1
  1261. package/dist/esm-dev/node_modules/@mui/material/Backdrop/Backdrop.mjs +0 -206
  1262. package/dist/esm-dev/node_modules/@mui/material/Backdrop/Backdrop.mjs.map +0 -1
  1263. package/dist/esm-dev/node_modules/@mui/material/Backdrop/backdropClasses.mjs +0 -10
  1264. package/dist/esm-dev/node_modules/@mui/material/Backdrop/backdropClasses.mjs.map +0 -1
  1265. package/dist/esm-dev/node_modules/@mui/material/Button/Button.mjs +0 -689
  1266. package/dist/esm-dev/node_modules/@mui/material/Button/Button.mjs.map +0 -1
  1267. package/dist/esm-dev/node_modules/@mui/material/Button/buttonClasses.mjs +0 -10
  1268. package/dist/esm-dev/node_modules/@mui/material/Button/buttonClasses.mjs.map +0 -1
  1269. package/dist/esm-dev/node_modules/@mui/material/ButtonBase/ButtonBase.mjs +0 -448
  1270. package/dist/esm-dev/node_modules/@mui/material/ButtonBase/ButtonBase.mjs.map +0 -1
  1271. package/dist/esm-dev/node_modules/@mui/material/ButtonBase/Ripple.mjs +0 -85
  1272. package/dist/esm-dev/node_modules/@mui/material/ButtonBase/Ripple.mjs.map +0 -1
  1273. package/dist/esm-dev/node_modules/@mui/material/ButtonBase/TouchRipple.mjs +0 -326
  1274. package/dist/esm-dev/node_modules/@mui/material/ButtonBase/TouchRipple.mjs.map +0 -1
  1275. package/dist/esm-dev/node_modules/@mui/material/ButtonBase/buttonBaseClasses.mjs +0 -10
  1276. package/dist/esm-dev/node_modules/@mui/material/ButtonBase/buttonBaseClasses.mjs.map +0 -1
  1277. package/dist/esm-dev/node_modules/@mui/material/ButtonBase/touchRippleClasses.mjs +0 -6
  1278. package/dist/esm-dev/node_modules/@mui/material/ButtonBase/touchRippleClasses.mjs.map +0 -1
  1279. package/dist/esm-dev/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.mjs +0 -12
  1280. package/dist/esm-dev/node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.mjs.map +0 -1
  1281. package/dist/esm-dev/node_modules/@mui/material/ButtonGroup/ButtonGroupContext.mjs +0 -12
  1282. package/dist/esm-dev/node_modules/@mui/material/ButtonGroup/ButtonGroupContext.mjs.map +0 -1
  1283. package/dist/esm-dev/node_modules/@mui/material/Checkbox/Checkbox.mjs +0 -251
  1284. package/dist/esm-dev/node_modules/@mui/material/Checkbox/Checkbox.mjs.map +0 -1
  1285. package/dist/esm-dev/node_modules/@mui/material/Checkbox/checkboxClasses.mjs +0 -10
  1286. package/dist/esm-dev/node_modules/@mui/material/Checkbox/checkboxClasses.mjs.map +0 -1
  1287. package/dist/esm-dev/node_modules/@mui/material/Chip/Chip.mjs +0 -577
  1288. package/dist/esm-dev/node_modules/@mui/material/Chip/Chip.mjs.map +0 -1
  1289. package/dist/esm-dev/node_modules/@mui/material/Chip/chipClasses.mjs +0 -10
  1290. package/dist/esm-dev/node_modules/@mui/material/Chip/chipClasses.mjs.map +0 -1
  1291. package/dist/esm-dev/node_modules/@mui/material/CircularProgress/CircularProgress.mjs +0 -287
  1292. package/dist/esm-dev/node_modules/@mui/material/CircularProgress/CircularProgress.mjs.map +0 -1
  1293. package/dist/esm-dev/node_modules/@mui/material/CircularProgress/circularProgressClasses.mjs +0 -10
  1294. package/dist/esm-dev/node_modules/@mui/material/CircularProgress/circularProgressClasses.mjs.map +0 -1
  1295. package/dist/esm-dev/node_modules/@mui/material/ClickAwayListener/ClickAwayListener.mjs +0 -178
  1296. package/dist/esm-dev/node_modules/@mui/material/ClickAwayListener/ClickAwayListener.mjs.map +0 -1
  1297. package/dist/esm-dev/node_modules/@mui/material/Collapse/Collapse.mjs +0 -413
  1298. package/dist/esm-dev/node_modules/@mui/material/Collapse/Collapse.mjs.map +0 -1
  1299. package/dist/esm-dev/node_modules/@mui/material/Collapse/collapseClasses.mjs +0 -10
  1300. package/dist/esm-dev/node_modules/@mui/material/Collapse/collapseClasses.mjs.map +0 -1
  1301. package/dist/esm-dev/node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.mjs +0 -25
  1302. package/dist/esm-dev/node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.mjs.map +0 -1
  1303. package/dist/esm-dev/node_modules/@mui/material/Dialog/Dialog.mjs +0 -453
  1304. package/dist/esm-dev/node_modules/@mui/material/Dialog/Dialog.mjs.map +0 -1
  1305. package/dist/esm-dev/node_modules/@mui/material/Dialog/DialogContext.mjs +0 -9
  1306. package/dist/esm-dev/node_modules/@mui/material/Dialog/DialogContext.mjs.map +0 -1
  1307. package/dist/esm-dev/node_modules/@mui/material/Dialog/dialogClasses.mjs +0 -10
  1308. package/dist/esm-dev/node_modules/@mui/material/Dialog/dialogClasses.mjs.map +0 -1
  1309. package/dist/esm-dev/node_modules/@mui/material/DialogActions/DialogActions.mjs +0 -97
  1310. package/dist/esm-dev/node_modules/@mui/material/DialogActions/DialogActions.mjs.map +0 -1
  1311. package/dist/esm-dev/node_modules/@mui/material/DialogActions/dialogActionsClasses.mjs +0 -10
  1312. package/dist/esm-dev/node_modules/@mui/material/DialogActions/dialogActionsClasses.mjs.map +0 -1
  1313. package/dist/esm-dev/node_modules/@mui/material/DialogContent/DialogContent.mjs +0 -110
  1314. package/dist/esm-dev/node_modules/@mui/material/DialogContent/DialogContent.mjs.map +0 -1
  1315. package/dist/esm-dev/node_modules/@mui/material/DialogContent/dialogContentClasses.mjs +0 -10
  1316. package/dist/esm-dev/node_modules/@mui/material/DialogContent/dialogContentClasses.mjs.map +0 -1
  1317. package/dist/esm-dev/node_modules/@mui/material/DialogTitle/DialogTitle.mjs +0 -82
  1318. package/dist/esm-dev/node_modules/@mui/material/DialogTitle/DialogTitle.mjs.map +0 -1
  1319. package/dist/esm-dev/node_modules/@mui/material/DialogTitle/dialogTitleClasses.mjs +0 -10
  1320. package/dist/esm-dev/node_modules/@mui/material/DialogTitle/dialogTitleClasses.mjs.map +0 -1
  1321. package/dist/esm-dev/node_modules/@mui/material/Divider/Divider.mjs +0 -315
  1322. package/dist/esm-dev/node_modules/@mui/material/Divider/Divider.mjs.map +0 -1
  1323. package/dist/esm-dev/node_modules/@mui/material/Divider/dividerClasses.mjs +0 -10
  1324. package/dist/esm-dev/node_modules/@mui/material/Divider/dividerClasses.mjs.map +0 -1
  1325. package/dist/esm-dev/node_modules/@mui/material/Fade/Fade.mjs +0 -210
  1326. package/dist/esm-dev/node_modules/@mui/material/Fade/Fade.mjs.map +0 -1
  1327. package/dist/esm-dev/node_modules/@mui/material/FilledInput/FilledInput.mjs +0 -516
  1328. package/dist/esm-dev/node_modules/@mui/material/FilledInput/FilledInput.mjs.map +0 -1
  1329. package/dist/esm-dev/node_modules/@mui/material/FilledInput/filledInputClasses.mjs +0 -14
  1330. package/dist/esm-dev/node_modules/@mui/material/FilledInput/filledInputClasses.mjs.map +0 -1
  1331. package/dist/esm-dev/node_modules/@mui/material/FormControl/FormControl.mjs +0 -304
  1332. package/dist/esm-dev/node_modules/@mui/material/FormControl/FormControl.mjs.map +0 -1
  1333. package/dist/esm-dev/node_modules/@mui/material/FormControl/FormControlContext.mjs +0 -12
  1334. package/dist/esm-dev/node_modules/@mui/material/FormControl/FormControlContext.mjs.map +0 -1
  1335. package/dist/esm-dev/node_modules/@mui/material/FormControl/formControlClasses.mjs +0 -10
  1336. package/dist/esm-dev/node_modules/@mui/material/FormControl/formControlClasses.mjs.map +0 -1
  1337. package/dist/esm-dev/node_modules/@mui/material/FormControl/formControlState.mjs +0 -18
  1338. package/dist/esm-dev/node_modules/@mui/material/FormControl/formControlState.mjs.map +0 -1
  1339. package/dist/esm-dev/node_modules/@mui/material/FormControl/useFormControl.mjs +0 -9
  1340. package/dist/esm-dev/node_modules/@mui/material/FormControl/useFormControl.mjs.map +0 -1
  1341. package/dist/esm-dev/node_modules/@mui/material/FormControlLabel/FormControlLabel.mjs +0 -284
  1342. package/dist/esm-dev/node_modules/@mui/material/FormControlLabel/FormControlLabel.mjs.map +0 -1
  1343. package/dist/esm-dev/node_modules/@mui/material/FormControlLabel/formControlLabelClasses.mjs +0 -10
  1344. package/dist/esm-dev/node_modules/@mui/material/FormControlLabel/formControlLabelClasses.mjs.map +0 -1
  1345. package/dist/esm-dev/node_modules/@mui/material/FormGroup/FormGroup.mjs +0 -109
  1346. package/dist/esm-dev/node_modules/@mui/material/FormGroup/FormGroup.mjs.map +0 -1
  1347. package/dist/esm-dev/node_modules/@mui/material/FormGroup/formGroupClasses.mjs +0 -10
  1348. package/dist/esm-dev/node_modules/@mui/material/FormGroup/formGroupClasses.mjs.map +0 -1
  1349. package/dist/esm-dev/node_modules/@mui/material/FormHelperText/FormHelperText.mjs +0 -187
  1350. package/dist/esm-dev/node_modules/@mui/material/FormHelperText/FormHelperText.mjs.map +0 -1
  1351. package/dist/esm-dev/node_modules/@mui/material/FormHelperText/formHelperTextClasses.mjs +0 -10
  1352. package/dist/esm-dev/node_modules/@mui/material/FormHelperText/formHelperTextClasses.mjs.map +0 -1
  1353. package/dist/esm-dev/node_modules/@mui/material/FormLabel/FormLabel.mjs +0 -183
  1354. package/dist/esm-dev/node_modules/@mui/material/FormLabel/FormLabel.mjs.map +0 -1
  1355. package/dist/esm-dev/node_modules/@mui/material/FormLabel/formLabelClasses.mjs +0 -10
  1356. package/dist/esm-dev/node_modules/@mui/material/FormLabel/formLabelClasses.mjs.map +0 -1
  1357. package/dist/esm-dev/node_modules/@mui/material/GlobalStyles/GlobalStyles.mjs +0 -27
  1358. package/dist/esm-dev/node_modules/@mui/material/GlobalStyles/GlobalStyles.mjs.map +0 -1
  1359. package/dist/esm-dev/node_modules/@mui/material/Grow/Grow.mjs +0 -263
  1360. package/dist/esm-dev/node_modules/@mui/material/Grow/Grow.mjs.map +0 -1
  1361. package/dist/esm-dev/node_modules/@mui/material/IconButton/IconButton.mjs +0 -312
  1362. package/dist/esm-dev/node_modules/@mui/material/IconButton/IconButton.mjs.map +0 -1
  1363. package/dist/esm-dev/node_modules/@mui/material/IconButton/iconButtonClasses.mjs +0 -10
  1364. package/dist/esm-dev/node_modules/@mui/material/IconButton/iconButtonClasses.mjs.map +0 -1
  1365. package/dist/esm-dev/node_modules/@mui/material/InitColorSchemeScript/InitColorSchemeScript.mjs +0 -12
  1366. package/dist/esm-dev/node_modules/@mui/material/InitColorSchemeScript/InitColorSchemeScript.mjs.map +0 -1
  1367. package/dist/esm-dev/node_modules/@mui/material/Input/Input.mjs +0 -361
  1368. package/dist/esm-dev/node_modules/@mui/material/Input/Input.mjs.map +0 -1
  1369. package/dist/esm-dev/node_modules/@mui/material/Input/inputClasses.mjs +0 -14
  1370. package/dist/esm-dev/node_modules/@mui/material/Input/inputClasses.mjs.map +0 -1
  1371. package/dist/esm-dev/node_modules/@mui/material/InputBase/InputBase.mjs +0 -750
  1372. package/dist/esm-dev/node_modules/@mui/material/InputBase/InputBase.mjs.map +0 -1
  1373. package/dist/esm-dev/node_modules/@mui/material/InputBase/inputBaseClasses.mjs +0 -10
  1374. package/dist/esm-dev/node_modules/@mui/material/InputBase/inputBaseClasses.mjs.map +0 -1
  1375. package/dist/esm-dev/node_modules/@mui/material/InputBase/utils.mjs +0 -33
  1376. package/dist/esm-dev/node_modules/@mui/material/InputBase/utils.mjs.map +0 -1
  1377. package/dist/esm-dev/node_modules/@mui/material/InputLabel/InputLabel.mjs +0 -285
  1378. package/dist/esm-dev/node_modules/@mui/material/InputLabel/InputLabel.mjs.map +0 -1
  1379. package/dist/esm-dev/node_modules/@mui/material/InputLabel/inputLabelClasses.mjs +0 -10
  1380. package/dist/esm-dev/node_modules/@mui/material/InputLabel/inputLabelClasses.mjs.map +0 -1
  1381. package/dist/esm-dev/node_modules/@mui/material/List/List.mjs +0 -135
  1382. package/dist/esm-dev/node_modules/@mui/material/List/List.mjs.map +0 -1
  1383. package/dist/esm-dev/node_modules/@mui/material/List/ListContext.mjs +0 -12
  1384. package/dist/esm-dev/node_modules/@mui/material/List/ListContext.mjs.map +0 -1
  1385. package/dist/esm-dev/node_modules/@mui/material/List/listClasses.mjs +0 -10
  1386. package/dist/esm-dev/node_modules/@mui/material/List/listClasses.mjs.map +0 -1
  1387. package/dist/esm-dev/node_modules/@mui/material/ListItemButton/listItemButtonClasses.mjs +0 -6
  1388. package/dist/esm-dev/node_modules/@mui/material/ListItemButton/listItemButtonClasses.mjs.map +0 -1
  1389. package/dist/esm-dev/node_modules/@mui/material/ListItemIcon/listItemIconClasses.mjs +0 -6
  1390. package/dist/esm-dev/node_modules/@mui/material/ListItemIcon/listItemIconClasses.mjs.map +0 -1
  1391. package/dist/esm-dev/node_modules/@mui/material/ListItemText/listItemTextClasses.mjs +0 -6
  1392. package/dist/esm-dev/node_modules/@mui/material/ListItemText/listItemTextClasses.mjs.map +0 -1
  1393. package/dist/esm-dev/node_modules/@mui/material/ListSubheader/ListSubheader.mjs +0 -168
  1394. package/dist/esm-dev/node_modules/@mui/material/ListSubheader/ListSubheader.mjs.map +0 -1
  1395. package/dist/esm-dev/node_modules/@mui/material/ListSubheader/listSubheaderClasses.mjs +0 -10
  1396. package/dist/esm-dev/node_modules/@mui/material/ListSubheader/listSubheaderClasses.mjs.map +0 -1
  1397. package/dist/esm-dev/node_modules/@mui/material/Menu/Menu.mjs +0 -303
  1398. package/dist/esm-dev/node_modules/@mui/material/Menu/Menu.mjs.map +0 -1
  1399. package/dist/esm-dev/node_modules/@mui/material/Menu/menuClasses.mjs +0 -10
  1400. package/dist/esm-dev/node_modules/@mui/material/Menu/menuClasses.mjs.map +0 -1
  1401. package/dist/esm-dev/node_modules/@mui/material/MenuItem/MenuItem.mjs +0 -284
  1402. package/dist/esm-dev/node_modules/@mui/material/MenuItem/MenuItem.mjs.map +0 -1
  1403. package/dist/esm-dev/node_modules/@mui/material/MenuItem/menuItemClasses.mjs +0 -10
  1404. package/dist/esm-dev/node_modules/@mui/material/MenuItem/menuItemClasses.mjs.map +0 -1
  1405. package/dist/esm-dev/node_modules/@mui/material/MenuList/MenuList.mjs +0 -291
  1406. package/dist/esm-dev/node_modules/@mui/material/MenuList/MenuList.mjs.map +0 -1
  1407. package/dist/esm-dev/node_modules/@mui/material/Modal/Modal.mjs +0 -407
  1408. package/dist/esm-dev/node_modules/@mui/material/Modal/Modal.mjs.map +0 -1
  1409. package/dist/esm-dev/node_modules/@mui/material/Modal/ModalManager.mjs +0 -217
  1410. package/dist/esm-dev/node_modules/@mui/material/Modal/ModalManager.mjs.map +0 -1
  1411. package/dist/esm-dev/node_modules/@mui/material/Modal/modalClasses.mjs +0 -10
  1412. package/dist/esm-dev/node_modules/@mui/material/Modal/modalClasses.mjs.map +0 -1
  1413. package/dist/esm-dev/node_modules/@mui/material/Modal/useModal.mjs +0 -204
  1414. package/dist/esm-dev/node_modules/@mui/material/Modal/useModal.mjs.map +0 -1
  1415. package/dist/esm-dev/node_modules/@mui/material/NativeSelect/NativeSelectInput.mjs +0 -241
  1416. package/dist/esm-dev/node_modules/@mui/material/NativeSelect/NativeSelectInput.mjs.map +0 -1
  1417. package/dist/esm-dev/node_modules/@mui/material/NativeSelect/nativeSelectClasses.mjs +0 -10
  1418. package/dist/esm-dev/node_modules/@mui/material/NativeSelect/nativeSelectClasses.mjs.map +0 -1
  1419. package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/NotchedOutline.mjs +0 -156
  1420. package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/NotchedOutline.mjs.map +0 -1
  1421. package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs +0 -411
  1422. package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/OutlinedInput.mjs.map +0 -1
  1423. package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/outlinedInputClasses.mjs +0 -14
  1424. package/dist/esm-dev/node_modules/@mui/material/OutlinedInput/outlinedInputClasses.mjs.map +0 -1
  1425. package/dist/esm-dev/node_modules/@mui/material/Paper/Paper.mjs +0 -172
  1426. package/dist/esm-dev/node_modules/@mui/material/Paper/Paper.mjs.map +0 -1
  1427. package/dist/esm-dev/node_modules/@mui/material/Paper/paperClasses.mjs +0 -10
  1428. package/dist/esm-dev/node_modules/@mui/material/Paper/paperClasses.mjs.map +0 -1
  1429. package/dist/esm-dev/node_modules/@mui/material/Popover/Popover.mjs +0 -557
  1430. package/dist/esm-dev/node_modules/@mui/material/Popover/Popover.mjs.map +0 -1
  1431. package/dist/esm-dev/node_modules/@mui/material/Popover/popoverClasses.mjs +0 -10
  1432. package/dist/esm-dev/node_modules/@mui/material/Popover/popoverClasses.mjs.map +0 -1
  1433. package/dist/esm-dev/node_modules/@mui/material/Popper/BasePopper.mjs +0 -376
  1434. package/dist/esm-dev/node_modules/@mui/material/Popper/BasePopper.mjs.map +0 -1
  1435. package/dist/esm-dev/node_modules/@mui/material/Popper/Popper.mjs +0 -211
  1436. package/dist/esm-dev/node_modules/@mui/material/Popper/Popper.mjs.map +0 -1
  1437. package/dist/esm-dev/node_modules/@mui/material/Popper/popperClasses.mjs +0 -10
  1438. package/dist/esm-dev/node_modules/@mui/material/Popper/popperClasses.mjs.map +0 -1
  1439. package/dist/esm-dev/node_modules/@mui/material/Portal/Portal.mjs +0 -92
  1440. package/dist/esm-dev/node_modules/@mui/material/Portal/Portal.mjs.map +0 -1
  1441. package/dist/esm-dev/node_modules/@mui/material/Radio/Radio.mjs +0 -265
  1442. package/dist/esm-dev/node_modules/@mui/material/Radio/Radio.mjs.map +0 -1
  1443. package/dist/esm-dev/node_modules/@mui/material/Radio/RadioButtonIcon.mjs +0 -88
  1444. package/dist/esm-dev/node_modules/@mui/material/Radio/RadioButtonIcon.mjs.map +0 -1
  1445. package/dist/esm-dev/node_modules/@mui/material/Radio/radioClasses.mjs +0 -10
  1446. package/dist/esm-dev/node_modules/@mui/material/Radio/radioClasses.mjs.map +0 -1
  1447. package/dist/esm-dev/node_modules/@mui/material/RadioGroup/RadioGroupContext.mjs +0 -12
  1448. package/dist/esm-dev/node_modules/@mui/material/RadioGroup/RadioGroupContext.mjs.map +0 -1
  1449. package/dist/esm-dev/node_modules/@mui/material/RadioGroup/useRadioGroup.mjs +0 -9
  1450. package/dist/esm-dev/node_modules/@mui/material/RadioGroup/useRadioGroup.mjs.map +0 -1
  1451. package/dist/esm-dev/node_modules/@mui/material/Select/Select.mjs +0 -301
  1452. package/dist/esm-dev/node_modules/@mui/material/Select/Select.mjs.map +0 -1
  1453. package/dist/esm-dev/node_modules/@mui/material/Select/SelectInput.mjs +0 -673
  1454. package/dist/esm-dev/node_modules/@mui/material/Select/SelectInput.mjs.map +0 -1
  1455. package/dist/esm-dev/node_modules/@mui/material/Select/selectClasses.mjs +0 -10
  1456. package/dist/esm-dev/node_modules/@mui/material/Select/selectClasses.mjs.map +0 -1
  1457. package/dist/esm-dev/node_modules/@mui/material/Snackbar/Snackbar.mjs +0 -344
  1458. package/dist/esm-dev/node_modules/@mui/material/Snackbar/Snackbar.mjs.map +0 -1
  1459. package/dist/esm-dev/node_modules/@mui/material/Snackbar/snackbarClasses.mjs +0 -10
  1460. package/dist/esm-dev/node_modules/@mui/material/Snackbar/snackbarClasses.mjs.map +0 -1
  1461. package/dist/esm-dev/node_modules/@mui/material/Snackbar/useSnackbar.mjs +0 -135
  1462. package/dist/esm-dev/node_modules/@mui/material/Snackbar/useSnackbar.mjs.map +0 -1
  1463. package/dist/esm-dev/node_modules/@mui/material/SnackbarContent/SnackbarContent.mjs +0 -133
  1464. package/dist/esm-dev/node_modules/@mui/material/SnackbarContent/SnackbarContent.mjs.map +0 -1
  1465. package/dist/esm-dev/node_modules/@mui/material/SnackbarContent/snackbarContentClasses.mjs +0 -10
  1466. package/dist/esm-dev/node_modules/@mui/material/SnackbarContent/snackbarContentClasses.mjs.map +0 -1
  1467. package/dist/esm-dev/node_modules/@mui/material/SvgIcon/SvgIcon.mjs +0 -235
  1468. package/dist/esm-dev/node_modules/@mui/material/SvgIcon/SvgIcon.mjs.map +0 -1
  1469. package/dist/esm-dev/node_modules/@mui/material/SvgIcon/svgIconClasses.mjs +0 -10
  1470. package/dist/esm-dev/node_modules/@mui/material/SvgIcon/svgIconClasses.mjs.map +0 -1
  1471. package/dist/esm-dev/node_modules/@mui/material/Switch/Switch.mjs +0 -343
  1472. package/dist/esm-dev/node_modules/@mui/material/Switch/Switch.mjs.map +0 -1
  1473. package/dist/esm-dev/node_modules/@mui/material/Switch/switchClasses.mjs +0 -10
  1474. package/dist/esm-dev/node_modules/@mui/material/Switch/switchClasses.mjs.map +0 -1
  1475. package/dist/esm-dev/node_modules/@mui/material/Table/Table.mjs +0 -137
  1476. package/dist/esm-dev/node_modules/@mui/material/Table/Table.mjs.map +0 -1
  1477. package/dist/esm-dev/node_modules/@mui/material/Table/TableContext.mjs +0 -12
  1478. package/dist/esm-dev/node_modules/@mui/material/Table/TableContext.mjs.map +0 -1
  1479. package/dist/esm-dev/node_modules/@mui/material/Table/Tablelvl2Context.mjs +0 -12
  1480. package/dist/esm-dev/node_modules/@mui/material/Table/Tablelvl2Context.mjs.map +0 -1
  1481. package/dist/esm-dev/node_modules/@mui/material/Table/tableClasses.mjs +0 -10
  1482. package/dist/esm-dev/node_modules/@mui/material/Table/tableClasses.mjs.map +0 -1
  1483. package/dist/esm-dev/node_modules/@mui/material/TableBody/TableBody.mjs +0 -87
  1484. package/dist/esm-dev/node_modules/@mui/material/TableBody/TableBody.mjs.map +0 -1
  1485. package/dist/esm-dev/node_modules/@mui/material/TableBody/tableBodyClasses.mjs +0 -10
  1486. package/dist/esm-dev/node_modules/@mui/material/TableBody/tableBodyClasses.mjs.map +0 -1
  1487. package/dist/esm-dev/node_modules/@mui/material/TableCell/TableCell.mjs +0 -271
  1488. package/dist/esm-dev/node_modules/@mui/material/TableCell/TableCell.mjs.map +0 -1
  1489. package/dist/esm-dev/node_modules/@mui/material/TableCell/tableCellClasses.mjs +0 -10
  1490. package/dist/esm-dev/node_modules/@mui/material/TableCell/tableCellClasses.mjs.map +0 -1
  1491. package/dist/esm-dev/node_modules/@mui/material/TableContainer/TableContainer.mjs +0 -79
  1492. package/dist/esm-dev/node_modules/@mui/material/TableContainer/TableContainer.mjs.map +0 -1
  1493. package/dist/esm-dev/node_modules/@mui/material/TableContainer/tableContainerClasses.mjs +0 -10
  1494. package/dist/esm-dev/node_modules/@mui/material/TableContainer/tableContainerClasses.mjs.map +0 -1
  1495. package/dist/esm-dev/node_modules/@mui/material/TableHead/TableHead.mjs +0 -87
  1496. package/dist/esm-dev/node_modules/@mui/material/TableHead/TableHead.mjs.map +0 -1
  1497. package/dist/esm-dev/node_modules/@mui/material/TableHead/tableHeadClasses.mjs +0 -10
  1498. package/dist/esm-dev/node_modules/@mui/material/TableHead/tableHeadClasses.mjs.map +0 -1
  1499. package/dist/esm-dev/node_modules/@mui/material/TablePagination/TablePagination.mjs +0 -506
  1500. package/dist/esm-dev/node_modules/@mui/material/TablePagination/TablePagination.mjs.map +0 -1
  1501. package/dist/esm-dev/node_modules/@mui/material/TablePagination/TablePaginationActions.mjs +0 -191
  1502. package/dist/esm-dev/node_modules/@mui/material/TablePagination/TablePaginationActions.mjs.map +0 -1
  1503. package/dist/esm-dev/node_modules/@mui/material/TablePagination/tablePaginationClasses.mjs +0 -10
  1504. package/dist/esm-dev/node_modules/@mui/material/TablePagination/tablePaginationClasses.mjs.map +0 -1
  1505. package/dist/esm-dev/node_modules/@mui/material/TableRow/TableRow.mjs +0 -128
  1506. package/dist/esm-dev/node_modules/@mui/material/TableRow/TableRow.mjs.map +0 -1
  1507. package/dist/esm-dev/node_modules/@mui/material/TableRow/tableRowClasses.mjs +0 -10
  1508. package/dist/esm-dev/node_modules/@mui/material/TableRow/tableRowClasses.mjs.map +0 -1
  1509. package/dist/esm-dev/node_modules/@mui/material/TextField/TextField.mjs +0 -447
  1510. package/dist/esm-dev/node_modules/@mui/material/TextField/TextField.mjs.map +0 -1
  1511. package/dist/esm-dev/node_modules/@mui/material/TextField/textFieldClasses.mjs +0 -10
  1512. package/dist/esm-dev/node_modules/@mui/material/TextField/textFieldClasses.mjs.map +0 -1
  1513. package/dist/esm-dev/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.mjs +0 -220
  1514. package/dist/esm-dev/node_modules/@mui/material/TextareaAutosize/TextareaAutosize.mjs.map +0 -1
  1515. package/dist/esm-dev/node_modules/@mui/material/Toolbar/Toolbar.mjs +0 -130
  1516. package/dist/esm-dev/node_modules/@mui/material/Toolbar/Toolbar.mjs.map +0 -1
  1517. package/dist/esm-dev/node_modules/@mui/material/Toolbar/toolbarClasses.mjs +0 -10
  1518. package/dist/esm-dev/node_modules/@mui/material/Toolbar/toolbarClasses.mjs.map +0 -1
  1519. package/dist/esm-dev/node_modules/@mui/material/Tooltip/Tooltip.mjs +0 -896
  1520. package/dist/esm-dev/node_modules/@mui/material/Tooltip/Tooltip.mjs.map +0 -1
  1521. package/dist/esm-dev/node_modules/@mui/material/Tooltip/tooltipClasses.mjs +0 -10
  1522. package/dist/esm-dev/node_modules/@mui/material/Tooltip/tooltipClasses.mjs.map +0 -1
  1523. package/dist/esm-dev/node_modules/@mui/material/Typography/Typography.mjs +0 -270
  1524. package/dist/esm-dev/node_modules/@mui/material/Typography/Typography.mjs.map +0 -1
  1525. package/dist/esm-dev/node_modules/@mui/material/Typography/typographyClasses.mjs +0 -10
  1526. package/dist/esm-dev/node_modules/@mui/material/Typography/typographyClasses.mjs.map +0 -1
  1527. package/dist/esm-dev/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.mjs +0 -333
  1528. package/dist/esm-dev/node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.mjs.map +0 -1
  1529. package/dist/esm-dev/node_modules/@mui/material/colors/blue.mjs +0 -9
  1530. package/dist/esm-dev/node_modules/@mui/material/colors/blue.mjs.map +0 -1
  1531. package/dist/esm-dev/node_modules/@mui/material/colors/common.mjs +0 -7
  1532. package/dist/esm-dev/node_modules/@mui/material/colors/common.mjs.map +0 -1
  1533. package/dist/esm-dev/node_modules/@mui/material/colors/green.mjs +0 -10
  1534. package/dist/esm-dev/node_modules/@mui/material/colors/green.mjs.map +0 -1
  1535. package/dist/esm-dev/node_modules/@mui/material/colors/grey.mjs +0 -19
  1536. package/dist/esm-dev/node_modules/@mui/material/colors/grey.mjs.map +0 -1
  1537. package/dist/esm-dev/node_modules/@mui/material/colors/lightBlue.mjs +0 -9
  1538. package/dist/esm-dev/node_modules/@mui/material/colors/lightBlue.mjs.map +0 -1
  1539. package/dist/esm-dev/node_modules/@mui/material/colors/orange.mjs +0 -9
  1540. package/dist/esm-dev/node_modules/@mui/material/colors/orange.mjs.map +0 -1
  1541. package/dist/esm-dev/node_modules/@mui/material/colors/purple.mjs +0 -10
  1542. package/dist/esm-dev/node_modules/@mui/material/colors/purple.mjs.map +0 -1
  1543. package/dist/esm-dev/node_modules/@mui/material/colors/red.mjs +0 -9
  1544. package/dist/esm-dev/node_modules/@mui/material/colors/red.mjs.map +0 -1
  1545. package/dist/esm-dev/node_modules/@mui/material/internal/SwitchBase.mjs +0 -301
  1546. package/dist/esm-dev/node_modules/@mui/material/internal/SwitchBase.mjs.map +0 -1
  1547. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ArrowDropDown.mjs +0 -10
  1548. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ArrowDropDown.mjs.map +0 -1
  1549. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/Cancel.mjs +0 -10
  1550. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/Cancel.mjs.map +0 -1
  1551. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/CheckBox.mjs +0 -10
  1552. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/CheckBox.mjs.map +0 -1
  1553. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.mjs +0 -10
  1554. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.mjs.map +0 -1
  1555. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/Close.mjs +0 -10
  1556. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/Close.mjs.map +0 -1
  1557. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ErrorOutline.mjs +0 -10
  1558. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ErrorOutline.mjs.map +0 -1
  1559. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/FirstPage.mjs +0 -10
  1560. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/FirstPage.mjs.map +0 -1
  1561. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.mjs +0 -10
  1562. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.mjs.map +0 -1
  1563. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/InfoOutlined.mjs +0 -10
  1564. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/InfoOutlined.mjs.map +0 -1
  1565. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.mjs +0 -10
  1566. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.mjs.map +0 -1
  1567. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.mjs +0 -10
  1568. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.mjs.map +0 -1
  1569. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/LastPage.mjs +0 -10
  1570. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/LastPage.mjs.map +0 -1
  1571. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.mjs +0 -10
  1572. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.mjs.map +0 -1
  1573. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.mjs +0 -10
  1574. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.mjs.map +0 -1
  1575. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs +0 -10
  1576. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs.map +0 -1
  1577. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/SuccessOutlined.mjs +0 -10
  1578. package/dist/esm-dev/node_modules/@mui/material/internal/svg-icons/SuccessOutlined.mjs.map +0 -1
  1579. package/dist/esm-dev/node_modules/@mui/material/internal/switchBaseClasses.mjs +0 -10
  1580. package/dist/esm-dev/node_modules/@mui/material/internal/switchBaseClasses.mjs.map +0 -1
  1581. package/dist/esm-dev/node_modules/@mui/material/styles/ThemeProvider.mjs +0 -31
  1582. package/dist/esm-dev/node_modules/@mui/material/styles/ThemeProvider.mjs.map +0 -1
  1583. package/dist/esm-dev/node_modules/@mui/material/styles/ThemeProviderNoVars.mjs +0 -19
  1584. package/dist/esm-dev/node_modules/@mui/material/styles/ThemeProviderNoVars.mjs.map +0 -1
  1585. package/dist/esm-dev/node_modules/@mui/material/styles/ThemeProviderWithVars.mjs +0 -64
  1586. package/dist/esm-dev/node_modules/@mui/material/styles/ThemeProviderWithVars.mjs.map +0 -1
  1587. package/dist/esm-dev/node_modules/@mui/material/styles/createColorScheme.mjs +0 -45
  1588. package/dist/esm-dev/node_modules/@mui/material/styles/createColorScheme.mjs.map +0 -1
  1589. package/dist/esm-dev/node_modules/@mui/material/styles/createGetSelector.mjs +0 -64
  1590. package/dist/esm-dev/node_modules/@mui/material/styles/createGetSelector.mjs.map +0 -1
  1591. package/dist/esm-dev/node_modules/@mui/material/styles/createMixins.mjs +0 -19
  1592. package/dist/esm-dev/node_modules/@mui/material/styles/createMixins.mjs.map +0 -1
  1593. package/dist/esm-dev/node_modules/@mui/material/styles/createPalette.mjs +0 -305
  1594. package/dist/esm-dev/node_modules/@mui/material/styles/createPalette.mjs.map +0 -1
  1595. package/dist/esm-dev/node_modules/@mui/material/styles/createTheme.mjs +0 -102
  1596. package/dist/esm-dev/node_modules/@mui/material/styles/createTheme.mjs.map +0 -1
  1597. package/dist/esm-dev/node_modules/@mui/material/styles/createThemeNoVars.mjs +0 -89
  1598. package/dist/esm-dev/node_modules/@mui/material/styles/createThemeNoVars.mjs.map +0 -1
  1599. package/dist/esm-dev/node_modules/@mui/material/styles/createThemeWithVars.mjs +0 -393
  1600. package/dist/esm-dev/node_modules/@mui/material/styles/createThemeWithVars.mjs.map +0 -1
  1601. package/dist/esm-dev/node_modules/@mui/material/styles/createTransitions.mjs +0 -92
  1602. package/dist/esm-dev/node_modules/@mui/material/styles/createTransitions.mjs.map +0 -1
  1603. package/dist/esm-dev/node_modules/@mui/material/styles/createTypography.mjs +0 -96
  1604. package/dist/esm-dev/node_modules/@mui/material/styles/createTypography.mjs.map +0 -1
  1605. package/dist/esm-dev/node_modules/@mui/material/styles/defaultTheme.mjs +0 -6
  1606. package/dist/esm-dev/node_modules/@mui/material/styles/defaultTheme.mjs.map +0 -1
  1607. package/dist/esm-dev/node_modules/@mui/material/styles/excludeVariablesFromRoot.mjs +0 -7
  1608. package/dist/esm-dev/node_modules/@mui/material/styles/excludeVariablesFromRoot.mjs.map +0 -1
  1609. package/dist/esm-dev/node_modules/@mui/material/styles/getOverlayAlpha.mjs +0 -13
  1610. package/dist/esm-dev/node_modules/@mui/material/styles/getOverlayAlpha.mjs.map +0 -1
  1611. package/dist/esm-dev/node_modules/@mui/material/styles/identifier.mjs +0 -4
  1612. package/dist/esm-dev/node_modules/@mui/material/styles/identifier.mjs.map +0 -1
  1613. package/dist/esm-dev/node_modules/@mui/material/styles/rootShouldForwardProp.mjs +0 -6
  1614. package/dist/esm-dev/node_modules/@mui/material/styles/rootShouldForwardProp.mjs.map +0 -1
  1615. package/dist/esm-dev/node_modules/@mui/material/styles/shadows.mjs +0 -12
  1616. package/dist/esm-dev/node_modules/@mui/material/styles/shadows.mjs.map +0 -1
  1617. package/dist/esm-dev/node_modules/@mui/material/styles/shouldSkipGeneratingVar.mjs +0 -8
  1618. package/dist/esm-dev/node_modules/@mui/material/styles/shouldSkipGeneratingVar.mjs.map +0 -1
  1619. package/dist/esm-dev/node_modules/@mui/material/styles/slotShouldForwardProp.mjs +0 -7
  1620. package/dist/esm-dev/node_modules/@mui/material/styles/slotShouldForwardProp.mjs.map +0 -1
  1621. package/dist/esm-dev/node_modules/@mui/material/styles/stringifyTheme.mjs +0 -58
  1622. package/dist/esm-dev/node_modules/@mui/material/styles/stringifyTheme.mjs.map +0 -1
  1623. package/dist/esm-dev/node_modules/@mui/material/styles/styled.mjs +0 -13
  1624. package/dist/esm-dev/node_modules/@mui/material/styles/styled.mjs.map +0 -1
  1625. package/dist/esm-dev/node_modules/@mui/material/styles/useTheme.mjs +0 -17
  1626. package/dist/esm-dev/node_modules/@mui/material/styles/useTheme.mjs.map +0 -1
  1627. package/dist/esm-dev/node_modules/@mui/material/styles/zIndex.mjs +0 -15
  1628. package/dist/esm-dev/node_modules/@mui/material/styles/zIndex.mjs.map +0 -1
  1629. package/dist/esm-dev/node_modules/@mui/material/transitions/utils.mjs +0 -16
  1630. package/dist/esm-dev/node_modules/@mui/material/transitions/utils.mjs.map +0 -1
  1631. package/dist/esm-dev/node_modules/@mui/material/useAutocomplete/useAutocomplete.mjs +0 -973
  1632. package/dist/esm-dev/node_modules/@mui/material/useAutocomplete/useAutocomplete.mjs.map +0 -1
  1633. package/dist/esm-dev/node_modules/@mui/material/useLazyRipple/useLazyRipple.mjs +0 -87
  1634. package/dist/esm-dev/node_modules/@mui/material/useLazyRipple/useLazyRipple.mjs.map +0 -1
  1635. package/dist/esm-dev/node_modules/@mui/material/useMediaQuery/index.mjs +0 -9
  1636. package/dist/esm-dev/node_modules/@mui/material/useMediaQuery/index.mjs.map +0 -1
  1637. package/dist/esm-dev/node_modules/@mui/material/utils/capitalize.mjs +0 -6
  1638. package/dist/esm-dev/node_modules/@mui/material/utils/capitalize.mjs.map +0 -1
  1639. package/dist/esm-dev/node_modules/@mui/material/utils/createChainedFunction.mjs +0 -6
  1640. package/dist/esm-dev/node_modules/@mui/material/utils/createChainedFunction.mjs.map +0 -1
  1641. package/dist/esm-dev/node_modules/@mui/material/utils/createSimplePaletteValueFilter.mjs +0 -44
  1642. package/dist/esm-dev/node_modules/@mui/material/utils/createSimplePaletteValueFilter.mjs.map +0 -1
  1643. package/dist/esm-dev/node_modules/@mui/material/utils/createSvgIcon.mjs +0 -24
  1644. package/dist/esm-dev/node_modules/@mui/material/utils/createSvgIcon.mjs.map +0 -1
  1645. package/dist/esm-dev/node_modules/@mui/material/utils/debounce.mjs +0 -6
  1646. package/dist/esm-dev/node_modules/@mui/material/utils/debounce.mjs.map +0 -1
  1647. package/dist/esm-dev/node_modules/@mui/material/utils/getScrollbarSize.mjs +0 -6
  1648. package/dist/esm-dev/node_modules/@mui/material/utils/getScrollbarSize.mjs.map +0 -1
  1649. package/dist/esm-dev/node_modules/@mui/material/utils/isHostComponent.mjs +0 -9
  1650. package/dist/esm-dev/node_modules/@mui/material/utils/isHostComponent.mjs.map +0 -1
  1651. package/dist/esm-dev/node_modules/@mui/material/utils/isMuiElement.mjs +0 -6
  1652. package/dist/esm-dev/node_modules/@mui/material/utils/isMuiElement.mjs.map +0 -1
  1653. package/dist/esm-dev/node_modules/@mui/material/utils/memoTheme.mjs +0 -6
  1654. package/dist/esm-dev/node_modules/@mui/material/utils/memoTheme.mjs.map +0 -1
  1655. package/dist/esm-dev/node_modules/@mui/material/utils/ownerDocument.mjs +0 -6
  1656. package/dist/esm-dev/node_modules/@mui/material/utils/ownerDocument.mjs.map +0 -1
  1657. package/dist/esm-dev/node_modules/@mui/material/utils/ownerWindow.mjs +0 -6
  1658. package/dist/esm-dev/node_modules/@mui/material/utils/ownerWindow.mjs.map +0 -1
  1659. package/dist/esm-dev/node_modules/@mui/material/utils/unsupportedProp.mjs +0 -6
  1660. package/dist/esm-dev/node_modules/@mui/material/utils/unsupportedProp.mjs.map +0 -1
  1661. package/dist/esm-dev/node_modules/@mui/material/utils/useControlled.mjs +0 -6
  1662. package/dist/esm-dev/node_modules/@mui/material/utils/useControlled.mjs.map +0 -1
  1663. package/dist/esm-dev/node_modules/@mui/material/utils/useEnhancedEffect.mjs +0 -6
  1664. package/dist/esm-dev/node_modules/@mui/material/utils/useEnhancedEffect.mjs.map +0 -1
  1665. package/dist/esm-dev/node_modules/@mui/material/utils/useEventCallback.mjs +0 -6
  1666. package/dist/esm-dev/node_modules/@mui/material/utils/useEventCallback.mjs.map +0 -1
  1667. package/dist/esm-dev/node_modules/@mui/material/utils/useForkRef.mjs +0 -6
  1668. package/dist/esm-dev/node_modules/@mui/material/utils/useForkRef.mjs.map +0 -1
  1669. package/dist/esm-dev/node_modules/@mui/material/utils/useId.mjs +0 -6
  1670. package/dist/esm-dev/node_modules/@mui/material/utils/useId.mjs.map +0 -1
  1671. package/dist/esm-dev/node_modules/@mui/material/utils/useSlot.mjs +0 -82
  1672. package/dist/esm-dev/node_modules/@mui/material/utils/useSlot.mjs.map +0 -1
  1673. package/dist/esm-dev/node_modules/@mui/material/zero-styled/index.mjs +0 -27
  1674. package/dist/esm-dev/node_modules/@mui/material/zero-styled/index.mjs.map +0 -1
  1675. package/dist/esm-dev/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.mjs +0 -70
  1676. package/dist/esm-dev/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.mjs.map +0 -1
  1677. package/dist/esm-dev/node_modules/@mui/private-theming/ThemeProvider/nested.mjs +0 -5
  1678. package/dist/esm-dev/node_modules/@mui/private-theming/ThemeProvider/nested.mjs.map +0 -1
  1679. package/dist/esm-dev/node_modules/@mui/private-theming/useTheme/ThemeContext.mjs +0 -9
  1680. package/dist/esm-dev/node_modules/@mui/private-theming/useTheme/ThemeContext.mjs.map +0 -1
  1681. package/dist/esm-dev/node_modules/@mui/private-theming/useTheme/useTheme.mjs +0 -15
  1682. package/dist/esm-dev/node_modules/@mui/private-theming/useTheme/useTheme.mjs.map +0 -1
  1683. package/dist/esm-dev/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.mjs +0 -25
  1684. package/dist/esm-dev/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.mjs.map +0 -1
  1685. package/dist/esm-dev/node_modules/@mui/styled-engine/index.mjs +0 -45
  1686. package/dist/esm-dev/node_modules/@mui/styled-engine/index.mjs.map +0 -1
  1687. package/dist/esm-dev/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.mjs +0 -65
  1688. package/dist/esm-dev/node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.mjs.map +0 -1
  1689. package/dist/esm-dev/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.mjs +0 -63
  1690. package/dist/esm-dev/node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.mjs.map +0 -1
  1691. package/dist/esm-dev/node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.mjs +0 -82
  1692. package/dist/esm-dev/node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.mjs.map +0 -1
  1693. package/dist/esm-dev/node_modules/@mui/system/esm/RtlProvider/index.mjs +0 -25
  1694. package/dist/esm-dev/node_modules/@mui/system/esm/RtlProvider/index.mjs.map +0 -1
  1695. package/dist/esm-dev/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.mjs +0 -101
  1696. package/dist/esm-dev/node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.mjs.map +0 -1
  1697. package/dist/esm-dev/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.mjs +0 -51
  1698. package/dist/esm-dev/node_modules/@mui/system/esm/ThemeProvider/useLayerOrder.mjs.map +0 -1
  1699. package/dist/esm-dev/node_modules/@mui/system/esm/borders/borders.mjs +0 -52
  1700. package/dist/esm-dev/node_modules/@mui/system/esm/borders/borders.mjs.map +0 -1
  1701. package/dist/esm-dev/node_modules/@mui/system/esm/breakpoints/breakpoints.mjs +0 -85
  1702. package/dist/esm-dev/node_modules/@mui/system/esm/breakpoints/breakpoints.mjs.map +0 -1
  1703. package/dist/esm-dev/node_modules/@mui/system/esm/colorManipulator/colorManipulator.mjs +0 -299
  1704. package/dist/esm-dev/node_modules/@mui/system/esm/colorManipulator/colorManipulator.mjs.map +0 -1
  1705. package/dist/esm-dev/node_modules/@mui/system/esm/compose/compose.mjs +0 -27
  1706. package/dist/esm-dev/node_modules/@mui/system/esm/compose/compose.mjs.map +0 -1
  1707. package/dist/esm-dev/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.mjs +0 -83
  1708. package/dist/esm-dev/node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.mjs.map +0 -1
  1709. package/dist/esm-dev/node_modules/@mui/system/esm/createStyled/createStyled.mjs +0 -292
  1710. package/dist/esm-dev/node_modules/@mui/system/esm/createStyled/createStyled.mjs.map +0 -1
  1711. package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/applyStyles.mjs +0 -90
  1712. package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/applyStyles.mjs.map +0 -1
  1713. package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/createSpacing.mjs +0 -34
  1714. package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/createSpacing.mjs.map +0 -1
  1715. package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/createTheme.mjs +0 -52
  1716. package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/createTheme.mjs.map +0 -1
  1717. package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/shape.mjs +0 -6
  1718. package/dist/esm-dev/node_modules/@mui/system/esm/createTheme/shape.mjs.map +0 -1
  1719. package/dist/esm-dev/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.mjs +0 -70
  1720. package/dist/esm-dev/node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.mjs.map +0 -1
  1721. package/dist/esm-dev/node_modules/@mui/system/esm/cssGrid/cssGrid.mjs +0 -87
  1722. package/dist/esm-dev/node_modules/@mui/system/esm/cssGrid/cssGrid.mjs.map +0 -1
  1723. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/createCssVarsProvider.mjs +0 -327
  1724. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/createCssVarsProvider.mjs.map +0 -1
  1725. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/createGetCssVar.mjs +0 -25
  1726. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/createGetCssVar.mjs.map +0 -1
  1727. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/cssVarsParser.mjs +0 -132
  1728. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/cssVarsParser.mjs.map +0 -1
  1729. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.mjs +0 -29
  1730. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.mjs.map +0 -1
  1731. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/localStorageManager.mjs +0 -53
  1732. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/localStorageManager.mjs.map +0 -1
  1733. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/prepareCssVars.mjs +0 -156
  1734. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/prepareCssVars.mjs.map +0 -1
  1735. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/prepareTypographyVars.mjs +0 -14
  1736. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/prepareTypographyVars.mjs.map +0 -1
  1737. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.mjs +0 -230
  1738. package/dist/esm-dev/node_modules/@mui/system/esm/cssVars/useCurrentColorScheme.mjs.map +0 -1
  1739. package/dist/esm-dev/node_modules/@mui/system/esm/memoTheme.mjs +0 -31
  1740. package/dist/esm-dev/node_modules/@mui/system/esm/memoTheme.mjs.map +0 -1
  1741. package/dist/esm-dev/node_modules/@mui/system/esm/memoize/memoize.mjs +0 -12
  1742. package/dist/esm-dev/node_modules/@mui/system/esm/memoize/memoize.mjs.map +0 -1
  1743. package/dist/esm-dev/node_modules/@mui/system/esm/merge/merge.mjs +0 -13
  1744. package/dist/esm-dev/node_modules/@mui/system/esm/merge/merge.mjs.map +0 -1
  1745. package/dist/esm-dev/node_modules/@mui/system/esm/palette/palette.mjs +0 -29
  1746. package/dist/esm-dev/node_modules/@mui/system/esm/palette/palette.mjs.map +0 -1
  1747. package/dist/esm-dev/node_modules/@mui/system/esm/preprocessStyles.mjs +0 -29
  1748. package/dist/esm-dev/node_modules/@mui/system/esm/preprocessStyles.mjs.map +0 -1
  1749. package/dist/esm-dev/node_modules/@mui/system/esm/responsivePropType/responsivePropType.mjs +0 -6
  1750. package/dist/esm-dev/node_modules/@mui/system/esm/responsivePropType/responsivePropType.mjs.map +0 -1
  1751. package/dist/esm-dev/node_modules/@mui/system/esm/sizing/sizing.mjs +0 -67
  1752. package/dist/esm-dev/node_modules/@mui/system/esm/sizing/sizing.mjs.map +0 -1
  1753. package/dist/esm-dev/node_modules/@mui/system/esm/spacing/spacing.mjs +0 -147
  1754. package/dist/esm-dev/node_modules/@mui/system/esm/spacing/spacing.mjs.map +0 -1
  1755. package/dist/esm-dev/node_modules/@mui/system/esm/style/style.mjs +0 -78
  1756. package/dist/esm-dev/node_modules/@mui/system/esm/style/style.mjs.map +0 -1
  1757. package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.mjs +0 -297
  1758. package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.mjs.map +0 -1
  1759. package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.mjs +0 -55
  1760. package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.mjs.map +0 -1
  1761. package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.mjs +0 -137
  1762. package/dist/esm-dev/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.mjs.map +0 -1
  1763. package/dist/esm-dev/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.mjs +0 -122
  1764. package/dist/esm-dev/node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.mjs.map +0 -1
  1765. package/dist/esm-dev/node_modules/@mui/system/esm/useTheme/useTheme.mjs +0 -10
  1766. package/dist/esm-dev/node_modules/@mui/system/esm/useTheme/useTheme.mjs.map +0 -1
  1767. package/dist/esm-dev/node_modules/@mui/system/esm/useThemeProps/getThemeProps.mjs +0 -16
  1768. package/dist/esm-dev/node_modules/@mui/system/esm/useThemeProps/getThemeProps.mjs.map +0 -1
  1769. package/dist/esm-dev/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.mjs +0 -13
  1770. package/dist/esm-dev/node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.mjs.map +0 -1
  1771. package/dist/esm-dev/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.mjs +0 -19
  1772. package/dist/esm-dev/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.mjs.map +0 -1
  1773. package/dist/esm-dev/node_modules/@mui/utils/esm/HTMLElementType/HTMLElementType.mjs +0 -14
  1774. package/dist/esm-dev/node_modules/@mui/utils/esm/HTMLElementType/HTMLElementType.mjs.map +0 -1
  1775. package/dist/esm-dev/node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.mjs +0 -30
  1776. package/dist/esm-dev/node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.mjs.map +0 -1
  1777. package/dist/esm-dev/node_modules/@mui/utils/esm/capitalize/capitalize.mjs +0 -13
  1778. package/dist/esm-dev/node_modules/@mui/utils/esm/capitalize/capitalize.mjs.map +0 -1
  1779. package/dist/esm-dev/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes.mjs +0 -8
  1780. package/dist/esm-dev/node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes.mjs.map +0 -1
  1781. package/dist/esm-dev/node_modules/@mui/utils/esm/clamp/clamp.mjs +0 -6
  1782. package/dist/esm-dev/node_modules/@mui/utils/esm/clamp/clamp.mjs.map +0 -1
  1783. package/dist/esm-dev/node_modules/@mui/utils/esm/composeClasses/composeClasses.mjs +0 -56
  1784. package/dist/esm-dev/node_modules/@mui/utils/esm/composeClasses/composeClasses.mjs.map +0 -1
  1785. package/dist/esm-dev/node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.mjs +0 -20
  1786. package/dist/esm-dev/node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.mjs.map +0 -1
  1787. package/dist/esm-dev/node_modules/@mui/utils/esm/debounce/debounce.mjs +0 -20
  1788. package/dist/esm-dev/node_modules/@mui/utils/esm/debounce/debounce.mjs.map +0 -1
  1789. package/dist/esm-dev/node_modules/@mui/utils/esm/deepmerge/deepmerge.mjs +0 -67
  1790. package/dist/esm-dev/node_modules/@mui/utils/esm/deepmerge/deepmerge.mjs.map +0 -1
  1791. package/dist/esm-dev/node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.mjs +0 -45
  1792. package/dist/esm-dev/node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.mjs.map +0 -1
  1793. package/dist/esm-dev/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.mjs +0 -44
  1794. package/dist/esm-dev/node_modules/@mui/utils/esm/elementTypeAcceptingRef/elementTypeAcceptingRef.mjs.map +0 -1
  1795. package/dist/esm-dev/node_modules/@mui/utils/esm/exactProp/exactProp.mjs +0 -20
  1796. package/dist/esm-dev/node_modules/@mui/utils/esm/exactProp/exactProp.mjs.map +0 -1
  1797. package/dist/esm-dev/node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.mjs +0 -20
  1798. package/dist/esm-dev/node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.mjs.map +0 -1
  1799. package/dist/esm-dev/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.mjs +0 -23
  1800. package/dist/esm-dev/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.mjs.map +0 -1
  1801. package/dist/esm-dev/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.mjs +0 -12
  1802. package/dist/esm-dev/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.mjs.map +0 -1
  1803. package/dist/esm-dev/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.mjs +0 -42
  1804. package/dist/esm-dev/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.mjs.map +0 -1
  1805. package/dist/esm-dev/node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.mjs +0 -21
  1806. package/dist/esm-dev/node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.mjs.map +0 -1
  1807. package/dist/esm-dev/node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.mjs +0 -10
  1808. package/dist/esm-dev/node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.mjs.map +0 -1
  1809. package/dist/esm-dev/node_modules/@mui/utils/esm/integerPropType/integerPropType.mjs +0 -47
  1810. package/dist/esm-dev/node_modules/@mui/utils/esm/integerPropType/integerPropType.mjs.map +0 -1
  1811. package/dist/esm-dev/node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.mjs +0 -18
  1812. package/dist/esm-dev/node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.mjs.map +0 -1
  1813. package/dist/esm-dev/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.mjs +0 -9
  1814. package/dist/esm-dev/node_modules/@mui/utils/esm/isHostComponent/isHostComponent.mjs.map +0 -1
  1815. package/dist/esm-dev/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.mjs +0 -12
  1816. package/dist/esm-dev/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.mjs.map +0 -1
  1817. package/dist/esm-dev/node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.mjs +0 -93
  1818. package/dist/esm-dev/node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.mjs.map +0 -1
  1819. package/dist/esm-dev/node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.mjs +0 -20
  1820. package/dist/esm-dev/node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.mjs.map +0 -1
  1821. package/dist/esm-dev/node_modules/@mui/utils/esm/ownerDocument/ownerDocument.mjs +0 -6
  1822. package/dist/esm-dev/node_modules/@mui/utils/esm/ownerDocument/ownerDocument.mjs.map +0 -1
  1823. package/dist/esm-dev/node_modules/@mui/utils/esm/ownerWindow/ownerWindow.mjs +0 -9
  1824. package/dist/esm-dev/node_modules/@mui/utils/esm/ownerWindow/ownerWindow.mjs.map +0 -1
  1825. package/dist/esm-dev/node_modules/@mui/utils/esm/refType/refType.mjs +0 -6
  1826. package/dist/esm-dev/node_modules/@mui/utils/esm/refType/refType.mjs.map +0 -1
  1827. package/dist/esm-dev/node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.mjs +0 -13
  1828. package/dist/esm-dev/node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.mjs.map +0 -1
  1829. package/dist/esm-dev/node_modules/@mui/utils/esm/resolveProps/resolveProps.mjs +0 -46
  1830. package/dist/esm-dev/node_modules/@mui/utils/esm/resolveProps/resolveProps.mjs.map +0 -1
  1831. package/dist/esm-dev/node_modules/@mui/utils/esm/setRef/setRef.mjs +0 -23
  1832. package/dist/esm-dev/node_modules/@mui/utils/esm/setRef/setRef.mjs.map +0 -1
  1833. package/dist/esm-dev/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.mjs +0 -10
  1834. package/dist/esm-dev/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.mjs.map +0 -1
  1835. package/dist/esm-dev/node_modules/@mui/utils/esm/useControlled/useControlled.mjs +0 -41
  1836. package/dist/esm-dev/node_modules/@mui/utils/esm/useControlled/useControlled.mjs.map +0 -1
  1837. package/dist/esm-dev/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.mjs +0 -13
  1838. package/dist/esm-dev/node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.mjs.map +0 -1
  1839. package/dist/esm-dev/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.mjs +0 -20
  1840. package/dist/esm-dev/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.mjs.map +0 -1
  1841. package/dist/esm-dev/node_modules/@mui/utils/esm/useForkRef/useForkRef.mjs +0 -61
  1842. package/dist/esm-dev/node_modules/@mui/utils/esm/useForkRef/useForkRef.mjs.map +0 -1
  1843. package/dist/esm-dev/node_modules/@mui/utils/esm/useId/useId.mjs +0 -47
  1844. package/dist/esm-dev/node_modules/@mui/utils/esm/useId/useId.mjs.map +0 -1
  1845. package/dist/esm-dev/node_modules/@mui/utils/esm/useLazyRef/useLazyRef.mjs +0 -21
  1846. package/dist/esm-dev/node_modules/@mui/utils/esm/useLazyRef/useLazyRef.mjs.map +0 -1
  1847. package/dist/esm-dev/node_modules/@mui/utils/esm/useOnMount/useOnMount.mjs +0 -16
  1848. package/dist/esm-dev/node_modules/@mui/utils/esm/useOnMount/useOnMount.mjs.map +0 -1
  1849. package/dist/esm-dev/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.mjs +0 -12
  1850. package/dist/esm-dev/node_modules/@mui/utils/esm/usePreviousProps/usePreviousProps.mjs.map +0 -1
  1851. package/dist/esm-dev/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.mjs +0 -39
  1852. package/dist/esm-dev/node_modules/@mui/utils/esm/useSlotProps/useSlotProps.mjs.map +0 -1
  1853. package/dist/esm-dev/node_modules/@mui/utils/esm/useTimeout/useTimeout.mjs +0 -37
  1854. package/dist/esm-dev/node_modules/@mui/utils/esm/useTimeout/useTimeout.mjs.map +0 -1
  1855. package/dist/esm-dev/node_modules/@popperjs/core/lib/createPopper.mjs +0 -199
  1856. package/dist/esm-dev/node_modules/@popperjs/core/lib/createPopper.mjs.map +0 -1
  1857. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/contains.mjs +0 -27
  1858. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/contains.mjs.map +0 -1
  1859. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.mjs +0 -45
  1860. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.mjs.map +0 -1
  1861. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.mjs +0 -73
  1862. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.mjs.map +0 -1
  1863. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.mjs +0 -61
  1864. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.mjs.map +0 -1
  1865. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.mjs +0 -8
  1866. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.mjs.map +0 -1
  1867. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.mjs +0 -10
  1868. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.mjs.map +0 -1
  1869. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.mjs +0 -33
  1870. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.mjs.map +0 -1
  1871. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.mjs +0 -9
  1872. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.mjs.map +0 -1
  1873. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.mjs +0 -29
  1874. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.mjs.map +0 -1
  1875. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getNodeName.mjs +0 -6
  1876. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getNodeName.mjs.map +0 -1
  1877. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.mjs +0 -15
  1878. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.mjs.map +0 -1
  1879. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.mjs +0 -72
  1880. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.mjs.map +0 -1
  1881. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getParentNode.mjs +0 -23
  1882. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getParentNode.mjs.map +0 -1
  1883. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.mjs +0 -20
  1884. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.mjs.map +0 -1
  1885. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.mjs +0 -35
  1886. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.mjs.map +0 -1
  1887. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getWindow.mjs +0 -15
  1888. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getWindow.mjs.map +0 -1
  1889. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.mjs +0 -14
  1890. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.mjs.map +0 -1
  1891. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.mjs +0 -17
  1892. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.mjs.map +0 -1
  1893. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/instanceOf.mjs +0 -24
  1894. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/instanceOf.mjs.map +0 -1
  1895. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.mjs +0 -8
  1896. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.mjs.map +0 -1
  1897. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.mjs +0 -14
  1898. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.mjs.map +0 -1
  1899. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/isTableElement.mjs +0 -8
  1900. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/isTableElement.mjs.map +0 -1
  1901. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.mjs +0 -30
  1902. package/dist/esm-dev/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.mjs.map +0 -1
  1903. package/dist/esm-dev/node_modules/@popperjs/core/lib/enums.mjs +0 -34
  1904. package/dist/esm-dev/node_modules/@popperjs/core/lib/enums.mjs.map +0 -1
  1905. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/applyStyles.mjs +0 -88
  1906. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/applyStyles.mjs.map +0 -1
  1907. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/arrow.mjs +0 -93
  1908. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/arrow.mjs.map +0 -1
  1909. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/computeStyles.mjs +0 -172
  1910. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/computeStyles.mjs.map +0 -1
  1911. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/eventListeners.mjs +0 -52
  1912. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/eventListeners.mjs.map +0 -1
  1913. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/flip.mjs +0 -150
  1914. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/flip.mjs.map +0 -1
  1915. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/hide.mjs +0 -64
  1916. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/hide.mjs.map +0 -1
  1917. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/offset.mjs +0 -57
  1918. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/offset.mjs.map +0 -1
  1919. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/popperOffsets.mjs +0 -27
  1920. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/popperOffsets.mjs.map +0 -1
  1921. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/preventOverflow.mjs +0 -145
  1922. package/dist/esm-dev/node_modules/@popperjs/core/lib/modifiers/preventOverflow.mjs.map +0 -1
  1923. package/dist/esm-dev/node_modules/@popperjs/core/lib/popper.mjs +0 -18
  1924. package/dist/esm-dev/node_modules/@popperjs/core/lib/popper.mjs.map +0 -1
  1925. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.mjs +0 -47
  1926. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.mjs.map +0 -1
  1927. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/computeOffsets.mjs +0 -72
  1928. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/computeOffsets.mjs.map +0 -1
  1929. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/debounce.mjs +0 -18
  1930. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/debounce.mjs.map +0 -1
  1931. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/detectOverflow.mjs +0 -67
  1932. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/detectOverflow.mjs.map +0 -1
  1933. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/expandToHashMap.mjs +0 -9
  1934. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/expandToHashMap.mjs.map +0 -1
  1935. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getAltAxis.mjs +0 -6
  1936. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getAltAxis.mjs.map +0 -1
  1937. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getBasePlacement.mjs +0 -6
  1938. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getBasePlacement.mjs.map +0 -1
  1939. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getFreshSideObject.mjs +0 -11
  1940. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getFreshSideObject.mjs.map +0 -1
  1941. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.mjs +0 -6
  1942. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.mjs.map +0 -1
  1943. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getOppositePlacement.mjs +0 -14
  1944. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getOppositePlacement.mjs.map +0 -1
  1945. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.mjs +0 -12
  1946. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.mjs.map +0 -1
  1947. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getVariation.mjs +0 -6
  1948. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/getVariation.mjs.map +0 -1
  1949. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/math.mjs +0 -6
  1950. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/math.mjs.map +0 -1
  1951. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/mergeByName.mjs +0 -17
  1952. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/mergeByName.mjs.map +0 -1
  1953. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/mergePaddingObject.mjs +0 -8
  1954. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/mergePaddingObject.mjs.map +0 -1
  1955. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/orderModifiers.mjs +0 -47
  1956. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/orderModifiers.mjs.map +0 -1
  1957. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/rectToClientRect.mjs +0 -11
  1958. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/rectToClientRect.mjs.map +0 -1
  1959. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/userAgent.mjs +0 -14
  1960. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/userAgent.mjs.map +0 -1
  1961. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/within.mjs +0 -12
  1962. package/dist/esm-dev/node_modules/@popperjs/core/lib/utils/within.mjs.map +0 -1
  1963. package/dist/esm-dev/node_modules/@radix-ui/primitive/dist/index.mjs +0 -12
  1964. package/dist/esm-dev/node_modules/@radix-ui/primitive/dist/index.mjs.map +0 -1
  1965. package/dist/esm-dev/node_modules/@radix-ui/react-collection/dist/index.mjs +0 -71
  1966. package/dist/esm-dev/node_modules/@radix-ui/react-collection/dist/index.mjs.map +0 -1
  1967. package/dist/esm-dev/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +0 -40
  1968. package/dist/esm-dev/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +0 -1
  1969. package/dist/esm-dev/node_modules/@radix-ui/react-context/dist/index.mjs +0 -64
  1970. package/dist/esm-dev/node_modules/@radix-ui/react-context/dist/index.mjs.map +0 -1
  1971. package/dist/esm-dev/node_modules/@radix-ui/react-direction/dist/index.mjs +0 -12
  1972. package/dist/esm-dev/node_modules/@radix-ui/react-direction/dist/index.mjs.map +0 -1
  1973. package/dist/esm-dev/node_modules/@radix-ui/react-id/dist/index.mjs +0 -16
  1974. package/dist/esm-dev/node_modules/@radix-ui/react-id/dist/index.mjs.map +0 -1
  1975. package/dist/esm-dev/node_modules/@radix-ui/react-presence/dist/index.mjs +0 -131
  1976. package/dist/esm-dev/node_modules/@radix-ui/react-presence/dist/index.mjs.map +0 -1
  1977. package/dist/esm-dev/node_modules/@radix-ui/react-primitive/dist/index.mjs +0 -41
  1978. package/dist/esm-dev/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +0 -1
  1979. package/dist/esm-dev/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +0 -228
  1980. package/dist/esm-dev/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.map +0 -1
  1981. package/dist/esm-dev/node_modules/@radix-ui/react-slot/dist/index.mjs +0 -90
  1982. package/dist/esm-dev/node_modules/@radix-ui/react-slot/dist/index.mjs.map +0 -1
  1983. package/dist/esm-dev/node_modules/@radix-ui/react-tabs/dist/index.mjs +0 -188
  1984. package/dist/esm-dev/node_modules/@radix-ui/react-tabs/dist/index.mjs.map +0 -1
  1985. package/dist/esm-dev/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +0 -13
  1986. package/dist/esm-dev/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.map +0 -1
  1987. package/dist/esm-dev/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +0 -71
  1988. package/dist/esm-dev/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +0 -1
  1989. package/dist/esm-dev/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +0 -8
  1990. package/dist/esm-dev/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +0 -1
  1991. package/dist/esm-dev/node_modules/base-x/src/index.mjs +0 -134
  1992. package/dist/esm-dev/node_modules/base-x/src/index.mjs.map +0 -1
  1993. package/dist/esm-dev/node_modules/bs58/index.mjs +0 -17
  1994. package/dist/esm-dev/node_modules/bs58/index.mjs.map +0 -1
  1995. package/dist/esm-dev/node_modules/chroma-js/index.mjs +0 -85
  1996. package/dist/esm-dev/node_modules/chroma-js/index.mjs.map +0 -1
  1997. package/dist/esm-dev/node_modules/chroma-js/src/Color.mjs +0 -53
  1998. package/dist/esm-dev/node_modules/chroma-js/src/Color.mjs.map +0 -1
  1999. package/dist/esm-dev/node_modules/chroma-js/src/chroma.mjs +0 -11
  2000. package/dist/esm-dev/node_modules/chroma-js/src/chroma.mjs.map +0 -1
  2001. package/dist/esm-dev/node_modules/chroma-js/src/colors/colorbrewer.mjs +0 -82
  2002. package/dist/esm-dev/node_modules/chroma-js/src/colors/colorbrewer.mjs.map +0 -1
  2003. package/dist/esm-dev/node_modules/chroma-js/src/colors/w3cx11.mjs +0 -165
  2004. package/dist/esm-dev/node_modules/chroma-js/src/colors/w3cx11.mjs.map +0 -1
  2005. package/dist/esm-dev/node_modules/chroma-js/src/generator/average.mjs +0 -92
  2006. package/dist/esm-dev/node_modules/chroma-js/src/generator/average.mjs.map +0 -1
  2007. package/dist/esm-dev/node_modules/chroma-js/src/generator/bezier.mjs +0 -89
  2008. package/dist/esm-dev/node_modules/chroma-js/src/generator/bezier.mjs.map +0 -1
  2009. package/dist/esm-dev/node_modules/chroma-js/src/generator/blend.mjs +0 -58
  2010. package/dist/esm-dev/node_modules/chroma-js/src/generator/blend.mjs.map +0 -1
  2011. package/dist/esm-dev/node_modules/chroma-js/src/generator/cubehelix.mjs +0 -93
  2012. package/dist/esm-dev/node_modules/chroma-js/src/generator/cubehelix.mjs.map +0 -1
  2013. package/dist/esm-dev/node_modules/chroma-js/src/generator/mix.mjs +0 -22
  2014. package/dist/esm-dev/node_modules/chroma-js/src/generator/mix.mjs.map +0 -1
  2015. package/dist/esm-dev/node_modules/chroma-js/src/generator/random.mjs +0 -16
  2016. package/dist/esm-dev/node_modules/chroma-js/src/generator/random.mjs.map +0 -1
  2017. package/dist/esm-dev/node_modules/chroma-js/src/generator/scale.mjs +0 -398
  2018. package/dist/esm-dev/node_modules/chroma-js/src/generator/scale.mjs.map +0 -1
  2019. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/_hsx.mjs +0 -62
  2020. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/_hsx.mjs.map +0 -1
  2021. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hcg.mjs +0 -13
  2022. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hcg.mjs.map +0 -1
  2023. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsi.mjs +0 -13
  2024. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsi.mjs.map +0 -1
  2025. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsl.mjs +0 -13
  2026. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsl.mjs.map +0 -1
  2027. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsv.mjs +0 -13
  2028. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/hsv.mjs.map +0 -1
  2029. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/index.mjs +0 -4
  2030. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/index.mjs.map +0 -1
  2031. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lab.mjs +0 -20
  2032. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lab.mjs.map +0 -1
  2033. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lch.mjs +0 -14
  2034. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lch.mjs.map +0 -1
  2035. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lrgb.mjs +0 -21
  2036. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/lrgb.mjs.map +0 -1
  2037. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/num.mjs +0 -15
  2038. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/num.mjs.map +0 -1
  2039. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklab.mjs +0 -20
  2040. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklab.mjs.map +0 -1
  2041. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklch.mjs +0 -13
  2042. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/oklch.mjs.map +0 -1
  2043. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/rgb.mjs +0 -19
  2044. package/dist/esm-dev/node_modules/chroma-js/src/interpolator/rgb.mjs.map +0 -1
  2045. package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.mjs +0 -18
  2046. package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/cmyk2rgb.mjs.map +0 -1
  2047. package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/index.mjs +0 -29
  2048. package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/index.mjs.map +0 -1
  2049. package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.mjs +0 -20
  2050. package/dist/esm-dev/node_modules/chroma-js/src/io/cmyk/rgb2cmyk.mjs.map +0 -1
  2051. package/dist/esm-dev/node_modules/chroma-js/src/io/css/css2rgb.mjs +0 -239
  2052. package/dist/esm-dev/node_modules/chroma-js/src/io/css/css2rgb.mjs.map +0 -1
  2053. package/dist/esm-dev/node_modules/chroma-js/src/io/css/hsl2css.mjs +0 -29
  2054. package/dist/esm-dev/node_modules/chroma-js/src/io/css/hsl2css.mjs.map +0 -1
  2055. package/dist/esm-dev/node_modules/chroma-js/src/io/css/index.mjs +0 -27
  2056. package/dist/esm-dev/node_modules/chroma-js/src/io/css/index.mjs.map +0 -1
  2057. package/dist/esm-dev/node_modules/chroma-js/src/io/css/lab2css.mjs +0 -27
  2058. package/dist/esm-dev/node_modules/chroma-js/src/io/css/lab2css.mjs.map +0 -1
  2059. package/dist/esm-dev/node_modules/chroma-js/src/io/css/lch2css.mjs +0 -27
  2060. package/dist/esm-dev/node_modules/chroma-js/src/io/css/lch2css.mjs.map +0 -1
  2061. package/dist/esm-dev/node_modules/chroma-js/src/io/css/oklab2css.mjs +0 -18
  2062. package/dist/esm-dev/node_modules/chroma-js/src/io/css/oklab2css.mjs.map +0 -1
  2063. package/dist/esm-dev/node_modules/chroma-js/src/io/css/oklch2css.mjs +0 -18
  2064. package/dist/esm-dev/node_modules/chroma-js/src/io/css/oklch2css.mjs.map +0 -1
  2065. package/dist/esm-dev/node_modules/chroma-js/src/io/css/rgb2css.mjs +0 -65
  2066. package/dist/esm-dev/node_modules/chroma-js/src/io/css/rgb2css.mjs.map +0 -1
  2067. package/dist/esm-dev/node_modules/chroma-js/src/io/gl/index.mjs +0 -24
  2068. package/dist/esm-dev/node_modules/chroma-js/src/io/gl/index.mjs.map +0 -1
  2069. package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs +0 -58
  2070. package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/hcg2rgb.mjs.map +0 -1
  2071. package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/index.mjs +0 -29
  2072. package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/index.mjs.map +0 -1
  2073. package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/rgb2hcg.mjs +0 -25
  2074. package/dist/esm-dev/node_modules/chroma-js/src/io/hcg/rgb2hcg.mjs.map +0 -1
  2075. package/dist/esm-dev/node_modules/chroma-js/src/io/hex/hex2rgb.mjs +0 -57
  2076. package/dist/esm-dev/node_modules/chroma-js/src/io/hex/hex2rgb.mjs.map +0 -1
  2077. package/dist/esm-dev/node_modules/chroma-js/src/io/hex/index.mjs +0 -30
  2078. package/dist/esm-dev/node_modules/chroma-js/src/io/hex/index.mjs.map +0 -1
  2079. package/dist/esm-dev/node_modules/chroma-js/src/io/hex/rgb2hex.mjs +0 -33
  2080. package/dist/esm-dev/node_modules/chroma-js/src/io/hex/rgb2hex.mjs.map +0 -1
  2081. package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs +0 -49
  2082. package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/hsi2rgb.mjs.map +0 -1
  2083. package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/index.mjs +0 -29
  2084. package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/index.mjs.map +0 -1
  2085. package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs +0 -34
  2086. package/dist/esm-dev/node_modules/chroma-js/src/io/hsi/rgb2hsi.mjs.map +0 -1
  2087. package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/hsl2rgb.mjs +0 -37
  2088. package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/hsl2rgb.mjs.map +0 -1
  2089. package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/index.mjs +0 -29
  2090. package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/index.mjs.map +0 -1
  2091. package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs +0 -47
  2092. package/dist/esm-dev/node_modules/chroma-js/src/io/hsl/rgb2hsl.mjs.map +0 -1
  2093. package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs +0 -50
  2094. package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/hsv2rgb.mjs.map +0 -1
  2095. package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/index.mjs +0 -29
  2096. package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/index.mjs.map +0 -1
  2097. package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs +0 -35
  2098. package/dist/esm-dev/node_modules/chroma-js/src/io/hsv/rgb2hsv.mjs.map +0 -1
  2099. package/dist/esm-dev/node_modules/chroma-js/src/io/input.mjs +0 -7
  2100. package/dist/esm-dev/node_modules/chroma-js/src/io/input.mjs.map +0 -1
  2101. package/dist/esm-dev/node_modules/chroma-js/src/io/lab/index.mjs +0 -30
  2102. package/dist/esm-dev/node_modules/chroma-js/src/io/lab/index.mjs.map +0 -1
  2103. package/dist/esm-dev/node_modules/chroma-js/src/io/lab/lab-constants.mjs +0 -116
  2104. package/dist/esm-dev/node_modules/chroma-js/src/io/lab/lab-constants.mjs.map +0 -1
  2105. package/dist/esm-dev/node_modules/chroma-js/src/io/lab/lab2rgb.mjs +0 -102
  2106. package/dist/esm-dev/node_modules/chroma-js/src/io/lab/lab2rgb.mjs.map +0 -1
  2107. package/dist/esm-dev/node_modules/chroma-js/src/io/lab/rgb2lab.mjs +0 -68
  2108. package/dist/esm-dev/node_modules/chroma-js/src/io/lab/rgb2lab.mjs.map +0 -1
  2109. package/dist/esm-dev/node_modules/chroma-js/src/io/lch/hcl2rgb.mjs +0 -11
  2110. package/dist/esm-dev/node_modules/chroma-js/src/io/lch/hcl2rgb.mjs.map +0 -1
  2111. package/dist/esm-dev/node_modules/chroma-js/src/io/lch/index.mjs +0 -38
  2112. package/dist/esm-dev/node_modules/chroma-js/src/io/lch/index.mjs.map +0 -1
  2113. package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lab2lch.mjs +0 -15
  2114. package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lab2lch.mjs.map +0 -1
  2115. package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2lab.mjs +0 -21
  2116. package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2lab.mjs.map +0 -1
  2117. package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2rgb.mjs +0 -15
  2118. package/dist/esm-dev/node_modules/chroma-js/src/io/lch/lch2rgb.mjs.map +0 -1
  2119. package/dist/esm-dev/node_modules/chroma-js/src/io/lch/rgb2lch.mjs +0 -14
  2120. package/dist/esm-dev/node_modules/chroma-js/src/io/lch/rgb2lch.mjs.map +0 -1
  2121. package/dist/esm-dev/node_modules/chroma-js/src/io/named/index.mjs +0 -30
  2122. package/dist/esm-dev/node_modules/chroma-js/src/io/named/index.mjs.map +0 -1
  2123. package/dist/esm-dev/node_modules/chroma-js/src/io/num/index.mjs +0 -33
  2124. package/dist/esm-dev/node_modules/chroma-js/src/io/num/index.mjs.map +0 -1
  2125. package/dist/esm-dev/node_modules/chroma-js/src/io/num/num2rgb.mjs +0 -14
  2126. package/dist/esm-dev/node_modules/chroma-js/src/io/num/num2rgb.mjs.map +0 -1
  2127. package/dist/esm-dev/node_modules/chroma-js/src/io/num/rgb2num.mjs +0 -10
  2128. package/dist/esm-dev/node_modules/chroma-js/src/io/num/rgb2num.mjs.map +0 -1
  2129. package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/index.mjs +0 -29
  2130. package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/index.mjs.map +0 -1
  2131. package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/oklab2rgb.mjs +0 -36
  2132. package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/oklab2rgb.mjs.map +0 -1
  2133. package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/rgb2oklab.mjs +0 -39
  2134. package/dist/esm-dev/node_modules/chroma-js/src/io/oklab/rgb2oklab.mjs.map +0 -1
  2135. package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/index.mjs +0 -29
  2136. package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/index.mjs.map +0 -1
  2137. package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/oklch2rgb.mjs +0 -15
  2138. package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/oklch2rgb.mjs.map +0 -1
  2139. package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/rgb2oklch.mjs +0 -14
  2140. package/dist/esm-dev/node_modules/chroma-js/src/io/oklch/rgb2oklch.mjs.map +0 -1
  2141. package/dist/esm-dev/node_modules/chroma-js/src/io/rgb/index.mjs +0 -47
  2142. package/dist/esm-dev/node_modules/chroma-js/src/io/rgb/index.mjs.map +0 -1
  2143. package/dist/esm-dev/node_modules/chroma-js/src/io/temp/index.mjs +0 -23
  2144. package/dist/esm-dev/node_modules/chroma-js/src/io/temp/index.mjs.map +0 -1
  2145. package/dist/esm-dev/node_modules/chroma-js/src/io/temp/rgb2temperature.mjs +0 -33
  2146. package/dist/esm-dev/node_modules/chroma-js/src/io/temp/rgb2temperature.mjs.map +0 -1
  2147. package/dist/esm-dev/node_modules/chroma-js/src/io/temp/temperature2rgb.mjs +0 -40
  2148. package/dist/esm-dev/node_modules/chroma-js/src/io/temp/temperature2rgb.mjs.map +0 -1
  2149. package/dist/esm-dev/node_modules/chroma-js/src/ops/alpha.mjs +0 -14
  2150. package/dist/esm-dev/node_modules/chroma-js/src/ops/alpha.mjs.map +0 -1
  2151. package/dist/esm-dev/node_modules/chroma-js/src/ops/clipped.mjs +0 -6
  2152. package/dist/esm-dev/node_modules/chroma-js/src/ops/clipped.mjs.map +0 -1
  2153. package/dist/esm-dev/node_modules/chroma-js/src/ops/darken.mjs +0 -18
  2154. package/dist/esm-dev/node_modules/chroma-js/src/ops/darken.mjs.map +0 -1
  2155. package/dist/esm-dev/node_modules/chroma-js/src/ops/get.mjs +0 -14
  2156. package/dist/esm-dev/node_modules/chroma-js/src/ops/get.mjs.map +0 -1
  2157. package/dist/esm-dev/node_modules/chroma-js/src/ops/luminance.mjs +0 -56
  2158. package/dist/esm-dev/node_modules/chroma-js/src/ops/luminance.mjs.map +0 -1
  2159. package/dist/esm-dev/node_modules/chroma-js/src/ops/mix.mjs +0 -11
  2160. package/dist/esm-dev/node_modules/chroma-js/src/ops/mix.mjs.map +0 -1
  2161. package/dist/esm-dev/node_modules/chroma-js/src/ops/premultiply.mjs +0 -13
  2162. package/dist/esm-dev/node_modules/chroma-js/src/ops/premultiply.mjs.map +0 -1
  2163. package/dist/esm-dev/node_modules/chroma-js/src/ops/saturate.mjs +0 -16
  2164. package/dist/esm-dev/node_modules/chroma-js/src/ops/saturate.mjs.map +0 -1
  2165. package/dist/esm-dev/node_modules/chroma-js/src/ops/set.mjs +0 -44
  2166. package/dist/esm-dev/node_modules/chroma-js/src/ops/set.mjs.map +0 -1
  2167. package/dist/esm-dev/node_modules/chroma-js/src/ops/shade.mjs +0 -12
  2168. package/dist/esm-dev/node_modules/chroma-js/src/ops/shade.mjs.map +0 -1
  2169. package/dist/esm-dev/node_modules/chroma-js/src/utils/analyze.mjs +0 -194
  2170. package/dist/esm-dev/node_modules/chroma-js/src/utils/analyze.mjs.map +0 -1
  2171. package/dist/esm-dev/node_modules/chroma-js/src/utils/clip_rgb.mjs +0 -18
  2172. package/dist/esm-dev/node_modules/chroma-js/src/utils/clip_rgb.mjs.map +0 -1
  2173. package/dist/esm-dev/node_modules/chroma-js/src/utils/contrast.mjs +0 -15
  2174. package/dist/esm-dev/node_modules/chroma-js/src/utils/contrast.mjs.map +0 -1
  2175. package/dist/esm-dev/node_modules/chroma-js/src/utils/contrastAPCA.mjs +0 -71
  2176. package/dist/esm-dev/node_modules/chroma-js/src/utils/contrastAPCA.mjs.map +0 -1
  2177. package/dist/esm-dev/node_modules/chroma-js/src/utils/delta-e.mjs +0 -66
  2178. package/dist/esm-dev/node_modules/chroma-js/src/utils/delta-e.mjs.map +0 -1
  2179. package/dist/esm-dev/node_modules/chroma-js/src/utils/distance.mjs +0 -20
  2180. package/dist/esm-dev/node_modules/chroma-js/src/utils/distance.mjs.map +0 -1
  2181. package/dist/esm-dev/node_modules/chroma-js/src/utils/index.mjs +0 -24
  2182. package/dist/esm-dev/node_modules/chroma-js/src/utils/index.mjs.map +0 -1
  2183. package/dist/esm-dev/node_modules/chroma-js/src/utils/last.mjs +0 -11
  2184. package/dist/esm-dev/node_modules/chroma-js/src/utils/last.mjs.map +0 -1
  2185. package/dist/esm-dev/node_modules/chroma-js/src/utils/limit.mjs +0 -8
  2186. package/dist/esm-dev/node_modules/chroma-js/src/utils/limit.mjs.map +0 -1
  2187. package/dist/esm-dev/node_modules/chroma-js/src/utils/multiply-matrices.mjs +0 -39
  2188. package/dist/esm-dev/node_modules/chroma-js/src/utils/multiply-matrices.mjs.map +0 -1
  2189. package/dist/esm-dev/node_modules/chroma-js/src/utils/scales.mjs +0 -19
  2190. package/dist/esm-dev/node_modules/chroma-js/src/utils/scales.mjs.map +0 -1
  2191. package/dist/esm-dev/node_modules/chroma-js/src/utils/type.mjs +0 -21
  2192. package/dist/esm-dev/node_modules/chroma-js/src/utils/type.mjs.map +0 -1
  2193. package/dist/esm-dev/node_modules/chroma-js/src/utils/unpack.mjs +0 -20
  2194. package/dist/esm-dev/node_modules/chroma-js/src/utils/unpack.mjs.map +0 -1
  2195. package/dist/esm-dev/node_modules/chroma-js/src/utils/valid.mjs +0 -14
  2196. package/dist/esm-dev/node_modules/chroma-js/src/utils/valid.mjs.map +0 -1
  2197. package/dist/esm-dev/node_modules/chroma-js/src/version.mjs +0 -5
  2198. package/dist/esm-dev/node_modules/chroma-js/src/version.mjs.map +0 -1
  2199. package/dist/esm-dev/node_modules/chromatic/isChromatic.mjs +0 -13
  2200. package/dist/esm-dev/node_modules/chromatic/isChromatic.mjs.map +0 -1
  2201. package/dist/esm-dev/node_modules/classnames/index.mjs +0 -86
  2202. package/dist/esm-dev/node_modules/classnames/index.mjs.map +0 -1
  2203. package/dist/esm-dev/node_modules/clsx/dist/clsx.mjs +0 -4
  2204. package/dist/esm-dev/node_modules/clsx/dist/clsx.mjs.map +0 -1
  2205. package/dist/esm-dev/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.mjs +0 -115
  2206. package/dist/esm-dev/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.mjs.map +0 -1
  2207. package/dist/esm-dev/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.mjs +0 -191
  2208. package/dist/esm-dev/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.mjs.map +0 -1
  2209. package/dist/esm-dev/node_modules/hoist-non-react-statics/node_modules/react-is/index.mjs +0 -17
  2210. package/dist/esm-dev/node_modules/hoist-non-react-statics/node_modules/react-is/index.mjs.map +0 -1
  2211. package/dist/esm-dev/node_modules/input-otp/dist/index.mjs +0 -25
  2212. package/dist/esm-dev/node_modules/input-otp/dist/index.mjs.map +0 -1
  2213. package/dist/esm-dev/node_modules/js-cookie/dist/js.cookie.mjs +0 -134
  2214. package/dist/esm-dev/node_modules/js-cookie/dist/js.cookie.mjs.map +0 -1
  2215. package/dist/esm-dev/node_modules/lodash.merge/index.mjs +0 -1985
  2216. package/dist/esm-dev/node_modules/lodash.merge/index.mjs.map +0 -1
  2217. package/dist/esm-dev/node_modules/moo/moo.mjs +0 -655
  2218. package/dist/esm-dev/node_modules/moo/moo.mjs.map +0 -1
  2219. package/dist/esm-dev/node_modules/nanoid/index.browser.mjs +0 -17
  2220. package/dist/esm-dev/node_modules/nanoid/index.browser.mjs.map +0 -1
  2221. package/dist/esm-dev/node_modules/object-assign/index.mjs +0 -100
  2222. package/dist/esm-dev/node_modules/object-assign/index.mjs.map +0 -1
  2223. package/dist/esm-dev/node_modules/prop-types/checkPropTypes.mjs +0 -116
  2224. package/dist/esm-dev/node_modules/prop-types/checkPropTypes.mjs.map +0 -1
  2225. package/dist/esm-dev/node_modules/prop-types/factoryWithTypeCheckers.mjs +0 -626
  2226. package/dist/esm-dev/node_modules/prop-types/factoryWithTypeCheckers.mjs.map +0 -1
  2227. package/dist/esm-dev/node_modules/prop-types/index.mjs +0 -29
  2228. package/dist/esm-dev/node_modules/prop-types/index.mjs.map +0 -1
  2229. package/dist/esm-dev/node_modules/prop-types/lib/ReactPropTypesSecret.mjs +0 -22
  2230. package/dist/esm-dev/node_modules/prop-types/lib/ReactPropTypesSecret.mjs.map +0 -1
  2231. package/dist/esm-dev/node_modules/prop-types/lib/has.mjs +0 -12
  2232. package/dist/esm-dev/node_modules/prop-types/lib/has.mjs.map +0 -1
  2233. package/dist/esm-dev/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.mjs +0 -191
  2234. package/dist/esm-dev/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.mjs.map +0 -1
  2235. package/dist/esm-dev/node_modules/prop-types/node_modules/react-is/index.mjs +0 -17
  2236. package/dist/esm-dev/node_modules/prop-types/node_modules/react-is/index.mjs.map +0 -1
  2237. package/dist/esm-dev/node_modules/react-is/cjs/react-is.development.mjs +0 -142
  2238. package/dist/esm-dev/node_modules/react-is/cjs/react-is.development.mjs.map +0 -1
  2239. package/dist/esm-dev/node_modules/react-is/index.mjs +0 -17
  2240. package/dist/esm-dev/node_modules/react-is/index.mjs.map +0 -1
  2241. package/dist/esm-dev/node_modules/react-transition-group/esm/Transition.mjs +0 -628
  2242. package/dist/esm-dev/node_modules/react-transition-group/esm/Transition.mjs.map +0 -1
  2243. package/dist/esm-dev/node_modules/react-transition-group/esm/TransitionGroup.mjs +0 -191
  2244. package/dist/esm-dev/node_modules/react-transition-group/esm/TransitionGroup.mjs.map +0 -1
  2245. package/dist/esm-dev/node_modules/react-transition-group/esm/TransitionGroupContext.mjs +0 -6
  2246. package/dist/esm-dev/node_modules/react-transition-group/esm/TransitionGroupContext.mjs.map +0 -1
  2247. package/dist/esm-dev/node_modules/react-transition-group/esm/config.mjs +0 -6
  2248. package/dist/esm-dev/node_modules/react-transition-group/esm/config.mjs.map +0 -1
  2249. package/dist/esm-dev/node_modules/react-transition-group/esm/utils/ChildMapping.mjs +0 -144
  2250. package/dist/esm-dev/node_modules/react-transition-group/esm/utils/ChildMapping.mjs.map +0 -1
  2251. package/dist/esm-dev/node_modules/react-transition-group/esm/utils/PropTypes.mjs +0 -22
  2252. package/dist/esm-dev/node_modules/react-transition-group/esm/utils/PropTypes.mjs.map +0 -1
  2253. package/dist/esm-dev/node_modules/react-transition-group/esm/utils/reflow.mjs +0 -6
  2254. package/dist/esm-dev/node_modules/react-transition-group/esm/utils/reflow.mjs.map +0 -1
  2255. package/dist/esm-dev/node_modules/stylis/src/Enum.mjs +0 -13
  2256. package/dist/esm-dev/node_modules/stylis/src/Enum.mjs.map +0 -1
  2257. package/dist/esm-dev/node_modules/stylis/src/Middleware.mjs +0 -21
  2258. package/dist/esm-dev/node_modules/stylis/src/Middleware.mjs.map +0 -1
  2259. package/dist/esm-dev/node_modules/stylis/src/Parser.mjs +0 -194
  2260. package/dist/esm-dev/node_modules/stylis/src/Parser.mjs.map +0 -1
  2261. package/dist/esm-dev/node_modules/stylis/src/Serializer.mjs +0 -39
  2262. package/dist/esm-dev/node_modules/stylis/src/Serializer.mjs.map +0 -1
  2263. package/dist/esm-dev/node_modules/stylis/src/Tokenizer.mjs +0 -224
  2264. package/dist/esm-dev/node_modules/stylis/src/Tokenizer.mjs.map +0 -1
  2265. package/dist/esm-dev/node_modules/stylis/src/Utility.mjs +0 -118
  2266. package/dist/esm-dev/node_modules/stylis/src/Utility.mjs.map +0 -1
  2267. package/dist/esm-dev/node_modules/swr/_internal/dist/index.mjs +0 -681
  2268. package/dist/esm-dev/node_modules/swr/_internal/dist/index.mjs.map +0 -1
  2269. package/dist/esm-dev/node_modules/swr/core/dist/index.mjs +0 -488
  2270. package/dist/esm-dev/node_modules/swr/core/dist/index.mjs.map +0 -1
  2271. package/dist/esm-dev/node_modules/swr/infinite/dist/index.mjs +0 -233
  2272. package/dist/esm-dev/node_modules/swr/infinite/dist/index.mjs.map +0 -1
  2273. package/dist/esm-dev/node_modules/swr/mutation/dist/index.mjs +0 -126
  2274. package/dist/esm-dev/node_modules/swr/mutation/dist/index.mjs.map +0 -1
  2275. package/dist/esm-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs +0 -106
  2276. package/dist/esm-dev/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.mjs.map +0 -1
  2277. package/dist/esm-dev/node_modules/use-sync-external-store/shim/index.mjs +0 -17
  2278. package/dist/esm-dev/node_modules/use-sync-external-store/shim/index.mjs.map +0 -1
  2279. package/dist/esm-dev/node_modules/uuid/dist/esm-browser/regex.mjs +0 -4
  2280. package/dist/esm-dev/node_modules/uuid/dist/esm-browser/regex.mjs.map +0 -1
  2281. package/dist/esm-dev/node_modules/uuid/dist/esm-browser/rng.mjs +0 -22
  2282. package/dist/esm-dev/node_modules/uuid/dist/esm-browser/rng.mjs.map +0 -1
  2283. package/dist/esm-dev/node_modules/uuid/dist/esm-browser/stringify.mjs +0 -32
  2284. package/dist/esm-dev/node_modules/uuid/dist/esm-browser/stringify.mjs.map +0 -1
  2285. package/dist/esm-dev/node_modules/uuid/dist/esm-browser/v4.mjs +0 -15
  2286. package/dist/esm-dev/node_modules/uuid/dist/esm-browser/v4.mjs.map +0 -1
  2287. package/dist/esm-dev/node_modules/uuid/dist/esm-browser/validate.mjs +0 -8
  2288. package/dist/esm-dev/node_modules/uuid/dist/esm-browser/validate.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../web/src/assets/sso.tsx","../../../../web/src/assets/logo-color/Hubspot.tsx","../../../../web/src/assets/logo-color/Okta.tsx","../../../../web/src/messages/b2b/en.ts","../../../../web/src/utils/oauthProviderType.ts","../../../../../node_modules/swr/mutation/dist/index.mjs","../../../../web/src/ui/b2b/utils.ts","../../../../web/src/ui/b2b/hooks/useIsOnlyFloatingOneTap.ts","../../../../web/src/ui/b2b/hooks/useLastUsedAuthMethod.ts","../../../../web/src/ui/b2b/components/OAuthB2BButton.tsx","../../../../web/src/ui/b2b/components/B2BOneTap.tsx","../../../../web/src/ui/b2b/components/Icons.ts","../../../../web/src/ui/b2b/components/SSOButton.tsx","../../../../web/src/ui/b2b/hooks/useEmlDiscoverySend.ts","../../../../web/src/ui/b2b/hooks/useEmlLoginOrSignup.ts","../../../../web/src/ui/b2b/screens/useEmailDomain.ts","../../../../web/src/ui/b2b/screens/EmailConfirmation.tsx","../../../../web/src/ui/b2b/components/UsePasswordButton.tsx","../../../../web/src/ui/b2b/hooks/useEffectiveAuthConfig.ts","../../../../web/src/ui/b2b/getOtpCodeExpiration.ts","../../../../web/src/ui/b2b/hooks/useEmailOtpDiscoverySend.ts","../../../../web/src/ui/b2b/hooks/useEmailOtpLoginOrSignup.ts","../../../../web/src/ui/b2b/screens/EmailForm.tsx","../../../../web/src/ui/b2b/screens/EmailMethodSelectionScreen.tsx","../../../../web/src/ui/b2b/screens/EmailOTPEntryScreen.tsx","../../../../web/src/ui/b2b/usePasswordInput.ts","../../../../web/src/ui/b2b/screens/PasswordAuthenticate.tsx","../../../../web/src/ui/b2b/screens/PasswordEmailForm.tsx","../../../../web/src/ui/b2b/screens/PasswordForgotForm.tsx","../../../../web/src/ui/b2b/screens/PasswordResetConfirmation.tsx","../../../../web/src/ui/b2b/screens/PasswordResetForm.tsx","../../../../web/src/ui/b2b/screens/PasswordSetNew.tsx","../../../../web/src/utils/assertUnreachable.ts","../../../../web/src/ui/b2b/types/authMethodKeys.ts","../../../../web/src/ui/b2b/screens/SsoAndOAuthButtons.tsx","../../../../web/src/ui/b2b/hooks/useSsoDiscoveryConnection.ts","../../../../web/src/ui/b2b/screens/SSODiscoveryEmail.tsx","../../../../web/src/ui/b2b/screens/SSODiscoveryFallback.tsx","../../../../web/src/ui/b2b/screens/SSODiscoveryMenu.tsx","../../../../web/src/ui/b2b/B2BProducts.tsx","../../../../web/src/ui/b2b/screens/Confirmation.tsx","../../../../web/src/ui/b2b/components/OrganizationRow.tsx","../../../../web/src/ui/b2b/screens/Discovery.tsx","../../../../web/src/ui/b2b/generateProductComponentsOrdering.ts","../../../../web/src/ui/b2b/screens/Main.tsx","../../../../web/src/ui/b2b/screens/MFAEnrollmentSelectionScreen.tsx","../../../../web/src/ui/b2b/screens/RecoveryCodeEntryScreen.tsx","../../../../web/src/ui/components/atoms/CodeContainer.tsx","../../../../web/src/ui/b2b/screens/RecoveryCodeSaveScreen.tsx","../../../../web/src/ui/b2b/screens/SMSOTPEnrollScreen.tsx","../../../../web/src/ui/b2b/screens/SMSOTPEntryScreen.tsx","../../../../web/src/ui/b2b/screens/TOTPEnrollManualScreen.tsx","../../../../web/src/ui/b2b/screens/TOTPEnrollQRScreen.tsx","../../../../web/src/ui/b2b/screens/TOTPEntryScreen.tsx","../../../../web/src/ui/b2b/Container.tsx","../../../../web/src/ui/b2b/InternalAppContainer.tsx","../../../../web/src/ui/b2b/hooks/useStytchMember.ts","../../../../web/src/ui/b2b/screens/IDPConsent.tsx","../../../../web/src/ui/b2b/App.tsx","../../../../web/src/ui/react/bindings/createB2BComponent.tsx","../../../../web/src/ui/react/b2b/B2BIdentityProvider.tsx","../../../../web/src/ui/react/b2b/Stytch.tsx","../../../src/b2b/StytchB2BContext.tsx","../../../src/b2b/index.ts"],"sourcesContent":["import React from 'react';\n\nimport { DEFAULT_ICON_SIZE, IconProps } from './types';\n\nexport const SSOIcon = ({ size = DEFAULT_ICON_SIZE, ...props }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_221_1596)\">\n <path\n d=\"M17.5125 10.53C17.0025 7.9425 14.73 6 12 6C9.8325 6 7.95 7.23 7.0125 9.03C4.755 9.27 3 11.1825 3 13.5C3 15.9825 5.0175 18 7.5 18H17.25C19.32 18 21 16.32 21 14.25C21 12.27 19.4625 10.665 17.5125 10.53Z\"\n fill=\"currentColor\"\n />\n </g>\n <g clipPath=\"url(#clip1_221_1596)\">\n <path\n d=\"M15.9684 13.1139L14.9987 14.0933L14.5152 13.6098L14.2501 13.3446L13.9849 13.6098L13.5001 14.0946L13.0152 13.6098L12.9054 13.4999H12.7501H12.6188H12.3532L12.2651 13.7504C12.0087 14.4788 11.3147 14.9999 10.5001 14.9999C9.46592 14.9999 8.62506 14.1591 8.62506 13.1249C8.62506 12.0908 9.46592 11.2499 10.5001 11.2499C11.3147 11.2499 12.0087 11.7711 12.2651 12.4994L12.3532 12.7499H12.6188H15.5969L15.9684 13.1139ZM9.00006 13.1249C9.00006 13.9508 9.6742 14.6249 10.5001 14.6249C11.3259 14.6249 12.0001 13.9508 12.0001 13.1249C12.0001 12.2991 11.3259 11.6249 10.5001 11.6249C9.6742 11.6249 9.00006 12.2991 9.00006 13.1249Z\"\n fill=\"var(--st-background)\"\n stroke=\"var(--st-background)\"\n strokeWidth=\"0.75\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_221_1596\">\n <rect width=\"18\" height=\"18\" transform=\"translate(3 3)\" />\n </clipPath>\n <clipPath id=\"clip1_221_1596\">\n <rect width=\"8.25\" height=\"6\" transform=\"translate(8.25006 10.1251)\" />\n </clipPath>\n </defs>\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const HubspotIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#FF7A59\"\n fillRule=\"evenodd\"\n d=\"M13.93 13.97a2.4 2.4 0 0 1-2.43-2.4c0-1.34 1.09-2.42 2.43-2.42a2.4 2.4 0 0 1 2.43 2.41c0 1.33-1.08 2.41-2.43 2.41m.73-7.05V4.78c.56-.26.96-.83.96-1.49v-.05c0-.9-.75-1.64-1.66-1.64h-.05c-.92 0-1.67.74-1.67 1.64v.05c0 .66.4 1.23.96 1.5v2.13q-1.27.21-2.24.98L5 3.32q.07-.21.07-.46C5.08 1.83 4.24 1 3.2 1s-1.88.83-1.88 1.86a1.87 1.87 0 0 0 2.8 1.6l5.85 4.51a4.6 4.6 0 0 0 .07 5.29l-1.77 1.76a1.54 1.54 0 0 0-1.98 1.46 1.54 1.54 0 0 0 3.09 0q-.02-.23-.08-.44l1.76-1.74a4.75 4.75 0 0 0 7.62-3.74 4.7 4.7 0 0 0-4.02-4.64\"\n clipRule=\"evenodd\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const OktaIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#191919\"\n fillRule=\"evenodd\"\n d=\"m10.9 1.13-.37 4.56a5 5 0 0 0-1.19.01l-.2-2.2q0-.12.11-.13h.38l-.18-2.24q.01-.12.11-.13h1.23q.11.01.11.13m-3.09.22q-.04-.1-.15-.08l-1.15.42q-.11.06-.07.16l.94 2.04-.36.13q-.1.06-.06.16l.95 2a4 4 0 0 1 1.12-.42zM5 2.62l2.65 3.73q-.51.33-.9.78l-1.6-1.56a.12.12 0 0 1 .01-.18l.3-.23-1.58-1.6a.12.12 0 0 1 0-.18l.94-.78a.12.12 0 0 1 .17.02M2.77 4.78q-.1-.05-.17.04l-.61 1.06a.12.12 0 0 0 .05.17L4.07 7l-.2.32a.12.12 0 0 0 .06.17l2.02.92q.22-.56.59-1.04zm-1.5 2.88q.03-.11.15-.1l4.42 1.16q-.17.57-.19 1.18l-2.21-.18a.12.12 0 0 1-.1-.14l.06-.37L1.16 9q-.11-.02-.1-.14zm-.16 2.99q-.12.02-.1.14l.2 1.2q.05.12.15.1l2.17-.56.07.37c0 .06.08.1.14.09l2.14-.59q-.19-.56-.22-1.17zm.7 3.17a.12.12 0 0 1 .06-.17L6 11.7q.24.55.62 1.02L4.8 14.01a.12.12 0 0 1-.17-.04l-.19-.33-1.84 1.28q-.1.05-.17-.04zm5.02-.86L3.6 16.21a.12.12 0 0 0 0 .18l.95.79q.1.06.17-.02l1.3-1.84.29.25q.1.07.18-.03l1.26-1.82a5 5 0 0 1-.93-.76m-.64 5.22a.12.12 0 0 1-.07-.16l1.91-4.15q.53.27 1.13.39L8.6 16.4a.12.12 0 0 1-.16.07l-.35-.12-.6 2.16q-.04.1-.15.08zm3.28-3.87-.37 4.56q0 .12.12.13h1.22q.12-.01.12-.13l-.18-2.23h.37q.12-.02.12-.14l-.2-2.2a4 4 0 0 1-1.2.01M13.9 1.97a.12.12 0 0 0-.07-.17l-1.15-.41q-.12-.03-.16.08l-.6 2.16-.35-.13q-.1-.02-.15.08l-.56 2.15q.6.12 1.12.39zm2.5 1.81-3.21 3.26a4 4 0 0 0-.93-.76l1.26-1.83a.12.12 0 0 1 .18-.03l.29.25 1.3-1.83a.12.12 0 0 1 .17-.02l.94.79q.09.08.01.17m1.75 2.56q.1-.05.05-.17l-.62-1.05a.12.12 0 0 0-.17-.04l-1.84 1.27-.2-.32q-.06-.1-.16-.04l-1.82 1.29q.38.46.62 1.02zM18.79 8l.2 1.2a.12.12 0 0 1-.1.15l-4.55.42a4 4 0 0 0-.23-1.17l2.14-.59q.12-.02.15.1l.06.37 2.17-.57q.12-.03.15.1zm-.2 4.43q.1.01.14-.1l.2-1.2a.12.12 0 0 0-.1-.15l-2.23-.2.06-.37a.12.12 0 0 0-.1-.14l-2.22-.18q-.01.6-.19 1.18l4.43 1.15m-1.19 2.75a.12.12 0 0 1-.17.04l-3.77-2.6q.36-.48.59-1.04l2.02.92q.1.06.05.16l-.19.33 2.03.96q.1.05.05.17zm-5.04-1.54 2.65 3.73q.08.08.17.02l.94-.79a.12.12 0 0 0 0-.17l-1.57-1.6.3-.23q.08-.09 0-.18l-1.59-1.56q-.4.46-.9.78m-.02 5.08q-.12.03-.16-.08l-1.2-4.41q.59-.14 1.1-.43l.96 2.01c.03.06 0 .14-.06.16l-.36.13.94 2.04q.04.1-.07.16z\"\n clipRule=\"evenodd\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import { Messages } from '@lingui/core';\n\nimport { messages as _messages } from '../../../messages/b2b/en.json';\n\nexport const messages = _messages as unknown as Messages;\n","import { B2BOAuthProviderConfig, B2BOAuthProviders } from '@stytch/core/public';\n\nexport const getParamsFromB2BOAuthProviderConfig = (provider: B2BOAuthProviderConfig) => {\n let providerType: B2BOAuthProviders;\n let oneTap = false;\n let customScopes: string[] = [];\n let providerParams: Record<string, string> = {};\n let cancelOnTapOutside: boolean | undefined = undefined;\n if (typeof provider === 'string') {\n providerType = provider;\n } else {\n providerType = provider.type;\n if (provider.type === B2BOAuthProviders.Google && provider.one_tap) {\n oneTap = provider.one_tap;\n cancelOnTapOutside = provider.cancel_on_tap_outside;\n }\n customScopes = provider.customScopes || [];\n providerParams = provider.providerParams || {};\n }\n return {\n type: providerType,\n one_tap: oneTap,\n customScopes,\n providerParams,\n cancel_on_tap_outside: cancelOnTapOutside,\n };\n};\n","import { useRef, useCallback } from 'react';\nimport useSWR, { useSWRConfig } from 'swr';\nimport { withMiddleware, useStateWithDeps, UNDEFINED, serialize, mergeObjects, getTimestamp, useIsomorphicLayoutEffect } from 'swr/_internal';\n\nconst mutation = ()=>{\n return (key, fetcher, config = {})=>{\n const { mutate } = useSWRConfig();\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n // Ditch all mutation results that happened earlier than this timestamp.\n const ditchMutationsUntilRef = useRef(0);\n const [stateRef, stateDependencies, setState] = useStateWithDeps({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n const currentState = stateRef.current;\n const trigger = useCallback(async (arg, opts)=>{\n const [serializedKey, resolvedKey] = serialize(keyRef.current);\n if (!fetcherRef.current) {\n throw new Error('Can’t trigger the mutation: missing fetcher.');\n }\n if (!serializedKey) {\n throw new Error('Can’t trigger the mutation: missing key.');\n }\n // Disable cache population by default.\n const options = mergeObjects(mergeObjects({\n populateCache: false,\n throwOnError: true\n }, configRef.current), opts);\n // Trigger a mutation, and also track the timestamp. Any mutation that happened\n // earlier this timestamp should be ignored.\n const mutationStartedAt = getTimestamp();\n ditchMutationsUntilRef.current = mutationStartedAt;\n setState({\n isMutating: true\n });\n try {\n const data = await mutate(serializedKey, fetcherRef.current(resolvedKey, {\n arg\n }), // We must throw the error here so we can catch and update the states.\n mergeObjects(options, {\n throwOnError: true\n }));\n // If it's reset after the mutation, we don't broadcast any state change.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n setState({\n data,\n isMutating: false,\n error: undefined\n });\n options.onSuccess == null ? void 0 : options.onSuccess(data, serializedKey, options);\n }\n return data;\n } catch (error) {\n // If it's reset after the mutation, we don't broadcast any state change\n // or throw because it's discarded.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n setState({\n error: error,\n isMutating: false\n });\n options.onError == null ? void 0 : options.onError(error, serializedKey, options);\n if (options.throwOnError) {\n throw error;\n }\n }\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n const reset = useCallback(()=>{\n ditchMutationsUntilRef.current = getTimestamp();\n setState({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useIsomorphicLayoutEffect(()=>{\n keyRef.current = key;\n fetcherRef.current = fetcher;\n configRef.current = config;\n });\n // We don't return `mutate` here as it can be pretty confusing (e.g. people\n // calling `mutate` but they actually mean `trigger`).\n // And also, `mutate` relies on the useSWR hook to exist too.\n return {\n trigger,\n reset,\n get data () {\n stateDependencies.data = true;\n return currentState.data;\n },\n get error () {\n stateDependencies.error = true;\n return currentState.error;\n },\n get isMutating () {\n stateDependencies.isMutating = true;\n return currentState.isMutating;\n }\n };\n };\n};\n/**\n * A hook to define and manually trigger remote mutations like POST, PUT, DELETE and PATCH use cases.\n *\n * @link https://swr.vercel.app/docs/mutation\n * @example\n * ```jsx\n * import useSWRMutation from 'swr/mutation'\n *\n * const {\n * data,\n * error,\n * trigger,\n * reset,\n * isMutating\n * } = useSWRMutation(key, fetcher, options?)\n * ```\n */ var index = withMiddleware(useSWR, mutation);\n\nexport { index as default };\n","import {\n AuthFlowType,\n B2BAuthenticateResponseWithMFA,\n B2BDiscoveryAuthenticateResponse,\n B2BMagicLinksDiscoveryAuthenticateResponse,\n B2BOrganizationsGetBySlugResponse,\n StytchAPIError,\n StytchError,\n StytchEvent,\n StytchEventType,\n StytchProjectConfigurationInput,\n} from '@stytch/core/public';\nimport { useEffect, useMemo, useState } from 'react';\nimport useSWRMutation, { MutationFetcher, SWRMutationConfiguration } from 'swr/mutation';\n\nimport { StytchB2BClient } from '../../b2b/StytchB2BClient';\nimport { StytchB2BExtendedLoginConfig } from '../../types';\nimport { readB2BInternals } from '../../utils/internal';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from './GlobalContextProvider';\nimport { Action } from './reducer';\nimport type { ProductId, StytchB2BProduct } from './StytchB2BProduct';\nimport { AppScreens } from './types/AppScreens';\nimport { ErrorType } from './types/ErrorType';\n\ntype RecursiveDotNotation<T> = T extends object\n ? {\n [K in keyof T]: K extends string\n ? T[K] extends (...args: never[]) => unknown\n ? K\n : T[K] extends object\n ? `${K}.${RecursiveDotNotation<T[K]>}`\n : K\n : never;\n }[keyof T]\n : never;\n\ntype ValidStytchMutationKey = `stytch.${RecursiveDotNotation<StytchB2BClient>}`;\n\nconst KeyToStytchEventMap = {\n 'stytch.magicLinks.authenticate': StytchEventType.B2BMagicLinkAuthenticate,\n 'stytch.sso.authenticate': StytchEventType.B2BSSOAuthenticate,\n 'stytch.sso.discoverConnections': StytchEventType.B2BSSODiscoverConnections,\n 'stytch.magicLinks.discovery.authenticate': StytchEventType.B2BMagicLinkDiscoveryAuthenticate,\n 'stytch.discovery.organizations.create': StytchEventType.B2BDiscoveryOrganizationsCreate,\n 'stytch.discovery.intermediateSessions.exchange': StytchEventType.B2BDiscoveryIntermediateSessionExchange,\n 'stytch.magicLinks.email.loginOrSignup': StytchEventType.B2BMagicLinkEmailLoginOrSignup,\n 'stytch.magicLinks.email.discovery.send': StytchEventType.B2BMagicLinkEmailDiscoverySend,\n 'stytch.oauth.authenticate': StytchEventType.B2BOAuthAuthenticate,\n 'stytch.oauth.discovery.authenticate': StytchEventType.B2BOAuthDiscoveryAuthenticate,\n 'stytch.otps.sms.send': StytchEventType.B2BSMSOTPSend,\n 'stytch.otps.sms.authenticate': StytchEventType.B2BSMSOTPAuthenticate,\n 'stytch.totp.create': StytchEventType.B2BTOTPCreate,\n 'stytch.totp.authenticate': StytchEventType.B2BTOTPAuthenticate,\n 'stytch.recoveryCodes.recover': StytchEventType.B2BRecoveryCodesRecover,\n 'stytch.impersonation.authenticate': StytchEventType.B2BImpersonationAuthenticate,\n 'stytch.otps.email.authenticate': StytchEventType.B2BOTPsEmailAuthenticate,\n 'stytch.otps.email.discovery.authenticate': StytchEventType.B2BOTPsEmailDiscoveryAuthenticate,\n 'stytch.otps.email.discovery.send': StytchEventType.B2BOTPsEmailDiscoverySend,\n 'stytch.otps.email.loginOrSignup': StytchEventType.B2BOTPsEmailLoginOrSignup,\n 'stytch.organization.getBySlug': StytchEventType.B2BOrganizationsGetBySlug,\n} satisfies Partial<Record<ValidStytchMutationKey, StytchEventType>>;\n\ntype StytchExternalMutationKey = keyof typeof KeyToStytchEventMap;\n\ntype StytchInternalMutationKey = `internal.${string}`;\n\nexport type StytchMutationKey = StytchExternalMutationKey | StytchInternalMutationKey;\n\nexport function getStytchEventByKey(key: StytchMutationKey): StytchEventType | undefined {\n return KeyToStytchEventMap[key as StytchExternalMutationKey];\n}\n\nexport const useMutate = <TData, TError, TKey extends StytchMutationKey, TExtraArg = never>(\n key: TKey,\n fetcher: MutationFetcher<TData, TExtraArg, TKey>,\n options: SWRMutationConfiguration<TData, TError, TExtraArg, TKey> = {},\n) => {\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const result = useSWRMutation<TData, TError, TKey, TExtraArg>(key, fetcher, {\n throwOnError: false,\n ...options,\n onSuccess: (data, key, config) => {\n const eventType = getStytchEventByKey(key as StytchMutationKey);\n if (eventType) {\n onEvent({ type: eventType, data } as StytchEvent<StytchProjectConfigurationInput>);\n }\n\n options.onSuccess?.(data, key, config);\n },\n onError: (error, key, config) => {\n onError(error as StytchError);\n\n options.onError?.(error, key, config);\n },\n });\n\n // Hide the error while mutating. This helps avoid the errors continuing to show after the user has clicked submit\n // and also ensures repeating errors causes <ErrorText> to re-render which is important for screenreaders to\n // re-announce them\n return result.isMutating ? { ...result, error: undefined } : result;\n};\n\n/**\n *\n * This hook triggers a request to retrieve the organization from the slug.\n * The hook only triggers the request if the SDK is being used in an organization flow,\n * and a slug pattern is present. The hook returns an isSearching boolean that can be used\n * to display a loading state while the search is in progress.\n */\nexport const useExtractSlug = () => {\n const [state, dispatch] = useGlobalReducer();\n const [pattern, setPattern] = useState<string | null | undefined>();\n const config = useConfig();\n\n const stytchClient = useStytch();\n const slug = config.organizationSlug ?? extractFromPattern(pattern || null, window.location.href);\n\n const { trigger, isMutating: isSearching } = useMutate<\n B2BOrganizationsGetBySlugResponse,\n StytchAPIError,\n StytchExternalMutationKey,\n { slug: string }\n >(\n 'stytch.organization.getBySlug',\n (_: string, { arg: { slug } }: { arg: { slug: string } }) =>\n stytchClient.organization.getBySlug({ organization_slug: slug }),\n {\n onSuccess: ({ organization }) => {\n if (organization === null) {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType: ErrorType.Organization,\n canGoBack: false,\n });\n } else {\n dispatch({\n type: 'set_organization',\n organization: {\n ...organization,\n },\n });\n }\n },\n },\n );\n\n useEffect(() => {\n readB2BInternals(stytchClient)\n .bootstrap.getAsync()\n .then(({ slugPattern }) => {\n setPattern(slugPattern);\n });\n }, [stytchClient]);\n\n useEffect(() => {\n if (\n slug !== null &&\n state.flowState.organization === null &&\n state.screen === AppScreens.Main &&\n state.flowState.type == AuthFlowType.Organization\n ) {\n trigger({ slug });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [slug, state.flowState, state.screen]);\n\n // The org is pending identification if the slug pattern has not yet been\n // determined (i.e., `undefined`) or the organization request is in progress\n const resultPending = pattern === undefined || isSearching;\n\n return { slug, resultPending };\n};\n\nexport const useBootstrap = () => {\n const stytchClient = useStytch();\n const [bootstrap, setBootstrap] = useState(readB2BInternals(stytchClient).bootstrap.getSync());\n\n useEffect(() => {\n readB2BInternals(stytchClient)\n .bootstrap.getAsync()\n .then((data) => {\n setBootstrap(data);\n });\n }, [stytchClient]);\n\n return bootstrap;\n};\n\nexport const onAuthenticateSuccess = (\n data: B2BAuthenticateResponseWithMFA<StytchProjectConfigurationInput>,\n dispatch: React.Dispatch<Action>,\n config: StytchB2BExtendedLoginConfig,\n) => {\n dispatch({\n type: 'primary_authenticate_success',\n response: data,\n includedMfaMethods: config.mfaProductInclude,\n });\n};\n\nexport const onDiscoveryAuthenticateSuccess = (\n data: B2BDiscoveryAuthenticateResponse | B2BMagicLinksDiscoveryAuthenticateResponse,\n dispatch: React.Dispatch<Action>,\n) => {\n dispatch({\n type: 'set_discovery_state',\n email: data.email_address,\n discoveredOrganizations: data.discovered_organizations,\n });\n};\n\nexport const extractFromPattern = (pattern: string | null, href: string): string | null => {\n if (pattern === null) return null;\n\n const url = new URL(href);\n url.search = '';\n\n const currentUrl = url.toString().trim();\n const regexPattern = pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '(?:[^.]+)').replace('{{slug}}', '(.+)');\n\n const regex = new RegExp(regexPattern);\n const match = currentUrl.match(regex);\n\n if (match && match[1]) {\n return match?.[1];\n }\n\n return null;\n};\n\nexport function hasProduct(products: StytchB2BProduct[], product: ProductId) {\n return products.some((p) => p.id === product);\n}\n\nexport function useProductComponents<Type extends 'screens' | 'mainScreen' | 'ssoAndOAuthButtons'>(\n { products, organizationProducts }: { products: StytchB2BProduct[]; organizationProducts: StytchB2BProduct[] },\n screenType: Type,\n) {\n return useMemo(() => {\n const map = {} as Required<StytchB2BProduct[Type]>;\n for (const product of [...products, ...organizationProducts]) {\n if (product[screenType]) Object.assign(map, product[screenType]);\n }\n return map;\n }, [products, organizationProducts, screenType]);\n}\n","import { B2BOAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { getParamsFromB2BOAuthProviderConfig } from '../../../utils/oauthProviderType';\nimport { useConfig } from '../GlobalContextProvider';\nimport { hasProduct } from '../utils';\n\nexport const useIsOnlyFloatingOneTap = () => {\n const config = useConfig();\n const isOnlyFloatingOneTap = useMemo(() => {\n const oauthProvider = config.oauthOptions\n ? getParamsFromB2BOAuthProviderConfig(config.oauthOptions?.providers[0])\n : undefined;\n const isGoogleOneTap = oauthProvider?.type === B2BOAuthProviders.Google && oauthProvider?.one_tap === true;\n return (\n config.products.length === 1 &&\n hasProduct(config.products, 'oauth') &&\n config.oauthOptions?.providers.length === 1 &&\n isGoogleOneTap\n );\n }, [config]);\n\n return isOnlyFloatingOneTap;\n};\n","import { useMemo } from 'react';\n\nimport { readB2BInternals } from '../../../utils/internal';\nimport { safeLocalStorage } from '../../../utils/storage';\nimport { useStytch } from '../GlobalContextProvider';\nimport { LastUsedMethod } from '../types/authMethodKeys';\n\n/**\n * Hook for managing the last used authentication method in B2B flows.\n * The returned value is not reactive and will not update when setLastUsedMethod is called.\n */\nexport function useLastUsedAuthMethod() {\n const stytch = useStytch();\n const { publicToken } = readB2BInternals(stytch);\n\n // Deliberately not using useLocalStorage because we _don't_ want the buttons\n // to reorder while the user is still seeing this page\n const lastUsedMethod = useMemo(() => safeLocalStorage.getItem(publicToken, 'b2b_last_used_method'), [publicToken]);\n const setLastUsedMethod = (method: LastUsedMethod) => {\n safeLocalStorage.setItem(publicToken, 'b2b_last_used_method', method);\n };\n\n return [lastUsedMethod, setLastUsedMethod] as const;\n}\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { B2BOAuthProviders } from '@stytch/core/public';\nimport React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport { IconRegistry } from '../../components/IconRegistry';\nimport { getButtonId, usePresentation } from '../../components/PresentationConfig';\nimport { useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport type { oauthIcons } from './Icons';\n\ntype OauthIconName = keyof typeof oauthIcons;\n\ninterface OAuthProviderInfo {\n messageDescriptor: MessageDescriptor;\n}\n\nconst providerInfo: Record<B2BOAuthProviders, OAuthProviderInfo> = {\n [B2BOAuthProviders.Google]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGoogle', message: 'Continue with Google' }),\n },\n [B2BOAuthProviders.Microsoft]: {\n messageDescriptor: msg({ id: 'oauth.continueWithMicrosoft', message: 'Continue with Microsoft' }),\n },\n [B2BOAuthProviders.HubSpot]: {\n messageDescriptor: msg({ id: 'oauth.continueWithHubSpot', message: 'Continue with HubSpot' }),\n },\n [B2BOAuthProviders.Slack]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSlack', message: 'Continue with Slack' }),\n },\n [B2BOAuthProviders.GitHub]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGitHub', message: 'Continue with GitHub' }),\n },\n};\n\nexport type OauthB2BButtonProps = {\n providerType: B2BOAuthProviders;\n loginRedirectUrl?: string;\n signupRedirectUrl?: string;\n discoveryRedirectUrl?: string;\n customScopes?: string[];\n providerParams?: Record<string, string>;\n onSuccess?: () => void;\n};\n\nexport const OAuthB2BButton = ({\n providerType,\n loginRedirectUrl,\n signupRedirectUrl,\n discoveryRedirectUrl,\n customScopes,\n providerParams,\n onSuccess,\n}: OauthB2BButtonProps) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const [state] = useGlobalReducer();\n\n const presentation = usePresentation();\n const iconRegistry: IconRegistry<OauthIconName> = presentation.iconRegistry;\n const id = getButtonId(`oauth-${providerType}`, presentation.options);\n\n const provider = providerInfo[providerType];\n let label: string = providerType;\n let icon = null;\n if (provider) {\n const { messageDescriptor } = provider;\n const Icon = iconRegistry[providerType];\n label = t(messageDescriptor);\n icon = <Icon />;\n }\n\n const onButtonClick = async () => {\n const providerClient = stytchClient.oauth[providerType];\n\n if (state.flowState.organization) {\n await providerClient.start({\n login_redirect_url: loginRedirectUrl,\n signup_redirect_url: signupRedirectUrl,\n custom_scopes: customScopes,\n organization_id: state.flowState.organization.organization_id,\n provider_params: providerParams,\n });\n } else {\n await providerClient.discovery.start({\n discovery_redirect_url: discoveryRedirectUrl,\n custom_scopes: customScopes,\n provider_params: providerParams,\n });\n }\n\n onSuccess?.();\n };\n\n return (\n <Button onClick={onButtonClick} variant=\"outline\" icon={icon} id={id}>\n {label}\n </Button>\n );\n};\n","import { DEV, logger } from '@stytch/core';\nimport { B2BOAuthProviders, OneTapPositions } from '@stytch/core/public';\nimport type { CredentialResponse } from 'google-one-tap';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { GoogleOneTapClient } from '../../../oneTap/GoogleOneTapClient';\nimport { readB2BInternals } from '../../../utils/internal';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { ErrorMessages, OneTapErrors } from '../../components/organisms/OneTapError';\nimport { useIsUnmounted } from '../../hooks/useIsMounted';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { useIsOnlyFloatingOneTap } from '../hooks/useIsOnlyFloatingOneTap';\nimport { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod';\nimport { AppScreens } from '../types/AppScreens';\nimport { OAuthB2BButton } from './OAuthB2BButton';\n\nexport type B2BOneTapProps = {\n customScopes?: string[];\n providerParams?: Record<string, string>;\n cancelOnTapOutside?: boolean;\n};\n\nexport const B2BGoogleOneTap = ({ customScopes, providerParams, cancelOnTapOutside }: B2BOneTapProps) => {\n const stytch = useStytch();\n const config = useConfig();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap();\n const [oneTapError, setOneTapError] = useState<OneTapErrors>();\n const isUnmounted = useIsUnmounted();\n const [state, dispatch] = useGlobalReducer();\n\n const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();\n\n /*\n * Begin One Tap Loading / Initialization Logic\n */\n //\n const attemptToLoadOneTap = useCallback(async () => {\n const { oneTap } = readB2BInternals(stytch);\n const clientResult = await oneTap.createOneTapClient();\n if (!clientResult.success) {\n if (clientResult.reason === 'oauth_config_not_found') {\n setOneTapError(OneTapErrors.NoConfiguredOAuthClient);\n } else if (clientResult.reason === 'default_provider_not_allowed') {\n setOneTapError(OneTapErrors.DefaultProviderNotAllowed);\n } else {\n logger.error('Unable to load One Tap settings for project', clientResult);\n }\n return;\n }\n const { client } = clientResult;\n\n /**\n * One tap is composed of two calls, an init() call and a prompt() call\n * the init() call takes in a parent_id where one tap should be shown\n * prompt() does the actual showing. if the element does not exist,\n * we show One Tap in the upper right corner\n * if the element does exist, One Tap's lifecycle is tied to the lifecycle of said element\n * here, we call init() then prompt() in the useeffect. If the component unmounts before\n * prompt() is called, One Tap falls back to the element-does-not-exist behavior.\n * Fix: add a check for whether the component is still rendered immediately before we\n * call prompt, preventing this race condition\n */\n if (isUnmounted.current) {\n return;\n }\n\n let oneTapCallback: (response: CredentialResponse) => void;\n if (state.flowState.organization) {\n oneTapCallback = oneTap.createOnSuccessHandler({\n organizationId: state.flowState.organization.organization_id,\n signupRedirectUrl: config.oauthOptions?.signupRedirectURL,\n loginRedirectUrl: config.oauthOptions?.loginRedirectURL,\n onSuccess: oneTap.redirectOnSuccess,\n onError: () => dispatch({ type: 'transition', screen: AppScreens.Error }),\n });\n } else {\n oneTapCallback = oneTap.createOnDiscoverySuccessHandler({\n discoveryRedirectUrl: config.oauthOptions?.discoveryRedirectURL,\n onSuccess: oneTap.redirectOnSuccess,\n onError: () => dispatch({ type: 'transition', screen: AppScreens.Error }),\n });\n }\n const renderResult = await client.render({\n callback: oneTapCallback,\n style: {\n position: OneTapPositions.floating,\n },\n cancelOnTapOutside,\n });\n\n // Check if the component has become unmounted during the async OT render process\n // Kill the rest of the logic if so\n if (isUnmounted.current) {\n client.cancel();\n return;\n }\n\n if (!renderResult.success) {\n if (renderResult.reason === 'unregistered_origin') {\n setOneTapError(OneTapErrors.OriginNotAllowedForClient);\n }\n if (renderResult.reason === 'invalid_client') {\n setOneTapError(OneTapErrors.InvalidOAuthClient);\n }\n logger.error('Unable to render One Tap prompt', renderResult);\n }\n return client;\n }, [\n stytch,\n isUnmounted,\n state.flowState.organization,\n config.oauthOptions?.signupRedirectURL,\n config.oauthOptions?.loginRedirectURL,\n config.oauthOptions?.discoveryRedirectURL,\n dispatch,\n cancelOnTapOutside,\n ]);\n\n useEffect(() => {\n let client: GoogleOneTapClient | undefined;\n attemptToLoadOneTap()\n .then(($client) => (client = $client))\n .catch((err) => {\n logger.error('Unable to render One Tap prompt', err);\n });\n return () => client?.cancel();\n }, [attemptToLoadOneTap]);\n /*\n * End One Tap Loading / Initialization Logic\n */\n\n if (isOnlyFloatingOneTap) {\n return null;\n }\n\n const fallbackButton = (\n <OAuthB2BButton\n providerType={B2BOAuthProviders.Google}\n loginRedirectUrl={config.oauthOptions?.loginRedirectURL}\n signupRedirectUrl={config.oauthOptions?.signupRedirectURL}\n discoveryRedirectUrl={config.oauthOptions?.discoveryRedirectURL}\n customScopes={customScopes}\n providerParams={providerParams}\n onSuccess={() => setLastUsedMethod(B2BOAuthProviders.Google)}\n />\n );\n\n const fallbackWithLastUsed =\n lastUsedMethod === B2BOAuthProviders.Google ? <LastUsed>{fallbackButton}</LastUsed> : fallbackButton;\n\n if (oneTapError) {\n return (\n <>\n {DEV(<ErrorMessages error={oneTapError} />)}\n {fallbackWithLastUsed}\n </>\n );\n }\n\n return fallbackWithLastUsed;\n};\n","import {\n GithubIcon,\n GmailIcon,\n GoogleIcon,\n HubspotIcon,\n MicrosoftIcon,\n OktaIcon,\n OutlookIcon,\n SlackIcon,\n YahooIcon,\n} from '../../../assets/logo-color';\n\nexport const oauthIcons = {\n google: GoogleIcon,\n microsoft: MicrosoftIcon,\n hubspot: HubspotIcon,\n slack: SlackIcon,\n github: GithubIcon,\n};\n\nexport const ssoIcons = {\n google: GoogleIcon,\n microsoft: MicrosoftIcon,\n okta: OktaIcon,\n};\n\nexport const emailIcons = {\n gmail: GmailIcon,\n outlook: OutlookIcon,\n yahoo: YahooIcon,\n};\n\nexport type IconNames =\n | keyof typeof oauthIcons //\n | keyof typeof ssoIcons\n | keyof typeof emailIcons;\n","import { useLingui } from '@lingui/react/macro';\nimport { SSOActiveConnection } from '@stytch/core/public';\nimport React from 'react';\n\nimport { SSOIcon } from '../../../assets';\nimport { SsoKnownIdp } from '../../../utils/KnownIdp';\nimport Button from '../../components/atoms/Button';\nimport { getButtonId, usePresentation } from '../../components/PresentationConfig';\nimport { useConfig, useStytch } from '../GlobalContextProvider';\nimport type { ssoIcons } from './Icons';\n\ntype SsoIconNames = keyof typeof ssoIcons;\n\nconst iconMap: Record<string, SsoIconNames> = {\n 'google-workspace': 'google',\n 'microsoft-entra': 'microsoft',\n okta: 'okta',\n} satisfies Record<Exclude<SsoKnownIdp, 'generic'>, SsoIconNames>;\n\nexport interface SSOButtonProps {\n connection: SSOActiveConnection;\n onStart?: (connection: SSOActiveConnection) => void;\n}\n\nexport const SSOButton = ({ connection, onStart }: SSOButtonProps) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const { ssoOptions } = useConfig();\n const { iconRegistry, options } = usePresentation();\n\n const { connection_id, display_name, identity_provider } = connection;\n\n const id = getButtonId(`sso-${display_name}`, options);\n\n const onButtonClick = () =>\n stytchClient.sso\n .start({\n connection_id,\n signup_redirect_url: ssoOptions?.signupRedirectURL,\n login_redirect_url: ssoOptions?.loginRedirectURL,\n })\n .then(() => {\n onStart?.(connection);\n });\n\n const iconName = iconMap[identity_provider];\n const Icon = iconRegistry[iconName] ?? SSOIcon;\n\n return (\n <Button variant=\"outline\" onClick={onButtonClick} icon={<Icon />} id={id}>\n {t({ id: 'provider.continueWith', message: `Continue with ${display_name}` })}\n </Button>\n );\n};\n","import { ResponseCommon, StytchAPIError } from '@stytch/core/public';\n\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmlDiscoverySend = () => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<ResponseCommon, StytchAPIError, StytchMutationKey, { email: string }>(\n 'stytch.magicLinks.email.discovery.send',\n (_: string, { arg: { email } }: { arg: { email: string } }) =>\n stytchClient.magicLinks.email.discovery.send({\n email_address: email,\n discovery_redirect_url: config.emailMagicLinksOptions?.discoveryRedirectURL,\n login_template_id: config.emailMagicLinksOptions?.loginTemplateId,\n locale: config.emailMagicLinksOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n },\n },\n );\n};\n","import { logger } from '@stytch/core';\nimport { ResponseCommon, StytchAPIError } from '@stytch/core/public';\n\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmlLoginOrSignup = () => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<ResponseCommon, StytchAPIError, StytchMutationKey, { email: string; organization_id: string }>(\n 'stytch.magicLinks.email.loginOrSignup',\n (_: string, { arg: { email, organization_id } }: { arg: { email: string; organization_id: string } }) =>\n stytchClient.magicLinks.email.loginOrSignup({\n email_address: email,\n organization_id,\n login_redirect_url: config.emailMagicLinksOptions?.loginRedirectURL,\n signup_redirect_url: config.emailMagicLinksOptions?.signupRedirectURL,\n login_template_id: config.emailMagicLinksOptions?.loginTemplateId,\n signup_template_id: config.emailMagicLinksOptions?.signupTemplateId,\n locale: config.emailMagicLinksOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n },\n onError: (e) => {\n logger.error(e);\n },\n },\n );\n};\n","import { useEffect, useState } from 'react';\n\nimport { readB2BInternals } from '../../../utils/internal';\nimport { useConfig, useStytch } from '../GlobalContextProvider';\n\n/**\n * Resolves the best email domain to use as a hint for login\n */\nexport const useEmailDomain = () => {\n const stytch = useStytch();\n const config = useConfig();\n /**\n * Read the emailDomains out of sync storage, then read out of async storage\n * TODO - Should all bootstrap data live in the config somewhere?\n */\n const [emailDomains, setEmailDomains] = useState(() => {\n const { emailDomains } = readB2BInternals(stytch).bootstrap.getSync();\n return emailDomains;\n });\n\n useEffect(() => {\n readB2BInternals(stytch)\n .bootstrap.getAsync()\n .then(({ emailDomains }) => {\n setEmailDomains(emailDomains);\n });\n }, [stytch]);\n\n // If a domain is explicitly passed in, use it!\n if (config.emailMagicLinksOptions?.domainHint) {\n return config.emailMagicLinksOptions?.domainHint;\n }\n // If there can only be one logical choice, use it!\n if (emailDomains.length === 1) {\n return emailDomains[0];\n }\n // If it isn't clear who sent the email\n // we simply won't provide a hint!\n return null;\n};\n","import { AuthFlowType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { useCountdown } from '../../components/atoms/Countdown';\nimport { EmailConfirmationView } from '../../components/organisms/EmailConfirmationView';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { AppScreens } from '../types/AppScreens';\nimport { useEmailDomain } from './useEmailDomain';\n\nexport const EmailConfirmation = () => {\n const [state, dispatch] = useGlobalReducer();\n const emailDomain = useEmailDomain();\n const countdown = useCountdown();\n\n const { trigger: sendLoginOrSignupEml, isMutating: isSendingLoginOrSignupEml } = useEmlLoginOrSignup();\n const { trigger: sendDiscoveryEml, isMutating: isSendingDiscoveryEml } = useEmlDiscoverySend();\n\n const email = state.formState.emailState.userSuppliedEmail;\n\n const goBack = () => {\n dispatch({ type: 'set_user_supplied_email', email: '' });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n };\n\n const resend = async () => {\n if (state.flowState.type === AuthFlowType.Discovery) {\n await sendDiscoveryEml({ email });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n await sendLoginOrSignupEml({\n email,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n };\n\n const isSubmitting = isSendingLoginOrSignupEml || isSendingDiscoveryEml;\n\n return (\n <EmailConfirmationView\n emailDomain={emailDomain}\n email={email}\n goBack={goBack}\n resend={resend}\n countdown={countdown}\n isSubmitting={isSubmitting}\n />\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport { useGlobalReducer } from '../GlobalContextProvider';\n\nconst UsePasswordButton = ({ email }: { email: string }) => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const handleUsePassword = () => {\n dispatch({ type: 'use_password_auth', email });\n };\n\n return (\n <Button variant=\"ghost\" onClick={handleUsePassword}>\n {t({ id: 'button.usePassword', message: 'Use a password instead' })}\n </Button>\n );\n};\n\nexport default UsePasswordButton;\n","import { B2BOAuthProviderConfig, B2BOAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { isTruthy } from '../../../utils/isTruthy';\nimport { getParamsFromB2BOAuthProviderConfig } from '../../../utils/oauthProviderType';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { ProductId, StytchB2BProduct } from '../StytchB2BProduct';\n\nexport type OauthProviderParams = {\n type: B2BOAuthProviders;\n one_tap: boolean;\n customScopes: string[];\n providerParams: Record<string, string>;\n cancel_on_tap_outside: boolean | undefined;\n};\n\n// Note that the order of products here is used when displaying fallback auth\n// methods below\nconst productsToAuthMethods: Record<ProductId, string | undefined> = {\n oauth: undefined, // OAuth methods are defined per-provider\n sso: 'sso',\n emailMagicLinks: 'magic_link',\n emailOtp: 'email_otp',\n passwords: 'password',\n};\n\nconst oauthProvidersToAuthMethods: Record<B2BOAuthProviders, string> = {\n [B2BOAuthProviders.Google]: 'google_oauth',\n [B2BOAuthProviders.Microsoft]: 'microsoft_oauth',\n [B2BOAuthProviders.HubSpot]: 'hubspot_oauth',\n [B2BOAuthProviders.Slack]: 'slack_oauth',\n [B2BOAuthProviders.GitHub]: 'github_oauth',\n};\n\nconst authMethodsToProducts: Record<string, ProductId> = Object.fromEntries(\n Object.entries(productsToAuthMethods).map(([product, authMethod]) => [authMethod, product]),\n);\n\nconst oauthMethodsToOauthProviders: Record<string, B2BOAuthProviders> = Object.fromEntries(\n Object.entries(oauthProvidersToAuthMethods).map(([provider, method]) => [\n method,\n provider as keyof typeof oauthProvidersToAuthMethods,\n ]),\n);\n\nconst authMethodToProduct = (authMethod: string): ProductId | undefined => {\n if (authMethod in oauthMethodsToOauthProviders) {\n return 'oauth';\n }\n return authMethodsToProducts[authMethod];\n};\n\nconst allOauthProviders = Object.values(B2BOAuthProviders);\n\nconst flattenConfigToAuthMethods = (products: StytchB2BProduct[], oauthProviders: B2BOAuthProviderConfig[]) =>\n products\n .flatMap((product) => {\n if (product.id === 'oauth') {\n return oauthProviders.map((provider) => {\n const authMethod = oauthProvidersToAuthMethods[typeof provider === 'string' ? provider : provider.type];\n if (authMethod) {\n return authMethod;\n }\n });\n } else {\n const authMethod = productsToAuthMethods[product.id];\n if (authMethod) {\n return authMethod;\n }\n }\n })\n .filter(isTruthy);\n\nconst useOAuthProviderConfigs = () => {\n const config = useConfig();\n return useMemo(() => {\n if (!config.oauthOptions?.providers) {\n return [];\n }\n\n return config.oauthOptions.providers.map(getParamsFromB2BOAuthProviderConfig);\n }, [config.oauthOptions?.providers]);\n};\n\nconst useRestrictedAuthMethods = () => {\n const [state] = useGlobalReducer();\n\n const { primaryAuthMethods } = state.primary;\n const hasPrimaryAuthMethods = !!primaryAuthMethods;\n\n const restrictedAuthMethods = useMemo(() => {\n if (state.primary.primaryAuthMethods) {\n return new Set(state.primary.primaryAuthMethods);\n }\n\n if (state.flowState.organization?.auth_methods === 'RESTRICTED') {\n return new Set(state.flowState.organization?.allowed_auth_methods ?? []);\n }\n }, [\n state.flowState.organization?.allowed_auth_methods,\n state.flowState.organization?.auth_methods,\n state.primary.primaryAuthMethods,\n ]);\n\n return { restrictedAuthMethods, hasPrimaryAuthMethods };\n};\n\nexport const useEffectiveAuthConfig = () => {\n const [state] = useGlobalReducer();\n const config = useConfig();\n\n const { restrictedAuthMethods, hasPrimaryAuthMethods } = useRestrictedAuthMethods();\n\n const oauthProviderConfigs = useOAuthProviderConfigs();\n\n const flattenedConfiguredAuthMethods = useMemo(\n () => flattenConfigToAuthMethods(config.products, oauthProviderConfigs),\n [config.products, oauthProviderConfigs],\n );\n\n const authMethodsToShow = useMemo(() => {\n // If there are no restrictions, use the auth methods from the UI config as-is\n if (!restrictedAuthMethods) {\n return flattenedConfiguredAuthMethods;\n }\n\n // If there are restrictions, filter the auth methods from the UI config\n const restrictedAuthMethodsInUiConfig = flattenedConfiguredAuthMethods.filter((authMethod) =>\n restrictedAuthMethods.has(authMethod),\n );\n\n // Use the filtered methods unless there are none _and_ the restrictions\n // come from `primary_required` (not just org-level restrictions)\n if (restrictedAuthMethodsInUiConfig.length > 0 || !hasPrimaryAuthMethods) {\n return restrictedAuthMethodsInUiConfig;\n }\n\n // If the org restricts allowed auth methods, show all of the methods\n // included in `primary_required`\n if (state.flowState.organization?.auth_methods === 'RESTRICTED') {\n return flattenConfigToAuthMethods(config.organizationProducts, allOauthProviders).filter((authMethod) =>\n restrictedAuthMethods.has(authMethod),\n );\n }\n\n // If the org doesn't have any auth method restrictions, default to email\n // magic links\n return ['magic_link'];\n }, [\n config.organizationProducts,\n flattenedConfiguredAuthMethods,\n hasPrimaryAuthMethods,\n restrictedAuthMethods,\n state.flowState.organization?.auth_methods,\n ]);\n\n const products = useMemo(() => {\n const productIds = [...new Set(authMethodsToShow.map(authMethodToProduct).filter(isTruthy))];\n return productIds.map((productId) => config.organizationProducts.find((p) => p.id === productId)).filter(isTruthy);\n }, [authMethodsToShow, config.organizationProducts]);\n\n const oauthProviderSettings = useMemo<OauthProviderParams[]>(\n () =>\n authMethodsToShow\n .map((authMethod) => {\n const provider = oauthMethodsToOauthProviders[authMethod];\n if (provider) {\n return (\n oauthProviderConfigs.find((oauthProvider) => oauthProvider.type === provider) ??\n getParamsFromB2BOAuthProviderConfig(provider)\n );\n }\n })\n .filter(isTruthy),\n [authMethodsToShow, oauthProviderConfigs],\n );\n\n return { products, oauthProviderSettings };\n};\n","const DEFAULT_OTP_EXPIRATION_MS = 1000 * 60 * 10; // 10 minutes\n\nexport const getOtpCodeExpiration = () => new Date(Date.now() + DEFAULT_OTP_EXPIRATION_MS);\n","import { ResponseCommon, StytchAPIError } from '@stytch/core/public';\n\nimport { getOtpCodeExpiration } from '../getOtpCodeExpiration';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmailOtpDiscoverySend = ({ throwOnError }: { throwOnError?: boolean } = {}) => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<ResponseCommon, StytchAPIError, StytchMutationKey, { email: string }>(\n 'stytch.otps.email.discovery.send',\n (_key: string, { arg: { email } }: { arg: { email: string } }) =>\n stytchClient.otps.email.discovery.send({\n email_address: email,\n login_template_id: config.emailOtpOptions?.loginTemplateId,\n locale: config.emailOtpOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'send_email_otp', codeExpiration: getOtpCodeExpiration() });\n },\n throwOnError,\n },\n );\n};\n","import { B2BOTPsEmailLoginOrSignupResponse, StytchAPIError } from '@stytch/core/public';\n\nimport { getOtpCodeExpiration } from '../getOtpCodeExpiration';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmailOtpLoginOrSignup = ({ throwOnError }: { throwOnError?: boolean } = {}) => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<\n B2BOTPsEmailLoginOrSignupResponse,\n StytchAPIError,\n StytchMutationKey,\n { email: string; organization_id: string }\n >(\n 'stytch.otps.email.loginOrSignup',\n (_key: string, { arg: { email, organization_id } }: { arg: { email: string; organization_id: string } }) =>\n stytchClient.otps.email.loginOrSignup({\n email_address: email,\n organization_id,\n login_template_id: config.emailOtpOptions?.loginTemplateId,\n signup_template_id: config.emailOtpOptions?.signupTemplateId,\n locale: config.emailOtpOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'send_email_otp', codeExpiration: getOtpCodeExpiration() });\n },\n throwOnError,\n },\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport UsePasswordButton from '../components/UsePasswordButton';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { AppScreens } from '../types/AppScreens';\nimport { hasProduct } from '../utils';\n\nconst JIT_PROVISIONING_ERRORS = ['email_jit_provisioning_not_allowed', 'invalid_email_for_jit_provisioning'];\n\nconst useParseErrorMessage = () => {\n const { t } = useLingui();\n return (error: StytchAPIError, { email, org: organizationName }: { email: string; org: string }) => {\n if (JIT_PROVISIONING_ERRORS.includes(error.error_type)) {\n return t({\n id: 'error.jitIneligible',\n message: `${email} does not have access to ${organizationName}. If you think this is a mistake, contact your admin`,\n });\n }\n return getTranslatedError(error, t);\n };\n};\n\nexport const EmailForm = ({ showPasswordButton }: { showPasswordButton: boolean }) => {\n const [state, dispatch] = useGlobalReducer();\n const [emailInput, setEmailInput] = useState(state.formState.passwordState.email);\n const parseErrorMessage = useParseErrorMessage();\n const { t } = useLingui();\n\n const { products } = useEffectiveAuthConfig();\n const enableEml = hasProduct(products, 'emailMagicLinks');\n const enableOtp = hasProduct(products, 'emailOtp');\n\n const providedEmail = state.primary.email;\n const email = providedEmail || emailInput;\n\n const { trigger: stytchEmlLoginOrSignup, error: emlError, isMutating: emlIsMutating } = useEmlLoginOrSignup();\n const { trigger: stytchOtpLoginOrSignup, error: otpError, isMutating: otpIsMutating } = useEmailOtpLoginOrSignup();\n\n const isMutating = emlIsMutating || otpIsMutating;\n const error = emlError || otpError;\n\n const organization = state.flowState.organization;\n if (!organization) return <></>;\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n dispatch({ type: 'set_user_supplied_email', email });\n\n if (enableEml && enableOtp) {\n dispatch({ type: 'transition', screen: AppScreens.EmailMethodSelection, history: 'push' });\n } else if (enableEml) {\n stytchEmlLoginOrSignup({ email, organization_id: organization.organization_id });\n } else if (enableOtp) {\n stytchOtpLoginOrSignup({ email, organization_id: organization.organization_id });\n }\n };\n\n if (providedEmail) {\n return (\n <Column gap={2}>\n {products\n .filter((product) => product.id === 'emailMagicLinks' || product.id === 'emailOtp')\n .map((product) => {\n switch (product.id) {\n case 'emailMagicLinks':\n return (\n <Button\n key={product.id}\n onClick={() => {\n dispatch({ type: 'set_user_supplied_email', email });\n stytchEmlLoginOrSignup({ email, organization_id: organization.organization_id });\n }}\n loading={emlIsMutating}\n disabled={isMutating}\n variant=\"outline\"\n >\n {t({ id: 'button.emailLink', message: 'Email me a link' })}\n </Button>\n );\n\n case 'emailOtp':\n return (\n <Button\n key={product.id}\n onClick={() => {\n dispatch({ type: 'set_user_supplied_email', email });\n stytchOtpLoginOrSignup({ email, organization_id: organization.organization_id });\n }}\n loading={otpIsMutating}\n disabled={isMutating}\n variant=\"outline\"\n >\n {t({ id: 'button.emailCode', message: 'Email me a code' })}\n </Button>\n );\n }\n })}\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n }\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput\n email={email}\n setEmail={setEmailInput}\n hideLabel\n error={error ? parseErrorMessage(error, { email, org: organization.organization_name }) : undefined}\n />\n\n <Button type=\"submit\" variant=\"primary\" loading={isMutating}>\n {t({ id: 'button.continueWithEmail', message: 'Continue with email' })}\n </Button>\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n};\n\nexport const EmailDiscoveryForm = ({ showPasswordButton }: { showPasswordButton: boolean }) => {\n const [state, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState(state.formState.passwordState.email);\n const { t } = useLingui();\n\n const { products } = useEffectiveAuthConfig();\n const enableEml = products.some((p) => p.id === 'emailMagicLinks');\n const enableOtp = products.some((p) => p.id === 'emailOtp');\n\n const { trigger: stytchEmlDiscoverySend, error: emlError, isMutating: emlIsMutating } = useEmlDiscoverySend();\n const { trigger: stytchOtpDiscoverySend, error: otpError, isMutating: otpIsMutating } = useEmailOtpDiscoverySend();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n dispatch({ type: 'set_user_supplied_email', email });\n\n if (enableEml && enableOtp) {\n dispatch({ type: 'transition', screen: AppScreens.EmailMethodSelection, history: 'push' });\n } else if (enableEml) {\n stytchEmlDiscoverySend({ email });\n } else if (enableOtp) {\n stytchOtpDiscoverySend({ email });\n }\n };\n\n const isMutating = emlIsMutating || otpIsMutating;\n const error = emlError || otpError;\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput\n email={email}\n setEmail={setEmail}\n hideLabel\n error={error ? getTranslatedError(error, t) : undefined}\n />\n\n <Button type=\"submit\" variant=\"primary\" loading={isMutating}>\n {t({ id: 'button.continueWithEmail', message: 'Continue with email' })}\n </Button>\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n};\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { AuthFlowType } from '@stytch/core/public';\nimport React, { useMemo } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { isTruthy } from '../../../utils/isTruthy';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport ErrorText from '../../components/molecules/ErrorText';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { ProductId } from '../StytchB2BProduct';\n\nconst options: Partial<Record<ProductId, { messageDescriptor: MessageDescriptor }>> = {\n emailMagicLinks: {\n messageDescriptor: msg({ id: 'emailMethodSelection.link', message: 'Email me a login link' }),\n },\n emailOtp: {\n messageDescriptor: msg({ id: 'emailMethodSelection.code', message: 'Email me a login code' }),\n },\n};\n\nexport const EmailMethodSelectionScreen = () => {\n const { products } = useEffectiveAuthConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n\n const {\n trigger: sendDiscoveryEml,\n isMutating: isSendingDiscoveryEml,\n error: sendDiscoveryEmlError,\n reset: resetSendDiscoveryEml,\n } = useEmlDiscoverySend();\n\n const {\n trigger: sendDiscoveryOtp,\n isMutating: isSendingDiscoveryOtp,\n error: sendDiscoveryOtpError,\n reset: resetSendDiscoveryOtp,\n } = useEmailOtpDiscoverySend();\n\n const {\n trigger: sendLoginOrSignupEml,\n isMutating: isSendingLoginOrSignupEml,\n error: sendLoginOrSignupEmlError,\n reset: resetSendLoginOrSignupEml,\n } = useEmlLoginOrSignup();\n\n const {\n trigger: sendLoginOrSignupOtp,\n isMutating: isSendingLoginOrSignupOtp,\n error: sendLoginOrSignupOtpError,\n reset: resetSendLoginOrSignupOtp,\n } = useEmailOtpLoginOrSignup();\n\n const isSending =\n isSendingDiscoveryEml || isSendingDiscoveryOtp || isSendingLoginOrSignupEml || isSendingLoginOrSignupOtp;\n const error =\n sendDiscoveryEmlError || sendDiscoveryOtpError || sendLoginOrSignupEmlError || sendLoginOrSignupOtpError;\n\n const handleChooseMethod = (method: ProductId) => {\n resetSendDiscoveryEml();\n resetSendDiscoveryOtp();\n resetSendLoginOrSignupEml();\n resetSendLoginOrSignupOtp();\n\n switch (method) {\n case 'emailMagicLinks':\n if (state.flowState.type === AuthFlowType.Discovery) {\n sendDiscoveryEml({ email: state.formState.emailState.userSuppliedEmail });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n sendLoginOrSignupEml({\n email: state.formState.emailState.userSuppliedEmail,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n break;\n case 'emailOtp':\n if (state.flowState.type === AuthFlowType.Discovery) {\n sendDiscoveryOtp({ email: state.formState.emailState.userSuppliedEmail });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n sendLoginOrSignupOtp({\n email: state.formState.emailState.userSuppliedEmail,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n break;\n }\n };\n\n const displayOptions = useMemo(\n () =>\n products\n .map((product) => {\n const option = options[product.id];\n if (!option) return;\n\n return {\n option: product.id,\n messageDescriptor: option.messageDescriptor,\n };\n })\n .filter(isTruthy),\n [products],\n );\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'emailMethodSelection.title', message: 'Select how you’d like to continue' })}\n </Typography>\n <ButtonColumn>\n {displayOptions.map(({ option, messageDescriptor }) => (\n <Button\n key={option}\n variant=\"outline\"\n disabled={isSending}\n onClick={() => {\n handleChooseMethod(option);\n }}\n >\n {t(messageDescriptor)}\n </Button>\n ))}\n\n {error && <ErrorText>{getTranslatedError(error, t)}</ErrorText>}\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport {\n AuthFlowType,\n B2BDiscoveryOTPEmailAuthenticateResponse,\n B2BOTPsEmailAuthenticateResponse,\n StytchAPIError,\n} from '@stytch/core/public';\nimport React from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport { useCountdown } from '../../components/atoms/Countdown';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport { ResendOTPButton } from '../../components/organisms/ResendOTPButton';\nimport { SentOTPEntry } from '../../components/organisms/SentOTPEntry';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { onAuthenticateSuccess, onDiscoveryAuthenticateSuccess, StytchMutationKey, useMutate } from '../utils';\n\nexport const EmailOTPEntryScreen = () => {\n const stytchClient = useStytch();\n const config = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const { codeExpiration } = state.formState.otpState;\n const resendCountdown = useCountdown();\n const { userSuppliedEmail } = state.formState.emailState;\n\n const emailOtp = useEmailOtpLoginOrSignup({ throwOnError: true });\n const emailOtpDiscovery = useEmailOtpDiscoverySend({ throwOnError: true });\n\n const isSending = emailOtp.isMutating || emailOtpDiscovery.isMutating;\n const sendError = emailOtp.error || emailOtpDiscovery.error;\n\n const discoveryAuthenticate = useMutate<\n B2BDiscoveryOTPEmailAuthenticateResponse,\n unknown,\n StytchMutationKey,\n { otp: string; email: string }\n >(\n 'stytch.otps.email.discovery.authenticate',\n (_: string, { arg: { otp, email } }: { arg: { otp: string; email: string } }) =>\n stytchClient.otps.email.discovery.authenticate({\n code: otp,\n email_address: email,\n }),\n {\n onSuccess: (data) => {\n onDiscoveryAuthenticateSuccess(data, dispatch);\n },\n throwOnError: true,\n },\n );\n\n const authenticate = useMutate<\n B2BOTPsEmailAuthenticateResponse,\n unknown,\n StytchMutationKey,\n { otp: string; emailAddress: string; organizationId: string; sessionDurationMinutes: number }\n >(\n 'stytch.otps.email.authenticate',\n (\n _: string,\n {\n arg: { otp, emailAddress, organizationId, sessionDurationMinutes },\n }: { arg: { otp: string; emailAddress: string; organizationId: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.otps.email.authenticate({\n code: otp,\n email_address: emailAddress,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n onSuccess: (data) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n throwOnError: true,\n },\n );\n\n const isAuthenticatingAny = discoveryAuthenticate.isMutating || authenticate.isMutating;\n const error = discoveryAuthenticate.error || authenticate.error || sendError;\n const errorMessage = error ? getTranslatedError(error as StytchAPIError, t) : undefined;\n\n const resetAll = () => {\n for (const resp of [emailOtp, emailOtpDiscovery, authenticate, discoveryAuthenticate]) {\n resp.reset();\n }\n };\n\n const handleSubmit = async (otp: string) => {\n resetAll();\n\n try {\n if (state.flowState.type === AuthFlowType.Discovery) {\n await discoveryAuthenticate.trigger({\n otp,\n email: userSuppliedEmail,\n });\n } else if (\n state.flowState.type === AuthFlowType.Organization &&\n state.flowState.organization &&\n state.formState.emailState.userSuppliedEmail\n ) {\n await authenticate.trigger({\n otp,\n emailAddress: state.formState.emailState.userSuppliedEmail,\n organizationId: state.flowState.organization.organization_id,\n sessionDurationMinutes: config.sessionOptions.sessionDurationMinutes,\n });\n }\n } catch {\n resendCountdown.clear();\n }\n };\n\n const handleResendOTP = async () => {\n resetAll();\n\n if (isSending) return;\n\n if (state.flowState.type === AuthFlowType.Discovery) {\n await emailOtpDiscovery.trigger({ email: userSuppliedEmail });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n await emailOtp.trigger({\n email: userSuppliedEmail,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n {codeExpiration !== null ? (\n <SentOTPEntry\n isSubmitting={isAuthenticatingAny}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n expiration={codeExpiration.getTime()}\n formattedDestination={userSuppliedEmail}\n />\n ) : (\n <LoadingScreen />\n )}\n\n <ButtonColumn>\n <ResendOTPButton countdown={resendCountdown} resendOTP={handleResendOTP} isSubmitting={isAuthenticatingAny} />\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","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","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsAuthenticate = () => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const {\n email,\n setEmail,\n password,\n setPassword,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n submitPassword,\n submitDiscoveryPassword,\n } = usePasswordInput();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n } else {\n if (!organization) {\n submitDiscoveryPassword();\n } else {\n submitPassword(organization.organization_id);\n }\n }\n };\n\n const onGetHelp = () => {\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgotForm });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'password.login.title', message: 'Log in with email and password' })}\n </Typography>\n\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} />\n\n <PasswordInput password={password} setPassword={setPassword} type=\"current\" error={errorMessage} />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n <Button variant=\"outline\" onClick={onGetHelp}>\n {t({ id: 'link.signupResetPassword', message: 'Sign up or reset password' })}\n </Button>\n\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsEmailForm = () => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const {\n stytch,\n email,\n setEmail,\n password,\n setPassword,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n setIsSubmitting,\n submitPassword,\n submitDiscoveryPassword,\n handleNonMemberReset,\n } = usePasswordInput();\n\n const [hideInput, setHideInput] = useState(!!organization && !email);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (organization) {\n const organization_id = organization.organization_id;\n\n // If we have processed the email, submit the password field\n if (!hideInput) {\n submitPassword(organization_id);\n return;\n }\n\n // Validate we have a member with a password. Otherwise, check if we can jit\n // provision and kickoff verification and session reset\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n return;\n }\n setErrorMessage('');\n setIsSubmitting(true);\n readB2BInternals(stytch)\n .searchManager.searchMember(email, organization.organization_id)\n .then(({ member }) => {\n if (member) {\n setHideInput(false);\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email });\n return;\n }\n // No member password flow: verify email and use reset by session\n handleNonMemberReset();\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n } else {\n // Discovery flow\n submitDiscoveryPassword();\n }\n };\n\n const onGetHelp = () => {\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgotForm });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput email={email} setEmail={setEmail} />\n\n {!hideInput && (\n <PasswordInput password={password} setPassword={setPassword} type=\"current\" error={errorMessage} />\n )}\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n {!hideInput && (\n <Button variant=\"outline\" onClick={onGetHelp}>\n {t({ id: 'link.signupResetPassword', message: 'Sign up or reset password' })}\n </Button>\n )}\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { useConfig, useEventCallback, useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsForgotForm = () => {\n const [, dispatch] = useGlobalReducer();\n const config = useConfig();\n const onEvent = useEventCallback();\n const { t } = useLingui();\n\n const {\n stytch,\n email,\n setEmail,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n setIsSubmitting,\n handleNonMemberReset,\n } = usePasswordInput();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n return;\n }\n setErrorMessage('');\n setIsSubmitting(true);\n if (organization) {\n readB2BInternals(stytch)\n .searchManager.searchMember(email, organization.organization_id)\n .then(({ member }) => {\n if (!member) {\n handleNonMemberReset();\n return;\n }\n // Member password flow: call reset password start instead\n stytch.passwords\n .resetByEmailStart({\n email_address: email,\n organization_id: organization.organization_id,\n login_redirect_url: config.emailMagicLinksOptions?.loginRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetByEmailStart, data });\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNewConfirmation });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n } else {\n // Discovery password flow: call discovery reset password start instead. This flow doesn't need a member object\n stytch.passwords.discovery\n .resetByEmailStart({\n email_address: email,\n discovery_redirect_url: config.passwordOptions?.discoveryRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then(() => {\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNewConfirmation });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n }\n };\n\n return (\n <Column as=\"form\" gap={6} onSubmit={handleSubmit}>\n <Typography variant=\"header\">\n {t({ id: 'password.forgot.title', message: 'Check your email for help signing in' })}\n </Typography>\n <Typography variant=\"body\">\n {!organization\n ? t({\n id: 'password.forgot.content.discovery',\n message:\n \"We'll email you a verification link to sign up for an account or reset your password if you have one.\",\n })\n : t({\n id: 'password.forgot.content.organization',\n message:\n \"We'll email you a login link to sign in to your account directly or reset your password if you have one.\",\n })}\n </Typography>\n\n <EmailInput email={email} setEmail={setEmail} error={errorMessage} />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport EmailActionLayout from '../../components/molecules/EmailActionLayout';\nimport { emailProviderInfo, EmailProviderLink } from '../../components/molecules/EmailProviderLink';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { useEmailDomain } from './useEmailDomain';\n\nexport const PasswordResetConfirmation = () => {\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const emailDomain = useEmailDomain();\n const email = state.formState.passwordState.email;\n\n const reset = () => {\n dispatch({ type: 'set_user_supplied_email', email: '' });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n };\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.verification.title',\n message: 'Verify your email first.',\n })}\n description={\n <Trans\n id=\"password.verification.content\"\n message=\"A login link was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n additionalActions={\n <>\n <EmailProviderLink emailDomain={emailDomain} providerInfo={emailProviderInfo.gmail} />\n <EmailProviderLink emailDomain={emailDomain} providerInfo={emailProviderInfo.outlook} />\n <Button variant=\"ghost\" onClick={reset}>\n {t({ id: 'button.retry', message: 'Try again' })}\n </Button>\n </>\n }\n />\n );\n};\n","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","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport { StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport EmailActionLayout from '../../components/molecules/EmailActionLayout';\nimport { useConfig, useEventCallback, useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordSetNew = () => {\n const [, dispatch] = useGlobalReducer();\n const onEvent = useEventCallback();\n const config = useConfig();\n const { t } = useLingui();\n\n const { stytch, onError, email, organization, setIsSubmitting } = usePasswordInput();\n\n const resendResetPassword = () => {\n if (!organization) {\n return stytch.passwords.discovery\n .resetByEmailStart({\n email_address: email,\n discovery_redirect_url: config.passwordOptions?.discoveryRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordDiscoveryResetStart, data });\n });\n } else {\n return stytch.passwords\n .resetByEmailStart({\n email_address: email,\n organization_id: organization.organization_id,\n login_redirect_url: config.passwordOptions?.loginRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetByEmailStart, data });\n })\n .catch((e: Error) => {\n onError(e);\n throw e;\n });\n }\n };\n\n return (\n <EmailActionLayout\n header={t({ id: 'password.reset.emailSent.title', message: 'Check your email' })}\n description={\n <Trans\n id=\"password.reset.emailSent.content\"\n message=\"A login link was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={resendResetPassword}\n goBack={() => dispatch({ type: 'transition', screen: AppScreens.Main })}\n />\n );\n};\n","export const assertUnreachable: (_: never) => never = () => {\n throw new Error('Assertion failure');\n};\n","import { B2BOAuthProviders, SSOActiveConnection } from '@stytch/core/public';\n\nimport { OauthProviderParams } from '../hooks/useEffectiveAuthConfig';\n\n// This file contains a combined type to identify OAuth providers and SSO connections,\n// used to help with rendering these buttons and storing the last used method.\n// Extracting the logic for generating the key helps make it more consistent\n\nexport type LastUsedMethod = B2BOAuthProviders | `sso:${string}`;\n\n/* eslint-disable lingui/no-unlocalized-strings */\n\nexport function getSsoMethodKey(method: SSOActiveConnection): LastUsedMethod {\n return `sso:${method.connection_id}`;\n}\n\nexport function extractConnectionId(method: string | null): string | undefined {\n return method?.startsWith('sso:') ? method.slice(4) : undefined;\n}\n\nexport type AuthButton =\n | { type: 'oauth'; provider: OauthProviderParams }\n | { type: 'sso'; connection: SSOActiveConnection }\n | { type: 'sso-discovery' };\n\nexport function getButtonKey(button: AuthButton) {\n if (button.type === 'oauth') {\n return button.provider.type;\n } else if (button.type === 'sso') {\n return getSsoMethodKey(button.connection);\n } else {\n return 'sso-discovery';\n }\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { arrayUtils } from '@stytch/core';\nimport { AuthFlowType, B2BOAuthProviders } from '@stytch/core/public';\nimport React from 'react';\n\nimport { assertUnreachable } from '../../../utils/assertUnreachable';\nimport Button from '../../components/atoms/Button';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { getButtonId, usePresentation } from '../../components/PresentationConfig';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { OauthProviderParams, useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod';\nimport { AppScreens, ButtonComponent, MainScreenComponent } from '../types/AppScreens';\nimport { AuthButton as AuthButtonType, getButtonKey, getSsoMethodKey } from '../types/authMethodKeys';\nimport { useProductComponents } from '../utils';\n\n// OAuth helper functions\nexport const getCustomScopesForProvider = (\n oauthProvider: {\n type: B2BOAuthProviders;\n one_tap: boolean;\n customScopes: string[];\n providerParams: Record<string, string>;\n cancel_on_tap_outside?: boolean;\n },\n oauthOptionsCustomScopes: string[] | undefined,\n) => {\n let currentCustomScopes = oauthProvider.customScopes;\n if (Object.keys(currentCustomScopes).length == 0) {\n currentCustomScopes = oauthOptionsCustomScopes as string[];\n }\n return currentCustomScopes;\n};\n\nexport const getProviderParamsForProvider = (\n oauthProvider: {\n type: B2BOAuthProviders;\n one_tap: boolean;\n customScopes: string[];\n providerParams: Record<string, string>;\n cancel_on_tap_outside?: boolean;\n },\n oauthOptionsProviderParams: Record<string, string> | undefined,\n email: string | undefined,\n) => {\n let currentProviderParams = oauthProvider.providerParams;\n if (Object.keys(currentProviderParams).length == 0) {\n currentProviderParams = oauthOptionsProviderParams ?? {};\n }\n\n if (\n email &&\n (oauthProvider.type === B2BOAuthProviders.Google || oauthProvider.type === B2BOAuthProviders.Microsoft) &&\n !('login_hint' in currentProviderParams)\n ) {\n currentProviderParams = {\n ...currentProviderParams,\n login_hint: email,\n };\n }\n\n return currentProviderParams;\n};\n\nexport const SsoAndOAuthButtons = ({ buttons }: { buttons: ButtonComponent[] }) => {\n const { t } = useLingui();\n const [state, dispatch] = useGlobalReducer();\n const { oauthProviderSettings = [] } = useEffectiveAuthConfig();\n const presentation = usePresentation();\n\n const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();\n\n const config = useConfig();\n const { loginRedirectURL, signupRedirectURL, discoveryRedirectURL, customScopes, providerParams } =\n config.oauthOptions ?? {};\n\n const { B2BGoogleOneTap, OAuthB2BButton, SSOButton } = useProductComponents(config, 'ssoAndOAuthButtons')!;\n\n // Determine which buttons need to be displayed\n const isDiscoveryFlow = state.flowState.type === AuthFlowType.Discovery;\n const authButtons = buttons.flatMap<AuthButtonType>((button) => {\n if (button === MainScreenComponent.OAuthButtons) {\n return oauthProviderSettings.map((provider) => ({ type: 'oauth', provider }));\n } else if (button === MainScreenComponent.SSOButtons) {\n return isDiscoveryFlow\n ? { type: 'sso-discovery' }\n : (state.flowState.organization?.sso_active_connections?.map((connection) => ({ type: 'sso', connection })) ??\n []);\n } else {\n assertUnreachable(button);\n }\n });\n\n if (authButtons.length === 0) {\n return null;\n }\n\n // Reorder providers based on last used\n const [reorderedButtons, foundLastUsedOAuth] = arrayUtils.moveToFront(\n authButtons,\n (button) => getButtonKey(button) === lastUsedMethod,\n );\n\n // Helper function to create OAuth button component\n const createOAuthButton = (oauthProvider: OauthProviderParams) => {\n const providerProps = {\n customScopes: getCustomScopesForProvider(oauthProvider, customScopes),\n providerParams: getProviderParamsForProvider(oauthProvider, providerParams, state.primary.email),\n };\n\n if (oauthProvider.one_tap) {\n return (\n <B2BGoogleOneTap\n key={oauthProvider.type}\n {...providerProps}\n cancelOnTapOutside={oauthProvider.cancel_on_tap_outside}\n />\n );\n }\n\n return (\n <OAuthB2BButton\n key={oauthProvider.type}\n providerType={oauthProvider.type}\n loginRedirectUrl={loginRedirectURL}\n signupRedirectUrl={signupRedirectURL}\n discoveryRedirectUrl={discoveryRedirectURL}\n onSuccess={() => setLastUsedMethod(oauthProvider.type)}\n {...providerProps}\n />\n );\n };\n\n return (\n <ButtonColumn>\n {reorderedButtons.map((button, index) => {\n const buttonComponent = (() => {\n switch (button.type) {\n case 'oauth':\n return createOAuthButton(button.provider);\n\n case 'sso':\n return (\n <SSOButton\n key={button.connection.display_name}\n connection={button.connection}\n onStart={() => setLastUsedMethod(getSsoMethodKey(button.connection))}\n />\n );\n\n case 'sso-discovery':\n return (\n <Button\n key=\"sso-discovery\"\n variant=\"outline\"\n id={getButtonId('sso-discovery', presentation.options)}\n onClick={() => {\n dispatch({ type: 'transition', screen: AppScreens.SSODiscoveryEmail, history: 'push' });\n }}\n >\n {t({ id: 'provider.continueWithSSO', message: 'Use single sign-on' })}\n </Button>\n );\n\n default:\n assertUnreachable(button);\n }\n })();\n\n return foundLastUsedOAuth && index === 0 ? (\n <LastUsed key={getButtonKey(button)}>{buttonComponent}</LastUsed>\n ) : (\n buttonComponent\n );\n })}\n </ButtonColumn>\n );\n};\n","import { useStytch } from '../GlobalContextProvider';\nimport { useMutate } from '../utils';\n\nexport const useSsoDiscoveryConnection = () => {\n const stytch = useStytch();\n\n return useMutate(\n 'stytch.sso.discoverConnections',\n async (_key, { arg: { emailAddress } }: { arg: { emailAddress: string } }) =>\n await stytch.sso.discoverConnections(emailAddress),\n { throwOnError: true },\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React, { useState } from 'react';\n\nimport { extractErrorMessage } from '../../../utils/extractErrorMessage';\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 { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { useSsoDiscoveryConnection } from '../hooks/useSsoDiscoveryConnection';\n\nexport const SSODiscoveryEmail = () => {\n const [, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState('');\n const { t } = useLingui();\n\n const [error, setError] = useState<string>();\n const [isLoading, setIsLoading] = useState(false);\n\n const { trigger } = useSsoDiscoveryConnection();\n\n const stytch = useStytch();\n const { ssoOptions } = useConfig();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setError(undefined);\n\n const tryGetConnections = async () => {\n try {\n const response = await trigger({ emailAddress: email });\n\n if (!response) {\n return [];\n }\n\n return response.connections;\n } catch (e) {\n setError(\n extractErrorMessage(\n e,\n t({\n id: 'ssoDiscovery.email.error.unknown',\n message: 'Something went wrong. Try again later or contact your admin for help.',\n }),\n ),\n );\n }\n };\n\n try {\n setIsLoading(true);\n\n const connections = await tryGetConnections();\n\n if (connections?.length === 1) {\n const [connection] = connections;\n await stytch.sso.start({\n connection_id: connection.connection_id,\n login_redirect_url: ssoOptions?.loginRedirectURL,\n signup_redirect_url: ssoOptions?.signupRedirectURL,\n });\n\n // We intentionally leave `isLoading` set to `true` since we're expecting\n // the user to be redirected\n return;\n }\n\n setIsLoading(false);\n\n if (connections) {\n dispatch({ type: 'set_sso_discovery_state', connections });\n }\n } catch (e) {\n setIsLoading(false);\n throw e;\n }\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'ssoDiscovery.email.title', message: 'Enter your email to continue' })}\n </Typography>\n\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput email={email} setEmail={setEmail} hideLabel error={error} />\n\n <Button variant=\"primary\" loading={isLoading} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React, { useState } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport Input from '../../components/molecules/Input';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { useMutate } from '../utils';\n\nexport const SSODiscoveryFallback = () => {\n const [, dispatch] = useGlobalReducer();\n const [slug, setSlug] = useState('');\n const [error, setError] = useState<string>();\n const [isSubmitting, setIsSubmitting] = useState(false);\n const stytchClient = useStytch();\n const { ssoOptions } = useConfig();\n const { t } = useLingui();\n\n const { trigger: lookupOrganization } = useMutate(\n 'stytch.organization.getBySlug',\n async (_: string, { arg: { slug } }: { arg: { slug: string } }) =>\n stytchClient.organization.getBySlug({ organization_slug: slug }),\n {\n onError: () => {\n setError(t({ id: 'ssoDiscovery.fallback.error.unknown', message: 'An error occurred. Please try again.' }));\n setIsSubmitting(false);\n },\n },\n );\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setError(undefined);\n setIsSubmitting(true);\n\n const result = await lookupOrganization({ slug });\n if (result) {\n const { organization } = result;\n if (organization === null) {\n setError(\n t({ id: 'ssoDiscovery.fallback.error.orgNotFound', message: 'Organization not found. Please try again.' }),\n );\n setIsSubmitting(false);\n } else if (organization.sso_active_connections.length === 1) {\n const [connection] = organization.sso_active_connections;\n await stytchClient.sso.start({\n connection_id: connection.connection_id,\n login_redirect_url: ssoOptions?.loginRedirectURL,\n signup_redirect_url: ssoOptions?.signupRedirectURL,\n });\n } else {\n dispatch({\n type: 'set_organization',\n organization,\n });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n }\n }\n };\n\n const handleTryAnotherMethod = () => {\n dispatch({ type: 'transition', screen: AppScreens.Main });\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'ssoDiscovery.fallback.title', message: \"Sorry, we couldn't find any connections\" })}\n </Typography>\n <Typography>\n {t({\n id: 'ssoDiscovery.fallback.content',\n message:\n \"Please input the Organization's unique slug to continue. If you don't know the unique slug, log in through another method to view all of your available Organizations.\",\n })}\n </Typography>\n\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <Input\n id=\"organization-slug\"\n hideLabel\n label={t({ id: 'formField.orgSlug.label', message: 'Organization slug' })}\n value={slug}\n onChange={(e) => setSlug(e.target.value)}\n placeholder={t({ id: 'formField.orgSlug.label', message: 'Organization slug' })}\n error={error}\n />\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\" disabled={!slug || isSubmitting}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n <Button variant=\"outline\" onClick={handleTryAnotherMethod}>\n {t({ id: 'ssoDiscovery.fallback.button.reset', message: 'Try another method' })}\n </Button>\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { arrayUtils } from '@stytch/core';\nimport { SSOActiveConnection } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { SSOButton } from '../components/SSOButton';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod';\nimport { extractConnectionId, getSsoMethodKey } from '../types/authMethodKeys';\n\nconst SSOButtons = ({ availableConnections }: { availableConnections: SSOActiveConnection[] }) => {\n const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();\n const lastUsedSso = extractConnectionId(lastUsedMethod);\n\n const [connections, foundLastUsed] = arrayUtils.moveToFront(\n availableConnections,\n (connection) => connection.connection_id === lastUsedSso,\n );\n\n return (\n <Column gap={2}>\n {connections.map((provider, index) => {\n const button = (\n <SSOButton\n key={provider.display_name}\n connection={provider}\n onStart={(connection) => setLastUsedMethod(getSsoMethodKey(connection))}\n />\n );\n\n return foundLastUsed && index === 0 ? <LastUsed>{button}</LastUsed> : button;\n })}\n </Column>\n );\n};\n\nexport const SSODiscoveryMenu = () => {\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'ssoDiscovery.title', message: 'Select a connection to continue' })}\n </Typography>\n\n <Column gap={4}>\n <SSOButtons availableConnections={state.formState.ssoDiscoveryState.connections} />\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n </Column>\n );\n};\n","'use client';\n\nimport React from 'react';\n\nimport { B2BGoogleOneTap } from './components/B2BOneTap';\nimport { emailIcons, oauthIcons, ssoIcons } from './components/Icons';\nimport { OAuthB2BButton } from './components/OAuthB2BButton';\nimport { SSOButton } from './components/SSOButton';\nimport { EmailConfirmation } from './screens/EmailConfirmation';\nimport { EmailDiscoveryForm, EmailForm } from './screens/EmailForm';\nimport { EmailMethodSelectionScreen } from './screens/EmailMethodSelectionScreen';\nimport { EmailOTPEntryScreen } from './screens/EmailOTPEntryScreen';\nimport { PasswordsAuthenticate } from './screens/PasswordAuthenticate';\nimport { PasswordsEmailForm } from './screens/PasswordEmailForm';\nimport { PasswordsForgotForm } from './screens/PasswordForgotForm';\nimport { PasswordResetConfirmation } from './screens/PasswordResetConfirmation';\nimport { PasswordResetForm } from './screens/PasswordResetForm';\nimport { PasswordSetNew } from './screens/PasswordSetNew';\nimport { SsoAndOAuthButtons } from './screens/SsoAndOAuthButtons';\nimport { SSODiscoveryEmail } from './screens/SSODiscoveryEmail';\nimport { SSODiscoveryFallback } from './screens/SSODiscoveryFallback';\nimport { SSODiscoveryMenu } from './screens/SSODiscoveryMenu';\nimport { StytchB2BProduct } from './StytchB2BProduct';\nimport { AppScreens, MainScreenComponent } from './types/AppScreens';\n\nconst EmailFormWithoutPassword = () => <EmailForm showPasswordButton={false} />;\nconst EmailFormWithPassword = () => <EmailForm showPasswordButton />;\nconst EmailDiscoveryFormWithoutPassword = () => <EmailDiscoveryForm showPasswordButton={false} />;\nconst EmailDiscoveryFormWithPassword = () => <EmailDiscoveryForm showPasswordButton />;\n\nexport const emailMagicLinks: StytchB2BProduct = {\n id: 'emailMagicLinks',\n screens: {\n [AppScreens.EmailConfirmation]: EmailConfirmation,\n [AppScreens.EmailMethodSelection]: EmailMethodSelectionScreen,\n },\n mainScreen: {\n [MainScreenComponent.EmailForm]: EmailFormWithoutPassword,\n [MainScreenComponent.EmailDiscoveryForm]: EmailDiscoveryFormWithoutPassword,\n [MainScreenComponent.PasswordEmailCombined]: EmailFormWithPassword,\n [MainScreenComponent.PasswordEmailCombinedDiscovery]: EmailDiscoveryFormWithPassword,\n },\n icons: emailIcons,\n};\n\nexport const emailOtp: StytchB2BProduct = {\n id: 'emailOtp',\n screens: {\n [AppScreens.EmailOTPEntry]: EmailOTPEntryScreen,\n [AppScreens.EmailMethodSelection]: EmailMethodSelectionScreen,\n [AppScreens.EmailConfirmation]: EmailConfirmation,\n },\n mainScreen: {\n [MainScreenComponent.EmailForm]: EmailFormWithoutPassword,\n [MainScreenComponent.EmailDiscoveryForm]: EmailDiscoveryFormWithoutPassword,\n [MainScreenComponent.PasswordEmailCombined]: EmailFormWithPassword,\n [MainScreenComponent.PasswordEmailCombinedDiscovery]: EmailDiscoveryFormWithPassword,\n },\n icons: emailIcons,\n};\n\nexport const sso: StytchB2BProduct = {\n id: 'sso',\n screens: {\n [AppScreens.SSODiscoveryEmail]: SSODiscoveryEmail,\n [AppScreens.SSODiscoveryMenu]: SSODiscoveryMenu,\n [AppScreens.SSODiscoveryFallback]: SSODiscoveryFallback,\n },\n ssoAndOAuthButtons: {\n SsoAndOAuthButtons,\n SSOButton,\n },\n icons: ssoIcons,\n};\n\nexport const passwords: StytchB2BProduct = {\n id: 'passwords',\n screens: {\n [AppScreens.PasswordEmailForm]: PasswordsEmailForm,\n [AppScreens.PasswordAuthenticate]: PasswordsAuthenticate,\n [AppScreens.PasswordForgotForm]: PasswordsForgotForm,\n [AppScreens.PasswordSetNewConfirmation]: PasswordSetNew,\n [AppScreens.PasswordResetForm]: PasswordResetForm,\n [AppScreens.PasswordResetVerifyConfirmation]: PasswordResetConfirmation,\n },\n mainScreen: {\n [MainScreenComponent.PasswordsEmailForm]: PasswordsEmailForm,\n [MainScreenComponent.PasswordEmailCombined]: EmailFormWithPassword,\n [MainScreenComponent.PasswordEmailCombinedDiscovery]: EmailDiscoveryFormWithPassword,\n },\n icons: emailIcons,\n};\n\nexport const oauth: StytchB2BProduct = {\n id: 'oauth',\n screens: {},\n ssoAndOAuthButtons: {\n SsoAndOAuthButtons,\n B2BGoogleOneTap,\n OAuthB2BButton,\n },\n icons: oauthIcons,\n};\n","import { StytchEventType } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport { Confirmation } from '../../components/molecules/Confirmation';\nimport { useMountEffect } from '../../hooks/useMountEffect';\nimport { useEventCallback } from '../GlobalContextProvider';\n\nexport const ConfirmationScreen = () => {\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return <Confirmation />;\n};\n","import { Organization } from '@stytch/core/public';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport { buttonClassNames } from '../../components/atoms/Button';\nimport VerticalTransition, { hoverTriggerClass } from '../../components/atoms/VerticalTransition';\nimport { Badge } from '../../components/molecules/Badge';\nimport styles from './OrganizationRow.module.css';\n\nexport type OrganizationRowProps = {\n organization: Organization;\n action?: string;\n onClick: () => void;\n};\n\nconst Arrow = () => (\n <svg\n className={styles.arrow}\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.707 10L10.3535 14.3545L9.64648 13.6475L12.793 10.5H6V9.5H12.793L9.64648 6.35352L10.3535 5.64648L14.707 10Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst OrganizationRow = ({ organization, action, onClick }: OrganizationRowProps) => {\n const { organization_name, organization_logo_url } = organization;\n\n const logo = organization_logo_url ? (\n <img className={styles.logo} src={organization_logo_url} alt=\"\" />\n ) : (\n <div className={styles.logo} role=\"presentation\">\n {\n // The Array.from() accounts for two byte Unicode characters\n Array.from(organization_name)[0]\n }\n </div>\n );\n\n return (\n <button\n className={classNames(\n styles.organizationRow,\n hoverTriggerClass,\n buttonClassNames({\n variant: 'outline',\n // Not a block even though it looks like it to avoid the inheriting the centering style\n }),\n )}\n onClick={onClick}\n >\n <div className={styles.left}>\n {logo}\n <div className={styles.nameText}>{organization_name}</div>\n </div>\n\n <VerticalTransition\n trigger=\"hover\"\n rootClassName={styles.right}\n className={styles.rightContent}\n primary={action && <Badge>{action}</Badge>}\n secondary={<Arrow />}\n />\n </button>\n );\n};\n\nexport default OrganizationRow;\n","import { useLingui } from '@lingui/react/macro';\nimport {\n B2BDiscoveryIntermediateSessionsExchangeResponse,\n B2BDiscoveryOrganizationsCreateResponse,\n DirectLoginForSingleMembershipConfig,\n DiscoveredOrganization,\n StytchAPIError,\n StytchProjectConfigurationInput,\n} from '@stytch/core/public';\nimport React, { useCallback, useEffect } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport { LoadingScreen, LoggingInScreen } from '../../components/molecules/Loading';\nimport OrganizationRow from '../components/OrganizationRow';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { ErrorType } from '../types/ErrorType';\nimport { onAuthenticateSuccess, StytchMutationKey, useBootstrap, useMutate } from '../utils';\n\nconst isJoinViaJitType = (type: DiscoveredOrganization['membership']['type']) =>\n type === 'eligible_to_join_by_email_domain' || type === 'eligible_to_join_by_oauth_tenant';\n\nconst DiscoverNoOrganizations = () => {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n const { createOrganizationEnabled } = useBootstrap();\n const { t } = useLingui();\n const goBack = () => dispatch({ type: 'transition', screen: AppScreens.Main });\n\n const { trigger: stytchCreateOrganization, isMutating: isCreateLoading } = useMutate<\n B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>,\n StytchAPIError,\n StytchMutationKey\n >(\n 'stytch.discovery.organizations.create',\n () =>\n stytchClient.discovery.organizations.create({\n session_duration_minutes: config.sessionOptions.sessionDurationMinutes,\n }),\n {\n onSuccess: (data: B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n onError: (error) => {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType:\n error.error_type === 'action_not_allowed_email_domain_is_claimed'\n ? ErrorType.OrganizationDiscoveryClaimedDomain\n : ErrorType.Default,\n canGoBack: true,\n });\n },\n },\n );\n\n const shouldAutomaticallyCreateOrganization =\n createOrganizationEnabled && config.directCreateOrganizationForNoMembership;\n\n useEffect(() => {\n if (shouldAutomaticallyCreateOrganization) {\n stytchCreateOrganization();\n }\n }, [shouldAutomaticallyCreateOrganization, stytchCreateOrganization]);\n\n if (shouldAutomaticallyCreateOrganization || isCreateLoading) {\n return <LoadingScreen />;\n }\n\n const email = state.formState.discoveryState.email;\n\n if (createOrganizationEnabled && !config.disableCreateOrganization) {\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'organizationDiscovery.noOrgs.create.title', message: 'Create an organization to get started' })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'organizationDiscovery.noOrgs.create.content',\n message: `${email} does not have an account. Think this is a mistake? Try a different email address, or contact your admin.`,\n })}\n </Typography>\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={() => stytchCreateOrganization()}>\n {t({ id: 'button.createAnOrganization', message: 'Create an organization' })}\n </Button>\n <Button variant=\"ghost\" onClick={goBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n }\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({\n id: 'organizationDiscovery.noOrgs.title',\n message: `${email} does not belong to any organizations.`,\n })}\n </Typography>\n <Typography variant=\"body\">\n {t({\n id: 'organizationDiscovery.noOrgs.content',\n message: 'Make sure your email address is correct. Otherwise, you might need to be invited by your admin.',\n })}\n </Typography>\n <Button variant=\"outline\" onClick={goBack}>\n {t({ id: 'button.tryDifferentEmailAddress', message: 'Try a different email address' })}\n </Button>\n </Column>\n );\n};\n\nconst shouldAllowDirectLoginToOrganization = (\n organizations: DiscoveredOrganization[],\n config?: DirectLoginForSingleMembershipConfig,\n): DiscoveredOrganization | null => {\n // If direct login is not enabled, return false\n if (!config?.status) {\n return null;\n }\n\n // Count active memberships\n const activeOrganizations = organizations.filter((org) => org.membership.type === 'active_member');\n\n // Check for pending invites or JIT provisioning, depending on config\n const hasBlockingConditions = organizations.some(\n (org) =>\n ((org.membership.type === 'pending_member' || org.membership.type === 'invited_member') &&\n !config.ignoreInvites) ||\n (isJoinViaJitType(org.membership.type) && !config.ignoreJitProvisioning),\n );\n\n // Allow direct login if there is exactly one active membership and no blocking conditions\n return activeOrganizations.length === 1 && !hasBlockingConditions ? activeOrganizations[0] : null;\n};\n\nexport const Discovery = () => {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n const { t } = useLingui();\n const shouldDirectLoginConfigEnabled = !!config.directLoginForSingleMembership?.status;\n const { createOrganizationEnabled } = useBootstrap();\n\n useEffect(() => {\n if (isExchangeInProgress) {\n // If there is already an exchange in progress, don't do anything\n return;\n }\n\n const directLoginOrganization = shouldAllowDirectLoginToOrganization(\n state.formState.discoveryState.discoveredOrganizations,\n config.directLoginForSingleMembership,\n );\n\n if (shouldDirectLoginConfigEnabled && directLoginOrganization !== null) {\n handleDiscoveryOrganizationStart(directLoginOrganization);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [\n shouldDirectLoginConfigEnabled,\n state.formState.discoveryState.discoveredOrganizations,\n config.directLoginForSingleMembership,\n ]);\n\n const handleDiscoveryOrganizationStart = (discoveredOrganization: DiscoveredOrganization) => {\n const organization = discoveredOrganization.organization;\n\n if (discoveredOrganization.primary_required) {\n const allowedAuthMethods = discoveredOrganization.primary_required.allowed_auth_methods;\n if (\n allowedAuthMethods &&\n allowedAuthMethods.length === 1 &&\n allowedAuthMethods[0] === 'sso' &&\n organization.sso_default_connection_id\n ) {\n startSso(organization.sso_default_connection_id);\n } else {\n dispatch({\n type: 'select_discovered_organization',\n discoveredOrganization,\n });\n }\n } else {\n stytchDiscoveryExchange({ organizationId: organization.organization_id });\n }\n };\n\n const startSso = useCallback(\n (connectionId: string) => {\n stytchClient.sso.start({\n connection_id: connectionId,\n login_redirect_url: config.ssoOptions?.loginRedirectURL,\n signup_redirect_url: config.ssoOptions?.signupRedirectURL,\n });\n },\n [stytchClient, config.ssoOptions],\n );\n\n const { trigger: stytchDiscoveryExchange, isMutating: isExchangeInProgress } = useMutate<\n B2BDiscoveryIntermediateSessionsExchangeResponse<StytchProjectConfigurationInput>,\n StytchAPIError,\n StytchMutationKey,\n { organizationId: string }\n >(\n `stytch.discovery.intermediateSessions.exchange`,\n (_: string, { arg: { organizationId } }: { arg: { organizationId: string } }) =>\n stytchClient.discovery.intermediateSessions.exchange({\n organization_id: organizationId,\n session_duration_minutes: config.sessionOptions.sessionDurationMinutes,\n }),\n {\n onSuccess: (data: B2BDiscoveryIntermediateSessionsExchangeResponse<StytchProjectConfigurationInput>) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n onError: (error) => {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType:\n error.error_type === 'action_not_allowed_email_domain_is_claimed'\n ? ErrorType.OrganizationDiscoveryClaimedDomain\n : ErrorType.Default,\n canGoBack: true,\n });\n },\n },\n );\n\n const { trigger: stytchCreateOrganization, isMutating: isCreateLoading } = useMutate<\n B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>,\n StytchAPIError,\n StytchMutationKey\n >(\n 'stytch.discovery.organizations.create',\n () =>\n stytchClient.discovery.organizations.create({\n session_duration_minutes: config.sessionOptions.sessionDurationMinutes,\n }),\n {\n onSuccess: (data: B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n onError: (error) => {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType:\n error.error_type === 'action_not_allowed_email_domain_is_claimed'\n ? ErrorType.OrganizationDiscoveryClaimedDomain\n : ErrorType.Default,\n canGoBack: true,\n });\n },\n },\n );\n\n if (isExchangeInProgress) {\n return <LoggingInScreen />;\n }\n\n if (isCreateLoading) {\n return <LoadingScreen />;\n }\n\n if (state.formState.discoveryState.discoveredOrganizations.length === 0) {\n return <DiscoverNoOrganizations />;\n }\n\n const organizationButtons = state.formState.discoveryState.discoveredOrganizations.map((discoveredOrganization) => {\n const { organization, membership } = discoveredOrganization;\n\n let action: string | undefined;\n if (isJoinViaJitType(membership.type) || membership.type === 'pending_member')\n action = t({ id: 'organizationDiscovery.join', message: 'Join' });\n else if (membership.type === 'invited_member')\n action = t({ id: 'organizationDiscovery.acceptInvite', message: 'Accept Invite' });\n\n return (\n <OrganizationRow\n organization={organization}\n action={action}\n onClick={() => handleDiscoveryOrganizationStart(discoveredOrganization)}\n ></OrganizationRow>\n );\n });\n\n const createOrganizationButton =\n createOrganizationEnabled && !config.disableCreateOrganization ? (\n <Button variant=\"outline\" onClick={() => stytchCreateOrganization()}>\n {t({ id: 'button.createAnOrganization', message: 'Create an organization' })}\n </Button>\n ) : null;\n\n const goBackButton = (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n );\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'organizationDiscovery.title', message: 'Select an organization to continue' })}\n </Typography>\n\n {createOrganizationButton ? (\n // Display with divider if the Create Organization Button can be shown,\n // otherwise just show everything together\n <ButtonColumn\n top={organizationButtons}\n bottom={\n <>\n {createOrganizationButton}\n {goBackButton}\n </>\n }\n />\n ) : (\n <Column gap={4}>\n <ButtonColumn>{organizationButtons}</ButtonColumn>\n {goBackButton}\n </Column>\n )}\n </Column>\n );\n};\n","import { AuthFlowType } from '@stytch/core/public';\n\nimport { StytchB2BProduct } from './StytchB2BProduct';\nimport { ButtonComponent, MainScreenComponent } from './types/AppScreens';\nimport { FlowState } from './types/AppState';\n\nexport const isButtonsComponent = (component: MainScreenComponent): component is ButtonComponent =>\n component === MainScreenComponent.OAuthButtons || component === MainScreenComponent.SSOButtons;\n\n/*\n Here we are generating the ordering and which components will be displayed.\n We use the MainScreenComponent enum this because there is some complex logic here, and\n we want to be able to unit test.\n\n Rules we want to follow when generating the components:\n 1. If we're displaying both an email-based method (email magic links and/or email OTPs) and passwords,\n we need to display them together as a single wrapped component. The index of this wrapped component is\n equivalent to the first index of either email-based method or passwords in the config products list.\n 2. If we have both buttons and input, we want to display a divider between the last 2 elements.\n 3. Some components have both a discovery and a non-discovery version. We want to display the correct version\n based on the flow type (found in state).\n 4. We want to display the components in the order that they are listed in the config.\n\n This function should be considered the source of truth for which components to render\n and what order to render them in as of 6/21/23.\n*/\nexport const generateProductComponentsOrdering = (\n products: StytchB2BProduct[],\n flowState: FlowState,\n): MainScreenComponent[][] => {\n const flowStateType = flowState.type;\n const productsSet = new Set(products.map((p) => p.id));\n const displayEmailAndPasswordsTogether =\n (productsSet.has('emailMagicLinks') || productsSet.has('emailOtp')) && productsSet.has('passwords');\n const emailPasswordCombinedComponent =\n flowStateType === AuthFlowType.Organization\n ? MainScreenComponent.PasswordEmailCombined\n : MainScreenComponent.PasswordEmailCombinedDiscovery;\n\n const productComponentsSet = products.reduce((components, product) => {\n switch (product.id) {\n case 'emailMagicLinks':\n case 'emailOtp':\n if (displayEmailAndPasswordsTogether) {\n components.add(emailPasswordCombinedComponent);\n } else {\n components.add(\n flowStateType === AuthFlowType.Organization\n ? MainScreenComponent.EmailForm\n : MainScreenComponent.EmailDiscoveryForm,\n );\n }\n break;\n case 'oauth':\n components.add(MainScreenComponent.OAuthButtons);\n break;\n case 'sso': {\n const isSsoValid =\n flowStateType === AuthFlowType.Discovery ||\n (flowStateType === AuthFlowType.Organization &&\n (flowState.organization?.sso_active_connections?.length ?? 0) > 0);\n if (isSsoValid) {\n components.add(MainScreenComponent.SSOButtons);\n }\n break;\n }\n case 'passwords':\n components.add(\n displayEmailAndPasswordsTogether ? emailPasswordCombinedComponent : MainScreenComponent.PasswordsEmailForm,\n );\n break;\n }\n return components;\n }, new Set<MainScreenComponent>());\n\n return Array.from(productComponentsSet).reduce<MainScreenComponent[][]>((groups, component, i, arr) => {\n const prevComponent = i > 0 ? arr[i - 1] : undefined;\n\n // Group consecutive components with buttons\n const shouldJoinPreviousGroup = prevComponent && isButtonsComponent(component) && isButtonsComponent(prevComponent);\n\n if (shouldJoinPreviousGroup) {\n groups[groups.length - 1].push(component);\n } else {\n // If the previous group was a different type than this group, prepend a divider\n const prevGroup = groups.length > 0 ? groups[groups.length - 1] : undefined;\n if (prevGroup && isButtonsComponent(prevGroup[0]) !== isButtonsComponent(component)) {\n groups.push([MainScreenComponent.Divider]);\n }\n\n groups.push([component]);\n }\n return groups;\n }, []);\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { AuthFlowType } from '@stytch/core/public';\nimport React from 'react';\n\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport Divider from '../../components/molecules/Divider';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport { usePresentation } from '../../components/PresentationConfig';\nimport { generateProductComponentsOrdering, isButtonsComponent } from '../generateProductComponentsOrdering';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { ButtonComponent, MainScreenComponent } from '../types/AppScreens';\nimport { useProductComponents } from '../utils';\n\nfunction isButtonGroup(group: MainScreenComponent[]): group is ButtonComponent[] {\n return group.every(isButtonsComponent);\n}\n\nexport const MainScreen = () => {\n const { options } = usePresentation();\n const [state] = useGlobalReducer();\n const { t } = useLingui();\n\n const { primaryAuthMethods, email, emailVerified } = state.primary;\n\n const config = useConfig();\n const { products } = useEffectiveAuthConfig();\n\n const isLoading = state.flowState.type === AuthFlowType.Organization && !state.flowState.organization;\n\n // Generate ordering and types of product components\n const productComponentsOrdering = generateProductComponentsOrdering(products, state.flowState);\n const mainScreenComponents = useProductComponents(config, 'mainScreen')!;\n const { SsoAndOAuthButtons } = useProductComponents(config, 'ssoAndOAuthButtons')!;\n\n const organizationName = state.flowState.organization?.organization_name;\n let title: string;\n switch (state.flowState.type) {\n case AuthFlowType.Discovery:\n title = t({ id: 'login.title', message: 'Sign up or log in' });\n break;\n case AuthFlowType.PasswordReset:\n title = '';\n break;\n default:\n title = organizationName\n ? t({\n id: 'organizationLogin.title',\n message: `Continue to ${organizationName}`,\n })\n : t({\n id: 'organizationLogin.titleUnknown',\n message: 'Continue to ...',\n comment: 'Used instead of organizationLogin.title when the organization name is not available',\n });\n break;\n }\n\n // Show a targeted message if the member has an unverified email address and\n // additional primary auth is required\n const showVerifyEmailCopy = email && emailVerified === false && primaryAuthMethods;\n\n if (isLoading) {\n return <LoadingScreen />;\n }\n\n return (\n <Column gap={6}>\n {!options.hideHeaderText &&\n (showVerifyEmailCopy ? (\n <>\n <Typography variant=\"header\">\n {t({ id: 'emailVerification.title', message: 'Verify your email' })}\n </Typography>\n\n <Typography>\n {t({\n id: 'emailVerification.content',\n message: 'Confirm your email address with one of the following:',\n })}\n </Typography>\n </>\n ) : (\n title && (\n <Typography variant=\"header\" align=\"center\">\n {title}\n </Typography>\n )\n ))}\n\n <Column gap={4}>\n {productComponentsOrdering.map((group) =>\n isButtonGroup(group) ? (\n <SsoAndOAuthButtons key=\"buttons\" buttons={group} />\n ) : (\n group.map((component, index) => {\n const Component = mainScreenComponents[component];\n if (Component) {\n return <Component key={component} />;\n }\n if (component === MainScreenComponent.Divider) {\n return <Divider key={'divider' + index} />;\n }\n return null;\n })\n ),\n )}\n </Column>\n </Column>\n );\n};\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { StringLiteralFromEnum } from '@stytch/core';\nimport { B2BMFAProducts } from '@stytch/core/public';\nimport React, { useMemo } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport { getEnabledMethods } from '../getEnabledMethods';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { B2B_MFA_METHODS } from '../reducer/mfa';\nimport { AppScreens } from '../types/AppScreens';\n\nconst mfaOptions: Record<\n StringLiteralFromEnum<B2BMFAProducts>,\n {\n messageDescriptor: MessageDescriptor;\n screen: AppScreens;\n }\n> = {\n [B2BMFAProducts.totp]: {\n messageDescriptor: msg({ id: 'mfa.enrollment.option.totp', message: 'Use an authenticator app' }),\n screen: AppScreens.TOTPEnrollmentQRCode,\n },\n [B2BMFAProducts.smsOtp]: {\n messageDescriptor: msg({ id: 'mfa.enrollment.option.sms', message: 'Text me a code' }),\n screen: AppScreens.SMSOTPEnrollment,\n },\n};\n\nexport const MFAEnrollmentSelectionScreen = () => {\n const { t } = useLingui();\n const { mfaProductInclude, mfaProductOrder } = useConfig();\n\n const [state, dispatch] = useGlobalReducer();\n\n // This screen should only be shown if primary info is available\n const { organizationMfaOptionsSupported } = state.mfa.primaryInfo!;\n\n const handleNavigate = (screen: AppScreens) => {\n dispatch({\n type: 'transition',\n screen,\n history: 'push',\n });\n };\n\n const displayOptions = useMemo(() => {\n const optionsToDisplay = getEnabledMethods({\n allMethods: B2B_MFA_METHODS,\n orgSupportedMethods: organizationMfaOptionsSupported,\n uiIncludedMethods: mfaProductInclude,\n });\n\n const result: StringLiteralFromEnum<B2BMFAProducts>[] = [];\n for (const option of mfaProductOrder ?? B2B_MFA_METHODS) {\n if (optionsToDisplay.has(option)) {\n result.push(option);\n optionsToDisplay.delete(option);\n }\n }\n\n result.push(...optionsToDisplay);\n return result;\n }, [mfaProductInclude, mfaProductOrder, organizationMfaOptionsSupported]);\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'mfa.enrollment.title', message: 'Set up Multi-Factor Authentication' })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'mfa.enrollment.content',\n message: 'Your organization requires an additional form of verification to make your account more secure.',\n })}\n </Typography>\n\n <ButtonColumn>\n {displayOptions.map((option) => {\n const { messageDescriptor, screen } = mfaOptions[option];\n return (\n <Button key={option} variant=\"outline\" onClick={() => handleNavigate(screen)}>\n {t(messageDescriptor)}\n </Button>\n );\n })}\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { RecoveryCodeRecoverResponse, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { FormEvent, useState } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport Input from '../../components/molecules/Input';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { StytchMutationKey, useMutate } from '../utils';\nimport styles from './RecoveryCodeEntryScreen.module.css';\n\nexport const RecoveryCodeEntryScreen = () => {\n const stytchClient = useStytch();\n const {\n sessionOptions: { sessionDurationMinutes },\n } = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n\n // This screen should only be shown if primary info is available\n const { memberId, organizationId } = state.mfa.primaryInfo!;\n\n const {\n trigger: authenticate,\n isMutating: isSubmitting,\n error,\n } = useMutate<\n RecoveryCodeRecoverResponse<StytchProjectConfigurationInput>,\n unknown,\n StytchMutationKey,\n { recoveryCode: string; memberId: string; organizationId: string; sessionDurationMinutes: number }\n >(\n 'stytch.recoveryCodes.recover',\n (\n _: string,\n {\n arg: { recoveryCode, memberId, organizationId, sessionDurationMinutes },\n }: { arg: { recoveryCode: string; memberId: string; organizationId: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.recoveryCodes.recover({\n recovery_code: recoveryCode,\n member_id: memberId,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n throwOnError: false,\n onSuccess: () => {\n dispatch({ type: 'recovery_code/authenticate_success' });\n },\n },\n );\n\n const [recoveryCode, setRecoveryCode] = useState('');\n const errorMessage = error\n ? t({ id: 'recoveryCodes.entry.error.invalidCode', message: 'Invalid backup code, please try again.' })\n : undefined;\n\n const handleSubmit = async (e: FormEvent) => {\n e.preventDefault();\n authenticate({ recoveryCode, memberId, organizationId, sessionDurationMinutes });\n };\n\n return (\n <Column as=\"form\" gap={6} onSubmit={handleSubmit}>\n <Typography variant=\"header\">{t({ id: 'recoveryCodes.entry.title', message: 'Enter backup code' })}</Typography>\n <Typography variant=\"body\">\n {t({\n id: 'recoveryCodes.entry.content',\n message: 'Enter one of the backup codes you saved when setting up your authenticator app.',\n })}\n </Typography>\n\n <Input\n id=\"recovery-code\"\n className={styles.input}\n value={recoveryCode}\n onChange={(e) => {\n setRecoveryCode(e.target.value);\n }}\n placeholder={t({ id: 'formField.backupCode.placeholder', message: 'Enter backup code' })}\n label={t({ id: 'formField.backupCode.ariaLabel', message: 'Backup code' })}\n hideLabel\n required\n autoComplete=\"off\"\n spellCheck={false}\n error={errorMessage}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\" disabled={!recoveryCode || isSubmitting}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'navigate_back' })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import classNames from 'classnames';\nimport React, { HTMLAttributes } from 'react';\n\nimport styles from './CodeContainer.module.css';\n\nexport type CodeContainerProps = HTMLAttributes<HTMLDivElement>;\n\nconst CodeContainer: React.FC<CodeContainerProps> = ({ children, className, ...props }) => (\n <div className={classNames(className, styles.container)} {...props}>\n {children}\n </div>\n);\n\nexport default CodeContainer;\n","import { useLingui } from '@lingui/react/macro';\nimport React, { CSSProperties, useMemo } from 'react';\n\nimport Button, { ButtonAnchor } from '../../components/atoms/Button';\nimport CodeContainer from '../../components/atoms/CodeContainer';\nimport Column from '../../components/atoms/Column';\nimport { errorToast } from '../../components/atoms/Toast';\nimport Typography from '../../components/atoms/Typography';\nimport VerticalTransition, { useTimedBoolean } from '../../components/atoms/VerticalTransition';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport TextColumn from '../../components/molecules/TextColumn';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport styles from './RecoveryCodeSaveScreen.module.css';\n\nexport const RecoveryCodeSaveScreen = () => {\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n // This screen should only be shown if TOTP enrollment is available\n const { recoveryCodes } = state.mfa.totp.enrollment!;\n\n const handleContinue = () => {\n dispatch({ type: 'recovery_code/save_acknowledge' });\n };\n\n const fileContent = useMemo(() => {\n const newline = navigator.platform === 'Win32' ? '\\r\\n' : '\\n';\n const blob = new Blob([recoveryCodes.join(newline)], { type: 'text/plain' });\n return URL.createObjectURL(blob);\n }, [recoveryCodes]);\n\n const organizationName = state.flowState.organization?.organization_name;\n const filename = organizationName\n ? t({ id: 'recoveryCodes.filename.withOrganizationName', message: `${organizationName}-backup-codes` })\n : t({\n id: 'recoveryCodes.filename.noOrganizationName',\n message: 'backup-codes',\n });\n\n const [copied, setCopied] = useTimedBoolean(3);\n const handleCodesCopy = async () => {\n try {\n await navigator.clipboard.writeText(recoveryCodes.join('\\n'));\n setCopied(true);\n } catch {\n errorToast({\n message: t({ id: 'recoveryCodes.save.toast.copyFailed', message: \"Couldn't copy codes to clipboard\" }),\n });\n }\n };\n\n const maxCodeLength = Math.max(...recoveryCodes.map((code) => code.length));\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'recoveryCodes.save.title', message: 'Save your backup codes!' })}\n body={t({\n id: 'recoveryCodes.save.content',\n message: 'This is the only time you will be able to access and save your backup codes.',\n })}\n />\n\n <CodeContainer>\n <Typography font=\"mono\">\n <ul className={styles.codes} style={{ '--st-max-code-length': maxCodeLength + 'ch' } as CSSProperties}>\n {recoveryCodes.map((code, i) => (\n <li key={i}>{code}</li>\n ))}\n </ul>\n </Typography>\n </CodeContainer>\n\n <ButtonColumn>\n {/* eslint-disable-next-line lingui/no-unlocalized-strings */}\n <ButtonAnchor variant=\"primary\" href={fileContent} download={filename + '.txt'}>\n <VerticalTransition\n primary={t({ id: 'recoveryCodes.save.button.download', message: 'Download .txt file' })}\n secondary={t({ id: 'recoveryCodes.save.button.copied', message: 'Copied!' })}\n triggered={copied}\n />\n </ButtonAnchor>\n <Button variant=\"outline\" onClick={handleCodesCopy}>\n {t({ id: 'recoveryCodes.save.button.copyAll', message: 'Copy all to clipboard' })}\n </Button>\n <Button variant=\"ghost\" onClick={handleContinue}>\n {t({ id: 'recoveryCodes.save.button.done', message: 'Done' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { COUNTRIES_LIST, CountryCode } from '@stytch/core';\nimport { B2BSMSSendResponse, StytchAPIError, StytchSDKError } from '@stytch/core/public';\nimport React, { FormEvent } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { formatNumberToIncludeCountryCode } from '../../../utils/handleParsePhoneNumber';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport PhoneInput, { getPhoneNumberProps } from '../../components/molecules/PhoneInput';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { canGoBack } from '../reducer/navigation';\nimport { StytchMutationKey, useMutate } from '../utils';\n\n// eslint-disable-next-line lingui/no-unlocalized-strings\nconst DEFAULT_COUNTRY_CODE = 'US' satisfies CountryCode;\n\n/**\n * Thrown when the user provides a phone number that cannot be parsed.\n */\nclass InvalidPhoneNumberError extends StytchSDKError {\n constructor() {\n // eslint-disable-next-line lingui/no-unlocalized-strings\n super('InvalidPhoneNumberError', 'Invalid phone number');\n }\n}\n\nexport const SMSOTPEnrollScreen = () => {\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n const { smsOtpOptions } = useConfig();\n const {\n mfa: {\n smsOtp: { isSending, sendError, enrolledNumber },\n },\n } = state;\n\n // This screen should only be shown if primary info is available\n const { memberId, organizationId } = state.mfa.primaryInfo!;\n\n const [countryCode, setCountryCode] = React.useState<CountryCode>(\n enrolledNumber?.countryCode ?? DEFAULT_COUNTRY_CODE,\n );\n const [phoneNumber, setPhoneNumber] = React.useState(enrolledNumber?.phoneNumber ?? '');\n\n const errorMessage = React.useMemo(() => {\n if (!sendError) return undefined;\n\n if (sendError instanceof InvalidPhoneNumberError) {\n return t({\n id: 'error.invalidPhoneNumber',\n message: 'Phone number format is invalid. Ensure the phone number is in the E.164 format.',\n });\n }\n\n return getTranslatedError(sendError as StytchAPIError, t);\n }, [sendError, t]);\n\n const { parsePhoneNumber, getExampleNumber } = getPhoneNumberProps(readB2BInternals(stytchClient).clientsideServices);\n\n const { trigger: sendSms } = useMutate<\n B2BSMSSendResponse,\n unknown,\n StytchMutationKey,\n { parsedNumber: string; locale?: string }\n >(\n 'stytch.otps.sms.send',\n async (_: string, { arg: { parsedNumber, locale } }: { arg: { parsedNumber: string; locale?: string } }) => {\n return stytchClient.otps.sms.send({\n mfa_phone_number: parsedNumber,\n member_id: memberId,\n organization_id: organizationId,\n locale: locale,\n });\n },\n {\n onSuccess: (response) => {\n dispatch({\n type: 'sms_otp/send_success',\n response,\n countryCode,\n phoneNumber,\n formattedPhoneNumber: `+${COUNTRIES_LIST[countryCode]} ${phoneNumber}`,\n });\n },\n onError: (error) => {\n dispatch({\n type: 'sms_otp/send_error',\n error,\n });\n },\n },\n );\n\n const handleSubmit = async (e: FormEvent) => {\n e.preventDefault();\n\n dispatch({ type: 'sms_otp/send' });\n try {\n // We parse the phone number here (rather than inside `sendSms`) because we\n // don't want validation errors to be surfaced through the global error\n // callback\n\n const parsedNumber = await formatNumberToIncludeCountryCode({\n parsePhoneNumber,\n phoneNumber,\n country: countryCode,\n });\n\n if (!parsedNumber.isValid) {\n throw new InvalidPhoneNumberError();\n }\n\n await sendSms({ parsedNumber: parsedNumber.number, locale: smsOtpOptions?.locale });\n } catch (error) {\n dispatch({\n type: 'sms_otp/send_error',\n error,\n });\n }\n };\n\n return (\n <Column as=\"form\" gap={6} onSubmit={handleSubmit}>\n <Typography variant=\"header\">\n {t({\n id: 'mfa.smsEnrollment.title',\n message: 'Enter your phone number to set up Multi-Factor Authentication',\n })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'mfa.smsEnrollment.content',\n message: 'Your organization requires an additional form of verification to make your account more secure.',\n })}\n </Typography>\n\n <PhoneInput\n country={countryCode}\n setCountry={setCountryCode}\n phone={phoneNumber}\n setPhone={setPhoneNumber}\n parsePhoneNumber={parsePhoneNumber}\n getExampleNumber={getExampleNumber}\n error={errorMessage}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSending} type=\"submit\" disabled={!phoneNumber || isSending}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n {canGoBack(state) && (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'navigate_back' })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n )}\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport {\n B2BMFAProducts,\n B2BSMSAuthenticateResponse,\n B2BSMSSendResponse,\n StytchAPIError,\n StytchProjectConfigurationInput,\n} from '@stytch/core/public';\nimport React, { useEffect, useMemo } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { formatNumber } from '../../../utils/handleParsePhoneNumber';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport { useCountdown } from '../../components/atoms/Countdown';\nimport { errorToast } from '../../components/atoms/Toast';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport { ResendOTPButton } from '../../components/organisms/ResendOTPButton';\nimport { SentOTPEntry } from '../../components/organisms/SentOTPEntry';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const SMSOTPEntryScreen = () => {\n const stytchClient = useStytch();\n const {\n sessionOptions: { sessionDurationMinutes },\n smsOtpOptions,\n } = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const {\n mfa: { isEnrolling, smsOtp, primaryInfo },\n } = state;\n\n const { codeExpiration, formattedDestination } = smsOtp;\n\n // This screen should only be shown if primary info is available\n const { enrolledMfaMethods, memberId, memberPhoneNumber, organizationId, organizationMfaOptionsSupported } =\n primaryInfo!;\n\n const resendCountdown = useCountdown();\n\n const {\n trigger: sendSms,\n isMutating: isSending,\n error: sendError,\n } = useMutate<\n B2BSMSSendResponse,\n unknown,\n StytchMutationKey,\n { memberId: string; organizationId: string; locale?: string }\n >(\n 'stytch.otps.sms.send',\n (\n _: string,\n {\n arg: { memberId, organizationId, locale },\n }: { arg: { memberId: string; organizationId: string; locale?: string } },\n ) => {\n dispatch({ type: 'sms_otp/send' });\n return stytchClient.otps.sms.send({ member_id: memberId, organization_id: organizationId, locale });\n },\n {\n onSuccess: (response) => {\n dispatch({ type: 'sms_otp/send_success', response });\n },\n onError: (error) => {\n const message = getTranslatedError(error as StytchAPIError, t);\n if (message) {\n errorToast({ message });\n }\n dispatch({ type: 'sms_otp/send_error', error: message });\n },\n // Throw on error to ensure promise is rejected\n throwOnError: true,\n },\n );\n\n const {\n trigger: authenticate,\n isMutating: isAuthenticating,\n error: authenticateError,\n } = useMutate<\n B2BSMSAuthenticateResponse<StytchProjectConfigurationInput>,\n unknown,\n StytchMutationKey,\n { otp: string; memberId: string; organizationId: string; sessionDurationMinutes: number }\n >(\n 'stytch.otps.sms.authenticate',\n (\n _: string,\n {\n arg: { otp, memberId, organizationId, sessionDurationMinutes },\n }: { arg: { otp: string; memberId: string; organizationId: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.otps.sms.authenticate({\n code: otp,\n member_id: memberId,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'sms_otp/authenticate_success' });\n },\n onError: () => {\n resendCountdown.clear();\n },\n },\n );\n\n const shouldCreate = codeExpiration === null && !isSending && !sendError;\n useEffect(() => {\n if (shouldCreate) {\n sendSms({ memberId, organizationId, locale: smsOtpOptions?.locale }).catch(() => {\n // error in the UI is handled through the error object so we just swallow it here when auto-sending\n });\n }\n }, [memberId, organizationId, sendSms, shouldCreate, smsOtpOptions?.locale]);\n\n useEffect(() => {\n if (!formattedDestination && memberPhoneNumber) {\n const handleFormatNumber = async () => {\n const parsePhoneNumber = (phoneNumber: string) =>\n readB2BInternals(stytchClient).clientsideServices.parsedPhoneNumber({\n phoneNumber,\n });\n\n const national = await formatNumber({\n parsePhoneNumber,\n phoneNumber: memberPhoneNumber,\n });\n\n dispatch({\n type: 'sms_otp/format_destination',\n formattedPhoneNumber: national,\n });\n };\n\n handleFormatNumber();\n }\n }, [dispatch, formattedDestination, stytchClient, memberPhoneNumber]);\n\n const isTotpAvailable = useMemo(\n () =>\n !isEnrolling &&\n enrolledMfaMethods.includes(B2BMFAProducts.totp) &&\n (organizationMfaOptionsSupported.length === 0 || organizationMfaOptionsSupported.includes(B2BMFAProducts.totp)),\n [enrolledMfaMethods, isEnrolling, organizationMfaOptionsSupported],\n );\n const errorMessage = authenticateError\n ? t({ id: 'error.passcodeInvalid', message: 'Invalid passcode, please try again.' })\n : undefined;\n\n // The user can go back to change their phone number if either:\n // - we are in an enrollment flow\n // - they are not enrolled in any MFA methods at all\n // - they are not enrolled in any of the limited MFA methods supported by the organization\n const canGoBack = useMemo(\n () =>\n isEnrolling ||\n enrolledMfaMethods.length === 0 ||\n (organizationMfaOptionsSupported.length > 0 &&\n !enrolledMfaMethods.some((enrolledMethod) => organizationMfaOptionsSupported.includes(enrolledMethod))),\n [enrolledMfaMethods, isEnrolling, organizationMfaOptionsSupported],\n );\n\n const handleSubmit = (otp: string) => {\n authenticate({ otp, memberId, organizationId, sessionDurationMinutes });\n };\n\n const handleSwitchToTotp = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.TOTPEntry });\n };\n\n const handleResendOTP = async () => {\n await sendSms({ memberId, organizationId, locale: smsOtpOptions?.locale });\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n const resendButton = (\n <ResendOTPButton countdown={resendCountdown} isSubmitting={isAuthenticating} resendOTP={handleResendOTP} />\n );\n const switchToTotpButton = isTotpAvailable && (\n <Button variant=\"ghost\" onClick={handleSwitchToTotp}>\n {t({ id: 'mfa.methods.authenticatorApp', message: 'Use an authenticator app' })}\n </Button>\n );\n const backButton = canGoBack && (\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n );\n\n return (\n <Column gap={6}>\n {codeExpiration !== null ? (\n <SentOTPEntry\n isSubmitting={isAuthenticating}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n expiration={codeExpiration.getTime()}\n formattedDestination={formattedDestination ?? memberPhoneNumber ?? ''}\n />\n ) : (\n <LoadingScreen />\n )}\n\n {switchToTotpButton && backButton ? (\n <ButtonColumn\n top={resendButton}\n bottom={\n <>\n {switchToTotpButton}\n {backButton}\n </>\n }\n />\n ) : (\n <ButtonColumn>\n {resendButton}\n {switchToTotpButton}\n {backButton}\n </ButtonColumn>\n )}\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React, { CSSProperties, useLayoutEffect, useRef, useState } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport CodeContainer from '../../components/atoms/CodeContainer';\nimport Column from '../../components/atoms/Column';\nimport { errorToast } from '../../components/atoms/Toast';\nimport Typography from '../../components/atoms/Typography';\nimport VerticalTransition, { useTimedBoolean } from '../../components/atoms/VerticalTransition';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport TextColumn from '../../components/molecules/TextColumn';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport styles from './TOTPEnrollManualScreen.module.css';\n\nconst CHUNK_SIZE = 4;\n\nexport const TOTPEnrollManualScreen = () => {\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const [copied, setCopied] = useTimedBoolean(3);\n\n // This screen should only be shown if TOTP enrollment is available\n const { secret } = state.mfa.totp.enrollment!;\n\n const displaySecret = secret.toLowerCase();\n const secretChunked = displaySecret.split(new RegExp(`(.{${CHUNK_SIZE}})`, 'g')).filter(Boolean);\n\n const { codeRef, columnCount } = useColumnCount(secretChunked.length);\n\n const handleBack = () => dispatch({ type: 'navigate_back' });\n\n const handleContinue = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.TOTPEntry });\n };\n\n const handleCodeCopy = async () => {\n try {\n await navigator.clipboard.writeText(displaySecret);\n setCopied(true);\n } catch {\n errorToast({\n message: t({ id: 'mfa.totpEnrollment.toast.copyFailed', message: \"Couldn't copy code to clipboard\" }),\n });\n\n // Select all text instead as fallback\n const selection = window.getSelection();\n if (codeRef.current && selection) {\n selection.empty();\n const range = document.createRange();\n range.selectNodeContents(codeRef.current);\n selection.addRange(range);\n }\n }\n };\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'mfa.totpEnrollment.title', message: 'Having trouble scanning the QR code?' })}\n body={t({\n id: 'mfa.totpEnrollment.content',\n message: 'Click to copy the code below. Enter into your authenticator app to link your account.',\n })}\n />\n\n {/* No additional keyboard support since there's a copy code button below */}\n <CodeContainer className={styles.codeContainer} onClick={handleCodeCopy}>\n {/* This Typography element is on the outside because we need the 1ch gap to also be in monospace */}\n <Typography\n ref={codeRef}\n className={styles.code}\n style={\n {\n '--st-column-count': columnCount,\n '--st-chunk-size': CHUNK_SIZE + 'ch',\n } as CSSProperties\n }\n font=\"mono\"\n >\n {secretChunked.map((part, i) => (\n <span key={i}>{part}</span>\n ))}\n </Typography>\n </CodeContainer>\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={handleCodeCopy}>\n <VerticalTransition\n primary={t({ id: 'mfa.totpEnrollment.copyCode.label', message: 'Copy to clipboard' })}\n secondary={t({ id: 'mfa.totpEnrollment.copyCode.codeCopied', message: 'Copied!' })}\n triggered={copied}\n />\n </Button>\n <Button variant=\"outline\" onClick={handleContinue}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.totpQrRetry', message: 'Try to scan the QR code again' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n\n// Balance out the rows - this is fairly complex, but there's not any way to really do this in CSS only\n// so instead we read the width of the container and the chunks below it, then use that to calculate\n// first the number of rows, then how many chunks can evenly fit per row\nfunction useColumnCount(chunksCount: number) {\n const codeRef = useRef<HTMLDivElement>(null);\n const [columnCount, setColumnCount] = useState<number>();\n\n useLayoutEffect(() => {\n const updateRowCount = () => {\n if (!codeRef.current) return;\n\n // Get the width of the container and inner spans\n const containerWidth = codeRef.current.clientWidth;\n const spanWidth = Math.max(\n ...Array.from(codeRef.current.querySelectorAll('span')).map((elem) => elem.clientWidth),\n );\n\n // Find the number of columns to display. First compute the raw number\n // Note we don't check how many rows are currently rendered because this number is already affected by\n // the current row count.\n const fittedColumns = Math.floor(containerWidth / spanWidth);\n // Then account for gaps (1ch each, so 1/CHUNK_SIZE per gap)\n const fittedColumnsWithGaps = fittedColumns - Math.floor(fittedColumns / CHUNK_SIZE);\n // Number of rows is count / columns\n const rows = Math.ceil(chunksCount / fittedColumnsWithGaps);\n // And finally the closest even column count is count / rows\n const evenColumns = Math.ceil(chunksCount / rows);\n\n setColumnCount(evenColumns);\n };\n\n updateRowCount();\n\n if (!window.ResizeObserver || !codeRef.current) return;\n const observer = new ResizeObserver(updateRowCount);\n observer.observe(codeRef.current);\n return () => observer.disconnect();\n }, [chunksCount]);\n\n return {\n codeRef,\n columnCount,\n };\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { B2BTOTPCreateResponse, StytchAPIError } from '@stytch/core/public';\nimport React, { useEffect } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport { errorToast } from '../../components/atoms/Toast';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport { useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\nimport styles from './TOTPEnrollQRScreen.module.css';\n\nexport const TOTPEnrollQRScreen = () => {\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n const {\n mfa: {\n totp: { createError, enrollment, isCreating },\n },\n } = state;\n\n // This screen should only be shown if primary info and TOTP enrollment are\n // available\n const { memberId, organizationId } = state.mfa.primaryInfo!;\n\n const { trigger: createTotp } = useMutate<\n B2BTOTPCreateResponse,\n unknown,\n StytchMutationKey,\n { memberId: string; organizationId: string }\n >(\n 'stytch.totp.create',\n (_: string, { arg: { memberId, organizationId } }: { arg: { memberId: string; organizationId: string } }) => {\n dispatch({ type: 'totp/create' });\n return stytchClient.totp.create({ member_id: memberId, organization_id: organizationId });\n },\n {\n onSuccess: (response) => {\n dispatch({ type: 'totp/create_success', response, memberId, organizationId });\n },\n onError: (error) => {\n const message = getTranslatedError(error as StytchAPIError, t);\n if (message) {\n errorToast({ message });\n }\n dispatch({ type: 'totp/create_error', error });\n },\n },\n );\n\n const shouldCreate = !enrollment && !isCreating && !createError;\n useEffect(() => {\n if (shouldCreate) {\n createTotp({ memberId, organizationId });\n }\n }, [createTotp, memberId, organizationId, shouldCreate]);\n\n const handleShowManualCode = () => {\n dispatch({ type: 'totp/show_code', method: 'manual' });\n };\n\n const handleContinue = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.TOTPEntry });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'totp.setupQr.title', message: 'Scan the QR code to link your authenticator app' })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'totp.setupQr.content',\n message:\n 'Your organization requires an additional form of verification to make your account more secure. If you don’t have an authenticator app, you’ll need to install one first.',\n })}\n </Typography>\n\n {enrollment ? (\n <>\n <img\n alt={t({ id: 'mfaTotpEnrollment.qrAltText', message: 'QR code for TOTP enrollment' })}\n src={enrollment.qrCode}\n className={styles.qr}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={handleContinue}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"outline\" onClick={handleShowManualCode}>\n {t({ id: 'button.totpQrManual', message: 'Having trouble scanning?' })}\n </Button>\n </ButtonColumn>\n </>\n ) : (\n <LoadingScreen />\n )}\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { B2BMFAProducts, B2BTOTPAuthenticateResponse, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useMemo } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport OTPEntry from '../../components/molecules/OTPEntry';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const TOTPEntryScreen = () => {\n const stytchClient = useStytch();\n const {\n sessionOptions: { sessionDurationMinutes },\n } = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const {\n mfa: { isEnrolling },\n } = state;\n\n // This screen should only be shown if primary info is available\n const { enrolledMfaMethods, memberId, organizationId, organizationMfaOptionsSupported } = state.mfa.primaryInfo!;\n\n const {\n trigger: authenticate,\n isMutating: isSubmitting,\n error: authenticateError,\n } = useMutate<\n B2BTOTPAuthenticateResponse<StytchProjectConfigurationInput>,\n unknown,\n StytchMutationKey,\n { memberId: string; organizationId: string; otp: string; sessionDurationMinutes: number }\n >(\n 'stytch.totp.authenticate',\n (\n _: string,\n {\n arg: { memberId, organizationId, otp, sessionDurationMinutes },\n }: { arg: { memberId: string; organizationId: string; otp: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.totp.authenticate({\n code: otp,\n member_id: memberId,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'totp/authenticate_success' });\n },\n },\n );\n\n const isSmsOtpAvailable = useMemo(\n () =>\n !isEnrolling &&\n enrolledMfaMethods.includes(B2BMFAProducts.smsOtp) &&\n (organizationMfaOptionsSupported.length === 0 || organizationMfaOptionsSupported.includes(B2BMFAProducts.smsOtp)),\n [enrolledMfaMethods, isEnrolling, organizationMfaOptionsSupported],\n );\n\n const errorMessage = authenticateError\n ? t({ id: 'error.passcodeInvalid', message: 'Invalid passcode, please try again.' })\n : undefined;\n const canGoBack = isEnrolling;\n\n const handleSubmit = (otp: string) => authenticate({ memberId, organizationId, otp, sessionDurationMinutes });\n\n const handleSwitchToRecoveryCode = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.RecoveryCodeEntry });\n };\n\n const handleSwitchToSms = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.SMSOTPEntry });\n };\n\n return (\n <Column gap={6}>\n <OTPEntry\n header={t({ id: 'totp.title', message: 'Enter verification code' })}\n instruction={t({ id: 'totp.content', message: 'Enter the 6-digit code from your authenticator app.' })}\n helperContent={\n isEnrolling\n ? t({\n id: 'mfa.totpEntry.getNewCode',\n message: 'If the verification code doesn’t work, go back to your authenticator app to get a new code.',\n })\n : null\n }\n isSubmitting={isSubmitting}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n />\n\n <ButtonColumn\n top={null}\n bottom={\n <>\n {isSmsOtpAvailable && (\n <Button variant=\"outline\" onClick={handleSwitchToSms}>\n {t({ id: 'mfa.totpEntry.switchToSms', message: 'Text me a code instead' })}\n </Button>\n )}\n\n {!isEnrolling && (\n <Button variant=\"outline\" onClick={handleSwitchToRecoveryCode}>\n {t({ id: 'mfa.totpEntry.useBackupCode', message: 'Use a backup code' })}\n </Button>\n )}\n\n {canGoBack && (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'navigate_back' })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n )}\n </>\n }\n />\n </Column>\n );\n};\n","import { AuthFlowType, StytchAPIError, StytchEvent, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { ComponentType, Dispatch, ReactNode, useEffect, useState } from 'react';\nimport { useSWRConfig } from 'swr';\n\nimport { HandledTokenType } from '../../b2b/StytchB2BClient';\nimport { StytchB2BExtendedLoginConfig } from '../../types';\nimport { extractErrorType } from '../../utils/extractErrorType';\nimport Logo from '../components/atoms/Logo';\nimport { ErrorScreen } from '../components/molecules/ErrorScreen';\nimport { LoggingInScreen } from '../components/molecules/Loading';\nimport MainContainer from '../components/molecules/MainContainer';\nimport { usePresentation } from '../components/PresentationConfig';\nimport { B2BGoogleOneTap } from './components/B2BOneTap';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from './GlobalContextProvider';\nimport { useIsOnlyFloatingOneTap } from './hooks/useIsOnlyFloatingOneTap';\nimport { Action } from './reducer';\nimport { ConfirmationScreen } from './screens/Confirmation';\nimport { Discovery } from './screens/Discovery';\nimport { MainScreen } from './screens/Main';\nimport { MFAEnrollmentSelectionScreen } from './screens/MFAEnrollmentSelectionScreen';\nimport { RecoveryCodeEntryScreen } from './screens/RecoveryCodeEntryScreen';\nimport { RecoveryCodeSaveScreen } from './screens/RecoveryCodeSaveScreen';\nimport { SMSOTPEnrollScreen } from './screens/SMSOTPEnrollScreen';\nimport { SMSOTPEntryScreen } from './screens/SMSOTPEntryScreen';\nimport { TOTPEnrollManualScreen } from './screens/TOTPEnrollManualScreen';\nimport { TOTPEnrollQRScreen } from './screens/TOTPEnrollQRScreen';\nimport { TOTPEntryScreen } from './screens/TOTPEntryScreen';\nimport { AppScreens } from './types/AppScreens';\nimport { ErrorType } from './types/ErrorType';\nimport {\n getStytchEventByKey,\n onAuthenticateSuccess,\n onDiscoveryAuthenticateSuccess,\n StytchMutationKey,\n useExtractSlug,\n useProductComponents,\n} from './utils';\n\n/**\n * Separately store additional things to do when authenticateByUrl completes or errors\n */\ntype AuthTokenConfig = {\n mutationKey: StytchMutationKey;\n // Typing this is too hard. Instead, manually verify the typings from the client matches that expected\n // by these success functions\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onSuccess: (data: any, dispatch: Dispatch<Action>, config: StytchB2BExtendedLoginConfig) => void;\n defaultError?: ErrorType;\n};\n\nconst authTokenConfig: Record<HandledTokenType, AuthTokenConfig> = {\n discovery: {\n mutationKey: 'stytch.magicLinks.discovery.authenticate',\n onSuccess: onDiscoveryAuthenticateSuccess,\n defaultError: ErrorType.EmailMagicLink,\n },\n discovery_oauth: {\n mutationKey: 'stytch.oauth.discovery.authenticate',\n onSuccess: onDiscoveryAuthenticateSuccess,\n },\n oauth: {\n mutationKey: 'stytch.oauth.authenticate',\n onSuccess: onAuthenticateSuccess,\n },\n sso: {\n mutationKey: 'stytch.sso.authenticate',\n onSuccess: onAuthenticateSuccess,\n },\n multi_tenant_magic_links: {\n mutationKey: 'stytch.magicLinks.authenticate',\n onSuccess: onAuthenticateSuccess,\n defaultError: ErrorType.EmailMagicLink,\n },\n multi_tenant_impersonation: {\n mutationKey: 'stytch.impersonation.authenticate',\n onSuccess: onAuthenticateSuccess,\n },\n};\n\nconst errorTypeMap: Record<string, ErrorType> = {\n ad_blocker_detected: ErrorType.AdBlockerDetected,\n};\n\nconst AppContainer: () => ReactNode = () => {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const triggerError = useErrorCallback();\n const triggerEvent = useEventCallback();\n const config = useConfig();\n const { displayWatermark, theme, options } = usePresentation();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap();\n\n const currentScreen = state.screen;\n\n const screenComponentMap = useProductComponents(config, 'screens')!;\n\n const handleStytchAPIError = (error: StytchAPIError, defaultErrorType = ErrorType.Default) => {\n const error_type = extractErrorType(error);\n const errorType: ErrorType = errorTypeMap[error_type!] ?? defaultErrorType;\n\n dispatch({\n type: 'set_error_message_and_transition',\n errorType,\n canGoBack: false,\n });\n };\n\n const [isTokenAuthLoading, setIsTokenAuthLoading] = useState(false);\n const { mutate } = useSWRConfig();\n\n const { slug, resultPending } = useExtractSlug();\n\n useEffect(() => {\n // If we're in One Tap only mode, we should not run any other effects\n if (isOnlyFloatingOneTap) {\n return;\n }\n\n // Password reset has special handling for exchanging a magic link token\n // for a session and then using it to reset a password\n if (state.flowState.type == AuthFlowType.PasswordReset) {\n return;\n }\n\n const parsed = stytchClient.parseAuthenticateUrl();\n if (!parsed?.handled) {\n return;\n }\n\n const { mutationKey, defaultError, onSuccess } = authTokenConfig[parsed.tokenType];\n setIsTokenAuthLoading(true);\n mutate(\n mutationKey,\n stytchClient.authenticateByUrl({ session_duration_minutes: config.sessionOptions.sessionDurationMinutes }),\n )\n .then(\n (result) => {\n if (!result?.handled) return; // Should not be possible\n const { data } = result;\n\n const event = getStytchEventByKey(mutationKey);\n if (event) {\n triggerEvent({ type: event, data } as StytchEvent<StytchProjectConfigurationInput>);\n }\n\n onSuccess(data, dispatch, config);\n },\n (error) => {\n triggerError(error);\n handleStytchAPIError(error, defaultError);\n },\n )\n .finally(() => setIsTokenAuthLoading(false));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, []);\n\n useEffect(() => {\n // If we're in One Tap only mode, we should not run any other effects\n if (isOnlyFloatingOneTap) {\n return;\n }\n\n // Skip further action if token discovery is in progress\n if (isTokenAuthLoading) {\n return;\n }\n\n const parsed = stytchClient.parseAuthenticateUrl();\n if (parsed?.handled) {\n return;\n }\n\n if (\n !slug &&\n !resultPending &&\n state.flowState.organization === null &&\n state.screen === AppScreens.Main &&\n state.flowState.type == AuthFlowType.Organization\n ) {\n // No slug found (or no slug pattern)\n dispatch({\n type: 'set_error_message_and_transition',\n errorType: ErrorType.Organization,\n canGoBack: false,\n });\n }\n }, [\n dispatch,\n isOnlyFloatingOneTap,\n isTokenAuthLoading,\n resultPending,\n slug,\n state.flowState.organization,\n state.flowState.type,\n state.screen,\n stytchClient,\n triggerError,\n ]);\n\n if (isOnlyFloatingOneTap) {\n return <B2BGoogleOneTap />;\n }\n\n if (isTokenAuthLoading) {\n return (\n <MainContainer theme={theme} displayWatermark={false}>\n <LoggingInScreen />\n </MainContainer>\n );\n }\n\n let orgLogo;\n if (state.flowState.organization?.organization_logo_url) {\n const { organization_name, organization_logo_url } = state.flowState.organization;\n orgLogo = {\n url: organization_logo_url,\n alt: organization_name ?? '',\n };\n }\n\n const defaultScreenComponents: Partial<Record<AppScreens, ComponentType>> = {\n // Main is omitted from StytchB2BProduct since it's used by everything\n [AppScreens.Main]: MainScreen,\n [AppScreens.LoggedIn]: ConfirmationScreen,\n\n // Discovery can be opted into dynamically via stytch_redirect_type ResetPassword flow\n // so it cannot be statically shaken away\n [AppScreens.Discovery]: Discovery,\n [AppScreens.Error]: ErrorScreen,\n\n // MFA products are dynamically configured depending on organization and user choice,\n // and opted into by default\n [AppScreens.MFAEnrollmentSelection]: MFAEnrollmentSelectionScreen,\n [AppScreens.SMSOTPEnrollment]: SMSOTPEnrollScreen,\n [AppScreens.SMSOTPEntry]: SMSOTPEntryScreen,\n [AppScreens.RecoveryCodeEntry]: RecoveryCodeEntryScreen,\n [AppScreens.RecoveryCodeSave]: RecoveryCodeSaveScreen,\n [AppScreens.TOTPEnrollmentQRCode]: TOTPEnrollQRScreen,\n [AppScreens.TOTPEnrollmentManual]: TOTPEnrollManualScreen,\n [AppScreens.TOTPEntry]: TOTPEntryScreen,\n };\n\n const ScreenComponent = defaultScreenComponents[currentScreen] ?? screenComponentMap[currentScreen];\n\n return (\n <MainContainer theme={theme} displayWatermark={displayWatermark}>\n <Logo appLogo={options.logo} orgLogo={orgLogo} />\n <ScreenComponent />\n </MainContainer>\n );\n};\n\nexport default AppContainer;\n","import { AuthFlowType, RedirectURLType, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { OverrideProperties } from 'type-fest';\n\nimport { messages } from '../../messages/b2b/en';\nimport { B2BSDKConfig, StytchB2BExtendedLoginConfig } from '../../types';\nimport { readB2BInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { AppScreens } from './types/AppScreens';\nimport { AppState } from './types/AppState';\n\nexport type InternalSDKConfig<TProjectConfiguration extends StytchProjectConfigurationInput> = OverrideProperties<\n B2BSDKConfig<TProjectConfiguration>,\n { config: StytchB2BExtendedLoginConfig }\n>;\n\nexport const InternalAppContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n presentation,\n callbacks,\n config,\n strings,\n}: InternalSDKConfig<TProjectConfiguration>) => {\n /**\n * Read the watermark out of sync storage, then read it out of async storage\n */\n const [displayWatermark, setDisplayWatermark] = useState(() => {\n const { displayWatermark } = readB2BInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n\n useEffect(() => {\n readB2BInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2BInternals(client).networkClient.logEvent({\n name: 'render_b2b_login_screen',\n details: { options: config, bootstrap: data },\n });\n setDisplayWatermark(data.displayWatermark);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [client]);\n\n const getRedirectTypeFromUrl = () => {\n const url = new URL(window.location.href);\n const redirectType = url.searchParams.get('stytch_redirect_type');\n\n return redirectType;\n };\n\n const redirectType = getRedirectTypeFromUrl();\n const authFlowType =\n redirectType === RedirectURLType.ResetPassword ? AuthFlowType.PasswordReset : config.authFlowType;\n\n const initialState: AppState = {\n ...DEFAULT_STATE,\n screen: authFlowType === AuthFlowType.PasswordReset ? AppScreens.PasswordResetForm : AppScreens.Main,\n flowState: {\n ...DEFAULT_STATE.flowState,\n type: authFlowType,\n },\n };\n\n const configWithDefaults = useMemo(\n () => ({\n ...config,\n // While `sessionOptions` is required in the types, we still want to handle the error gracefully if it's not provided.\n // We set it to an empty object here so that future checks for `sessionOptions.sessionDurationMinutes` throw a `can't read property of undefined` error,\n // and instead throw an error regarding a missing `sessionDurationMinutes` error from the headless client.\n sessionOptions: config.sessionOptions ?? {},\n }),\n [config],\n );\n\n const presentationValue = usePresentationWithDefault(\n presentation,\n displayWatermark,\n configWithDefaults,\n 'B2BProduct',\n );\n\n return (\n <GlobalContextProvider\n client={client}\n callbacks={callbacks}\n config={configWithDefaults}\n initialState={initialState}\n >\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { Member } from '@stytch/core/public';\nimport { useSyncExternalStore } from 'react';\n\nimport { useStytch } from '../GlobalContextProvider';\n\n// useStytchMember is a very lightweight copy-pasta of the hook from stytch-react\n// If we end up calling this in several places, consider hoisting to global context\nexport const useStytchMember = (): Member | null => {\n const stytch = useStytch();\n return useSyncExternalStore(stytch.onStateChange, () => stytch.self.getSync());\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { NoCurrentSessionError } from '@stytch/core/public';\nimport React, { ReactNode, useEffect, useRef, useState } from 'react';\n\nimport { AuthTokenParams } from '../../../types';\nimport { OAuthAuthorizeParams, OAuthLogoutParams, parseIDPParams } from '../../../utils/idpHelpers';\nimport { ErrorDisplay } from '../../components/molecules/ErrorScreen';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport MainContainer from '../../components/molecules/MainContainer';\nimport { IDPConsent, useIDPState } from '../../components/organisms/IDPConsent';\nimport { useTrustedAuthTokenParams } from '../../components/organisms/IDPContextProvider';\nimport { IDPLogout, useLogoutState } from '../../components/organisms/IDPLogout';\nimport { usePresentation } from '../../components/PresentationConfig';\nimport { useErrorCallback, useEventCallback, useStytch } from '../GlobalContextProvider';\nimport { useStytchMember } from '../hooks/useStytchMember';\nimport { useBootstrap } from '../utils';\n\nconst IDPConsentScreenImpl = ({\n initialError,\n initialParams,\n}: {\n initialError: string | null;\n initialParams: OAuthAuthorizeParams;\n}) => {\n const stytchClient = useStytch();\n const onError = useErrorCallback();\n const onEvent = useEventCallback();\n const { oauthAuthorizeStart, oauthAuthorizeSubmit } = stytchClient.idp;\n\n // TODO: Consumer and B2B Bootstrap hooks should return same shape\n const bootstrap = useBootstrap();\n\n const idpConsentState = useIDPState({\n initialError,\n initialParams,\n oauthAuthorizeStart,\n oauthAuthorizeSubmit,\n onError,\n onEvent,\n });\n\n return <IDPConsent bootstrap={bootstrap} bootstrapNotLoaded={false} {...idpConsentState} />;\n};\n\nconst IDPLogoutScreenImpl = ({\n initialError,\n initialParams,\n navigate,\n}: {\n initialError: string | null;\n initialParams: OAuthLogoutParams;\n navigate?: (href: string) => void;\n}) => {\n const stytchClient = useStytch();\n const onError = useErrorCallback();\n const { oauthLogoutStart } = stytchClient.idp;\n const revokeSession = () => stytchClient.session.revoke({ forceClear: true });\n\n const bootstrap = useBootstrap();\n const idpLogoutState = useLogoutState({\n initialError,\n initialParams,\n oauthLogoutStart,\n revokeSession,\n onError,\n navigate,\n });\n\n return <IDPLogout {...idpLogoutState} bootstrap={bootstrap} bootstrapNotLoaded={false} />;\n};\n\nexport const IDPConsentScreen = ({\n searchParams = window.location.search,\n navigate,\n}: {\n searchParams?: string;\n navigate?: (href: string) => void;\n} = {}) => {\n // Preserve the URL Params seen on first render - even if they change later\n const [{ flow, error }] = useState(parseIDPParams(searchParams));\n const { theme, displayWatermark } = usePresentation();\n\n let content;\n if (flow.type === 'Authorize') {\n content = (\n <EnsureMemberIsLoggedIn>\n <IDPConsentScreenImpl initialError={error} initialParams={flow.params} />\n </EnsureMemberIsLoggedIn>\n );\n } else if (flow.type === 'Logout') {\n content = <IDPLogoutScreenImpl initialError={error} initialParams={flow.params} navigate={navigate} />;\n }\n\n return (\n <MainContainer theme={theme} displayWatermark={displayWatermark}>\n {content}\n </MainContainer>\n );\n};\n\nconst EnsureMemberIsLoggedIn = ({ children }: { children: ReactNode }) => {\n const { t } = useLingui();\n const member = useStytchMember();\n const onError = useErrorCallback();\n const onErrorRef = useRef(onError);\n useEffect(() => {\n onErrorRef.current = onError;\n }, [onError]);\n\n // if a trusted auth token is provided, attest it before rendering the consent screen\n const stytchClient = useStytch();\n const authParams = useTrustedAuthTokenParams();\n const [attesting, setAttesting] = useState(false);\n const [attested, setAttested] = useState(false);\n\n useEffect(() => {\n if (attesting || attested) return;\n\n const attestTrustedToken = async (authParams: AuthTokenParams | undefined): Promise<void> => {\n if (authParams?.trustedAuthToken && authParams?.tokenProfileID) {\n setAttesting(true);\n const token = authParams.trustedAuthToken;\n const profile_id = authParams.tokenProfileID;\n\n // revoke the current session before calling attest\n // store the member to refer to its organization_id later\n const member = stytchClient.self.getSync();\n if (member) {\n await stytchClient.session.revoke();\n }\n try {\n await stytchClient.session.attest({\n token,\n profile_id,\n organization_id: member?.organization_id,\n session_duration_minutes: 60,\n });\n } catch (error) {\n onErrorRef.current(error as Error);\n } finally {\n setAttesting(false);\n setAttested(true);\n }\n }\n // set this either way to short-circuit the useEffect below\n setAttested(true);\n };\n attestTrustedToken(authParams);\n }, [authParams, attesting, attested, stytchClient]);\n\n useEffect(() => {\n if (member) return;\n onErrorRef.current(new NoCurrentSessionError());\n }, [member]);\n\n if (attesting) {\n return <LoadingScreen />;\n } else if (member) {\n return children;\n } else {\n return (\n <ErrorDisplay\n text={t({\n id: 'idpConsent.noActiveSession',\n message: 'No active session detected. Please log in to continue.',\n })}\n />\n );\n }\n};\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect } from 'react';\n\nimport { messages } from '../../messages/b2b/en';\nimport { B2BIDPSDKConfig, B2BSDKConfig, DeprecatedSDKConfig, StytchB2BExtendedLoginConfig } from '../../types';\nimport { readB2BInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { IDPContextProvider } from '../components/organisms/IDPContextProvider';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport * as B2BProducts from './B2BProducts';\nimport { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { InternalAppContainer } from './InternalAppContainer';\nimport { IDPConsentScreen } from './screens/IDPConsent';\n\n/**\n * Wrapper to add default organizationProducts value. This is done to preserve the ability for a future\n * component that doesn't do this, allowing B2B products to be properly tree-shaken (which is also why this is currently\n * in a completely different file)\n */\nexport const AppContainer = ({\n config,\n styles,\n ...props\n}: B2BSDKConfig<StytchProjectConfigurationInput> & DeprecatedSDKConfig) => {\n RUN_IN_DEV(() => {\n if (styles) {\n logger.error(\n 'styles is deprecated and has no effect. Use the presentation prop instead.\\n' +\n 'See https://staging.stytch.com/docs/api-reference/b2b/frontend-sdks/react/upgrade-guide',\n );\n }\n });\n\n const internalConfig = {\n ...config,\n organizationProducts: Object.values(B2BProducts),\n };\n\n return <InternalAppContainer config={internalConfig} {...props}></InternalAppContainer>;\n};\n\nexport const B2BIDPContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n presentation,\n callbacks,\n strings,\n getIDPConsentManifest,\n trustedAuthTokenParams,\n styles,\n}: B2BIDPSDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const presentationValue = usePresentationWithDefault(presentation, false, { products: [] });\n\n useEffect(() => {\n readB2BInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2BInternals(client).networkClient.logEvent({\n name: 'render_b2b_idp_screen',\n details: { bootstrap: data },\n });\n });\n }, [client]);\n\n RUN_IN_DEV(() => {\n if (styles) {\n logger.error(\n 'styles is deprecated and has no effect. Use the presentation prop instead.\\n' +\n 'See https://staging.stytch.com/docs/api-reference/b2b/frontend-sdks/react/upgrade-guide',\n );\n }\n });\n\n return (\n <GlobalContextProvider\n client={client}\n config={{} as StytchB2BExtendedLoginConfig}\n callbacks={callbacks}\n initialState={DEFAULT_STATE}\n >\n <IDPContextProvider consentManifestGenerator={getIDPConsentManifest} authTokenParams={trustedAuthTokenParams}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <IDPConsentScreen />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </IDPContextProvider>\n </GlobalContextProvider>\n );\n};\n","import { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport { injectCssIntoNode, injectGlobalStyle } from '@stytch/internal-style-injector';\nimport React, { ComponentType, useLayoutEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { StytchB2BClient } from '../../../b2b/StytchB2BClient';\nimport { PresentationConfig, StytchB2BUIConfig } from '../../../types';\nimport { useIsMounted__INTERNAL, useStytchB2BClient } from '../b2b/StytchB2BContext';\nimport { noProviderError, serverRenderError } from '../utils/errors';\nimport { invariant } from '../utils/invariant';\n\n// Mirrors createB2CComponent and createWebComponent\nexport function createB2BComponent<\n Props extends {\n client: StytchB2BClient<TProjectConfiguration>;\n config?: StytchB2BUIConfig;\n presentation?: PresentationConfig;\n },\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>(name: string, Component: ComponentType<Props>) {\n const Wrapped: ComponentType<Omit<Props, 'client'>> = (props) => {\n serverRenderError(name);\n invariant(useIsMounted__INTERNAL(), noProviderError(`<${name} />`));\n\n const client = useStytchB2BClient<TProjectConfiguration>();\n\n const shadow = props.presentation?.options?.enableShadowDOM ?? props.config?.enableShadowDOM;\n const root = useRef<HTMLDivElement>(null);\n const [mountPoint, setMountPoint] = useState<HTMLDivElement>();\n\n useLayoutEffect(() => {\n if (shadow) {\n if (!root.current || root.current.shadowRoot) return;\n const shadowRoot = root.current.attachShadow({ mode: 'open' });\n const mountPoint = document.createElement('div');\n\n shadowRoot.appendChild(injectCssIntoNode());\n shadowRoot.appendChild(mountPoint);\n\n setMountPoint(mountPoint);\n } else {\n injectGlobalStyle();\n }\n }, [shadow]);\n\n const element = <Component {...(props as Props)} client={client} />;\n if (shadow) {\n return <div ref={root}>{mountPoint && createPortal(element, mountPoint)}</div>;\n } else {\n return element;\n }\n };\n\n Wrapped.displayName = name;\n return Wrapped;\n}\n","import { AuthTokenParams, B2BIDPConsentManifestGenerator } from '../../../types';\nimport { B2BIDPContainer } from '../../b2b/App';\nimport { createB2BComponent } from '../bindings/createB2BComponent';\nimport { StytchB2BProps } from './Stytch';\n\nexport type B2BIdentityProviderProps = Omit<StytchB2BProps, 'config'> & {\n /**\n * Optional {@link B2BIDPConsentManifestGenerator} to customize the consent screen.\n */\n getIDPConsentManifest?: B2BIDPConsentManifestGenerator;\n /**\n * Optional trusted auth token parameters to attest before the OAuth flow.\n */\n trustedAuthTokenParams?: AuthTokenParams;\n};\n\n/**\n * The Stytch B2B IDP component.\n * Parses OAuth Authorization params (client_id, scope, nonce, etc.) out of the page URL.\n * Requires the user to be logged in.\n * This component can only be used with a Stytch B2B UI Client\n * passed into the StytchB2BProvider.\n *\n * See the {@link https://stytch.com/docs/b2b/sdks online reference}\n *\n * @example\n * <B2BIdentityProvider\n * presentation={{\n * theme: { primary: '#ff00f7' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const B2BIdentityProvider = /* @__PURE__ */ createB2BComponent('B2BIdentityProvider', B2BIDPContainer);\n","import { Callbacks, StringsOptions, StytchProjectConfigurationInput } from '@stytch/core/public';\n\nimport { PresentationConfig, StytchB2BUIConfig } from '../../../types';\nimport { AppContainer } from '../../b2b/App';\nimport { createB2BComponent } from '../bindings/createB2BComponent';\n\nexport interface StytchB2BProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> extends StringsOptions {\n /**\n * An optional {@link PresentationConfig} to customize the UI presentation.\n */\n presentation?: PresentationConfig;\n /**\n * An optional {@link Callbacks} object.\n *\n * @example\n * {\n * onError: ({message}) => {\n * console.error('Stytch error', message)\n * }\n * }\n *\n * @example\n * {\n * onEvent: ({type, data}) => {\n * if(type === StytchEventType.B2BMagicLinkAuthenticate) {\n * console.log('Logged in with', data);\n * }\n * }\n * }\n */\n callbacks?: Callbacks<TProjectConfiguration>;\n /**\n * A {@link StytchB2BUIConfig} object. Add products and product-specific config to this object to change the login methods shown.\n *\n *\n * @example\n * {\n * products: [B2BProducts.emailMagicLinks],\n * authFlowType: \"Discovery\",\n * emailMagicLinksOptions: {\n * discoveryRedirectURL: 'https://example.com/authenticate',\n * },\n * sessionOptions: {\n * sessionDurationMinutes: 60,\n * },\n * }\n *\n * @example\n * {\n * products: [B2BProducts.emailMagicLinks, B2BProducts.sso],\n * authFlowType: \"Organization\",\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * ssoOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * sessionOptions: {\n * sessionDurationMinutes: 60,\n * },\n * }\n */\n config: StytchB2BUIConfig;\n}\n\n/**\n * The Stytch B2B UI component.\n * This component can only be used with a Stytch B2B UI Client\n * passed into the StytchB2BProvider.\n *\n * See the {@link https://stytch.com/docs/b2b/sdks online reference}\n *\n * @example\n * <StytchB2B\n * config={{\n * authFlowType: \"Organization\",\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * ssoOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * sessionOptions: {\n * sessionDurationMinutes: 60,\n * }\n * }}\n * presentation={{\n * theme: { primary: '#0577CA' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchB2B = /* @__PURE__ */ createB2BComponent('StytchB2B', AppContainer);\n","'use client';\n\nimport type { Member, MemberSession, Organization, StytchProjectConfigurationInput } from '@stytch/web/b2b';\nimport { StytchB2BClient } from '@stytch/web/b2b/headless';\nimport React, { ComponentType, ReactNode } from 'react';\n\nexport { useStytchB2BClient, withStytchB2BClient, withStytchPermissions } from '@stytch/web/react/b2b';\n\nimport {\n StytchB2BProvider as StytchB2BProviderShared,\n useStytchIsAuthorized as useStytchIsAuthorizedShared,\n useStytchMember as useStytchMemberShared,\n useStytchMemberSession as useStytchMemberSessionShared,\n useStytchOrganization as useStytchOrganizationShared,\n withStytchMember as withStytchMemberShared,\n withStytchMemberSession as withStytchMemberSessionShared,\n withStytchOrganization as withStytchOrganizationShared,\n} from '@stytch/web/react/b2b';\n\n/**\n * Returns the active Member.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the member data is from persistent storage.\n * @example\n * const {member, isInitialized, fromCache} = useStytchMember();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return (<h1>Welcome, {member.name}</h1>);\n */\nexport const useStytchMember = useStytchMemberShared as <TAssumeHydrated extends boolean = true>() => ReturnType<\n typeof useStytchMemberShared<TAssumeHydrated>\n>;\n\n/**\n * Returns the active member's Stytch member session.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the session data is from persistent storage.\n * @example\n * const {session, isInitialized, fromCache} = useStytchMemberSession();\n * useEffect(() => {\n * if (!isInitialized) {\n * return;\n * }\n * if (!session) {\n * router.replace('/login');\n * }\n * }, [session, isInitialized]);\n */\nexport const useStytchMemberSession = useStytchMemberSessionShared as <\n TAssumeHydrated extends boolean = true,\n>() => ReturnType<typeof useStytchMemberSessionShared<TAssumeHydrated>>;\n\n/**\n * Returns the active Stytch organization.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the organization data is from persistent storage.\n * @example\n * const {organization, isInitialized, fromCache} = useStytchOrganization();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return <p>Welcome to {organization.organization_name}</p>;\n */\nexport const useStytchOrganization = useStytchOrganizationShared as <\n TAssumeHydrated extends boolean = true,\n>() => ReturnType<typeof useStytchOrganizationShared<TAssumeHydrated>>;\n\n/**\n * Determines whether the logged-in member is allowed to perform the specified action on the specified resource.\n * Returns `true` if the member can perform the action, `false` otherwise.\n *\n * If the member is not logged in, this method will always return false.\n * If the resource or action provided are not valid for the configured RBAC policy, this method will return false.\n *\n * Remember - authorization checks for sensitive actions should always occur on the backend as well.\n * @example\n * const { isAuthorized } = useStytchIsAuthorized('documents', 'edit');\n * return <button disabled={!isAuthorized}>Edit</button>\n */\nexport const useStytchIsAuthorized = useStytchIsAuthorizedShared as <TAssumeHydrated extends boolean = false>(\n resourceId: string,\n action: string,\n) => ReturnType<typeof useStytchIsAuthorizedShared<TAssumeHydrated>>;\n\nexport const withStytchMember = withStytchMemberShared as <T extends object, TAssumeHydrated extends boolean = false>(\n Component: ComponentType<\n T & { stytchMember: Member | null; stytchMemberIsInitialized: boolean; stytchMemberIsFromCache: boolean }\n >,\n) => ReturnType<typeof withStytchMemberShared<T, TAssumeHydrated>>;\n\nexport const withStytchMemberSession = withStytchMemberSessionShared as <\n T extends object,\n TAssumeHydrated extends boolean = false,\n>(\n Component: ComponentType<\n T & {\n stytchMemberSession: MemberSession | null;\n stytchMemberSessionIsInitialized: boolean;\n stytchMemberSessionIsFromCache: boolean;\n }\n >,\n) => ReturnType<typeof withStytchMemberSessionShared<T, TAssumeHydrated>>;\n\nexport const withStytchOrganization = withStytchOrganizationShared as <\n T extends object,\n TAssumeHydrated extends boolean = false,\n>(\n Component: ComponentType<\n T & {\n stytchOrganization: Organization | null;\n stytchOrganizationIsInitialized: boolean;\n stytchOrganizationIsFromCache: boolean;\n }\n >,\n) => ReturnType<typeof withStytchOrganizationShared<T, TAssumeHydrated>>;\n\nexport interface StytchB2BProviderProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n /**\n * A Stytch client instance, a {@link StytchB2BClient}\n */\n stytch: StytchB2BClient<TProjectConfiguration>;\n /**\n * When true, the provider will assume that the component will only be\n * rendered in a browser environment, either in a single-page application or\n * after completing hydration of a server-rendered application. This allows\n * cached values to be retrieved from the browser on the first render, meaning\n * that the `isInitialized` value returned from Stytch hooks will be `true`\n * starting from the first render.\n *\n * When `false`, the provider will defer initialization until after the first\n * render, and `isInitialized` will initially be `false`.\n *\n * If you encounter hydration errors relating to the use of this component,\n * set this to `false`.\n *\n * This value defaults to `true` in `@stytch/react`.\n */\n assumeHydrated?: boolean;\n children?: ReactNode;\n}\n\n/**\n * The Stytch Context Provider.\n * Wrap your application with this component in order to use Stytch everywhere in your app.\n * @example\n * const stytch = createStytchB2BClient('public-token-<find yours in the stytch dashboard>')\n *\n * ReactDOM.render(\n * <StytchB2BProvider stytch={stytch}>\n * <App />\n * </StytchProvider>,\n * document.getElementById('root'),\n * )\n */\nexport const StytchB2BProvider = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>({\n stytch,\n children,\n assumeHydrated = true,\n}: StytchB2BProviderProps<TProjectConfiguration>): JSX.Element => (\n <StytchB2BProviderShared stytch={stytch} assumeHydrated={assumeHydrated}>\n {children}\n </StytchB2BProviderShared>\n);\n","import { createStytchB2BClient } from '@stytch/web/b2b/headless';\n\n/**\n * @deprecated - use {@link createStytchB2BClient} instead\n */\nexport const createStytchB2BUIClient = createStytchB2BClient;\n\nexport type { StytchB2BProviderProps } from './StytchB2BContext';\nexport {\n StytchB2BProvider,\n useStytchB2BClient,\n useStytchIsAuthorized,\n useStytchMember,\n useStytchMemberSession,\n useStytchOrganization,\n withStytchB2BClient,\n withStytchMember,\n withStytchMemberSession,\n withStytchOrganization,\n withStytchPermissions,\n} from './StytchB2BContext';\nexport type {\n B2BIDPConsentManifestGenerator,\n B2BIDPSDKConfig,\n B2BSDKConfig,\n Strings,\n StytchB2BUIConfig,\n} from '@stytch/web/b2b';\nexport { B2BProducts } from '@stytch/web/b2b';\nexport * from '@stytch/web/b2b/headless';\nexport * from '@stytch/web/common';\nexport type { B2BIdentityProviderProps, StytchB2BProps } from '@stytch/web/react/b2b';\nexport { B2BIdentityProvider, StytchB2B } from '@stytch/web/react/b2b';\n"],"names":["SSOIcon","size","DEFAULT_ICON_SIZE","props","React","svg","width","height","viewBox","xmlns","g","clipPath","path","d","fill","stroke","strokeWidth","defs","id","rect","transform","HubspotIcon","fillRule","clipRule","OktaIcon","className","_styles","darkInvert","messages","_messages","getParamsFromB2BOAuthProviderConfig","provider","providerType","oneTap","customScopes","providerParams","cancelOnTapOutside","undefined","type","B2BOAuthProviders","Google","one_tap","cancel_on_tap_outside","useSWRConfig","useRef","useStateWithDeps","UNDEFINED","useCallback","serialize","mergeObjects","getTimestamp","useIsomorphicLayoutEffect","withMiddleware","useSWR","KeyToStytchEventMap","StytchEventType","B2BMagicLinkAuthenticate","B2BSSOAuthenticate","B2BSSODiscoverConnections","B2BMagicLinkDiscoveryAuthenticate","B2BDiscoveryOrganizationsCreate","B2BDiscoveryIntermediateSessionExchange","B2BMagicLinkEmailLoginOrSignup","B2BMagicLinkEmailDiscoverySend","B2BOAuthAuthenticate","B2BOAuthDiscoveryAuthenticate","B2BSMSOTPSend","B2BSMSOTPAuthenticate","B2BTOTPCreate","B2BTOTPAuthenticate","B2BRecoveryCodesRecover","B2BImpersonationAuthenticate","B2BOTPsEmailAuthenticate","B2BOTPsEmailDiscoveryAuthenticate","B2BOTPsEmailDiscoverySend","B2BOTPsEmailLoginOrSignup","B2BOrganizationsGetBySlug","getStytchEventByKey","key","useMutate","fetcher","options","onEvent","useEventCallback","onError","useErrorCallback","result","useSWRMutation","throwOnError","onSuccess","data","config","eventType","error","isMutating","useExtractSlug","state","dispatch","useGlobalReducer","pattern","setPattern","useState","useConfig","stytchClient","useStytch","slug","organizationSlug","extractFromPattern","window","location","href","trigger","isSearching","_","arg","organization","getBySlug","organization_slug","errorType","ErrorType","Organization","canGoBack","useEffect","readB2BInternals","bootstrap","getAsync","then","slugPattern","flowState","screen","AppScreens","Main","AuthFlowType","resultPending","useBootstrap","setBootstrap","getSync","onAuthenticateSuccess","response","includedMfaMethods","mfaProductInclude","onDiscoveryAuthenticateSuccess","email","email_address","discoveredOrganizations","discovered_organizations","url","URL","search","currentUrl","toString","trim","regexPattern","replace","regex","RegExp","match","hasProduct","products","product","some","p","useProductComponents","organizationProducts","screenType","useMemo","map","Object","assign","useIsOnlyFloatingOneTap","isOnlyFloatingOneTap","oauthProvider","oauthOptions","providers","isGoogleOneTap","length","useLastUsedAuthMethod","stytch","publicToken","lastUsedMethod","safeLocalStorage","getItem","setLastUsedMethod","method","setItem","providerInfo","messageDescriptor","Microsoft","HubSpot","Slack","GitHub","OAuthB2BButton","loginRedirectUrl","signupRedirectUrl","discoveryRedirectUrl","useLingui","presentation","usePresentation","iconRegistry","getButtonId","label","icon","Icon","onButtonClick","providerClient","oauth","start","login_redirect_url","signup_redirect_url","custom_scopes","organization_id","provider_params","discovery","discovery_redirect_url","Button","onClick","variant","B2BGoogleOneTap","oneTapError","setOneTapError","isUnmounted","useIsUnmounted","attemptToLoadOneTap","clientResult","createOneTapClient","success","reason","OneTapErrors","NoConfiguredOAuthClient","DefaultProviderNotAllowed","logger","client","current","oneTapCallback","createOnSuccessHandler","organizationId","signupRedirectURL","loginRedirectURL","redirectOnSuccess","Error","createOnDiscoverySuccessHandler","discoveryRedirectURL","renderResult","render","callback","style","position","OneTapPositions","floating","cancel","OriginNotAllowedForClient","InvalidOAuthClient","$client","catch","err","fallbackButton","fallbackWithLastUsed","LastUsed","DEV","ErrorMessages","oauthIcons","google","GoogleIcon","microsoft","MicrosoftIcon","hubspot","slack","SlackIcon","github","GithubIcon","ssoIcons","okta","emailIcons","gmail","GmailIcon","outlook","OutlookIcon","yahoo","YahooIcon","iconMap","SSOButton","connection","onStart","ssoOptions","connection_id","display_name","identity_provider","sso","iconName","useEmlDiscoverySend","magicLinks","send","emailMagicLinksOptions","login_template_id","loginTemplateId","locale","EmailConfirmation","useEmlLoginOrSignup","loginOrSignup","signup_template_id","signupTemplateId","e","useEmailDomain","emailDomains","setEmailDomains","domainHint","emailDomain","countdown","useCountdown","sendLoginOrSignupEml","isSendingLoginOrSignupEml","sendDiscoveryEml","isSendingDiscoveryEml","formState","emailState","userSuppliedEmail","goBack","resend","Discovery","isSubmitting","EmailConfirmationView","UsePasswordButton","handleUsePassword","productsToAuthMethods","emailMagicLinks","emailOtp","passwords","oauthProvidersToAuthMethods","authMethodsToProducts","fromEntries","entries","authMethod","oauthMethodsToOauthProviders","authMethodToProduct","allOauthProviders","values","flattenConfigToAuthMethods","oauthProviders","flatMap","filter","isTruthy","useOAuthProviderConfigs","useRestrictedAuthMethods","primaryAuthMethods","primary","hasPrimaryAuthMethods","restrictedAuthMethods","Set","auth_methods","allowed_auth_methods","useEffectiveAuthConfig","oauthProviderConfigs","flattenedConfiguredAuthMethods","authMethodsToShow","restrictedAuthMethodsInUiConfig","has","productIds","productId","find","oauthProviderSettings","DEFAULT_OTP_EXPIRATION_MS","getOtpCodeExpiration","Date","now","useEmailOtpDiscoverySend","_key","otps","emailOtpOptions","codeExpiration","useEmailOtpLoginOrSignup","JIT_PROVISIONING_ERRORS","useParseErrorMessage","org","organizationName","includes","error_type","getTranslatedError","EmailForm","showPasswordButton","emailInput","setEmailInput","passwordState","parseErrorMessage","enableEml","enableOtp","providedEmail","stytchEmlLoginOrSignup","emlError","emlIsMutating","stytchOtpLoginOrSignup","otpError","otpIsMutating","handleSubmit","preventDefault","EmailMethodSelection","history","Column","gap","loading","disabled","as","onSubmit","EmailInput","setEmail","hideLabel","organization_name","EmailDiscoveryForm","stytchEmlDiscoverySend","stytchOtpDiscoverySend","EmailMethodSelectionScreen","sendDiscoveryEmlError","reset","resetSendDiscoveryEml","sendDiscoveryOtp","isSendingDiscoveryOtp","sendDiscoveryOtpError","resetSendDiscoveryOtp","sendLoginOrSignupEmlError","resetSendLoginOrSignupEml","sendLoginOrSignupOtp","isSendingLoginOrSignupOtp","sendLoginOrSignupOtpError","resetSendLoginOrSignupOtp","isSending","handleChooseMethod","displayOptions","option","handleBack","Typography","ButtonColumn","ErrorText","EmailOTPEntryScreen","otpState","resendCountdown","emailOtpDiscovery","sendError","discoveryAuthenticate","otp","authenticate","code","emailAddress","sessionDurationMinutes","session_duration_minutes","isAuthenticatingAny","errorMessage","resetAll","resp","sessionOptions","clear","handleResendOTP","SentOTPEntry","expiration","getTime","formattedDestination","LoadingScreen","ResendOTPButton","resendOTP","usePasswordInput","password","setPassword","setErrorMessage","setIsSubmitting","submitPassword","DEFAULT_SESSION_DURATION_MINUTES","passwordOptions","B2BPasswordAuthenticate","submitDiscoveryPassword","B2BPasswordDiscoveryAuthenticate","emailEligibleForJITProvisioning","email_jit_provisioning","email_allowed_domains","split","pop","handleNonMemberReset","dataLayer","resetPasswordRedirectURL","PasswordResetVerifyConfirmation","PasswordsAuthenticate","EMAIL_REGEX","onGetHelp","PasswordForgotForm","PasswordInput","PasswordsEmailForm","hideInput","setHideInput","searchManager","searchMember","member","PasswordsForgotForm","resetByEmailStart","reset_password_redirect_url","reset_password_expiration_minutes","resetPasswordExpirationMinutes","reset_password_template_id","resetPasswordTemplateId","verify_email_template_id","verifyEmailTemplateId","B2BPasswordResetByEmailStart","PasswordSetNewConfirmation","PasswordResetConfirmation","EmailActionLayout","header","description","Trans","message","components","bold","b","additionalActions","EmailProviderLink","emailProviderInfo","PasswordResetForm","useB2BBootstrap","resetToken","resetTokenType","parsed","parseAuthenticateUrl","token","tokenType","passwordError","setPasswordError","policy","updateStrengthCheck","debounce","strengthCheck","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","magic_links_token","clearStytchTokenParams","onPasswordChange","resetByEmail","password_reset_token","B2BPasswordResetByEmail","B2BDiscoveryPasswordReset","resetBySession","B2BPasswordResetBySession","LoggedIn","passwordInputProps","getNewPasswordProps","noop","PasswordError","PasswordSetNew","resendResetPassword","B2BPasswordDiscoveryResetStart","assertUnreachable","getSsoMethodKey","extractConnectionId","startsWith","slice","getButtonKey","button","getCustomScopesForProvider","oauthOptionsCustomScopes","currentCustomScopes","keys","getProviderParamsForProvider","oauthOptionsProviderParams","currentProviderParams","login_hint","SsoAndOAuthButtons","buttons","isDiscoveryFlow","authButtons","MainScreenComponent","OAuthButtons","SSOButtons","sso_active_connections","reorderedButtons","foundLastUsedOAuth","arrayUtils","moveToFront","createOAuthButton","providerProps","index","buttonComponent","SSODiscoveryEmail","useSsoDiscoveryConnection","discoverConnections","setError","isLoading","setIsLoading","tryGetConnections","connections","extractErrorMessage","SSODiscoveryFallback","setSlug","lookupOrganization","handleTryAnotherMethod","Input","value","onChange","target","placeholder","availableConnections","lastUsedSso","foundLastUsed","SSODiscoveryMenu","ssoDiscoveryState","EmailFormWithoutPassword","EmailFormWithPassword","EmailDiscoveryFormWithoutPassword","EmailDiscoveryFormWithPassword","screens","mainScreen","PasswordEmailCombined","PasswordEmailCombinedDiscovery","icons","EmailOTPEntry","ssoAndOAuthButtons","PasswordEmailForm","PasswordAuthenticate","ConfirmationScreen","useMountEffect","AuthenticateFlowComplete","Confirmation","Arrow","styles","arrow","OrganizationRow","action","organization_logo_url","logo","img","src","alt","div","role","Array","from","classNames","organizationRow","hoverTriggerClass","buttonClassNames","left","nameText","VerticalTransition","rootClassName","right","rightContent","Badge","secondary","isJoinViaJitType","DiscoverNoOrganizations","createOrganizationEnabled","stytchCreateOrganization","isCreateLoading","organizations","create","OrganizationDiscoveryClaimedDomain","Default","shouldAutomaticallyCreateOrganization","directCreateOrganizationForNoMembership","discoveryState","disableCreateOrganization","shouldAllowDirectLoginToOrganization","status","activeOrganizations","membership","hasBlockingConditions","ignoreInvites","ignoreJitProvisioning","shouldDirectLoginConfigEnabled","directLoginForSingleMembership","isExchangeInProgress","directLoginOrganization","handleDiscoveryOrganizationStart","discoveredOrganization","primary_required","allowedAuthMethods","sso_default_connection_id","startSso","stytchDiscoveryExchange","connectionId","intermediateSessions","exchange","LoggingInScreen","organizationButtons","createOrganizationButton","goBackButton","top","bottom","isButtonsComponent","component","generateProductComponentsOrdering","flowStateType","productsSet","displayEmailAndPasswordsTogether","emailPasswordCombinedComponent","productComponentsSet","reduce","add","isSsoValid","groups","i","arr","prevComponent","shouldJoinPreviousGroup","push","prevGroup","Divider","isButtonGroup","group","every","MainScreen","emailVerified","productComponentsOrdering","mainScreenComponents","title","PasswordReset","showVerifyEmailCopy","hideHeaderText","align","Component","mfaOptions","B2BMFAProducts","totp","TOTPEnrollmentQRCode","smsOtp","SMSOTPEnrollment","MFAEnrollmentSelectionScreen","mfaProductOrder","organizationMfaOptionsSupported","mfa","primaryInfo","handleNavigate","optionsToDisplay","getEnabledMethods","allMethods","B2B_MFA_METHODS","orgSupportedMethods","uiIncludedMethods","delete","RecoveryCodeEntryScreen","memberId","recoveryCode","recoveryCodes","recover","recovery_code","member_id","setRecoveryCode","input","required","autoComplete","spellCheck","CodeContainer","children","container","RecoveryCodeSaveScreen","enrollment","handleContinue","fileContent","newline","navigator","platform","blob","Blob","join","createObjectURL","filename","copied","setCopied","useTimedBoolean","handleCodesCopy","clipboard","writeText","errorToast","maxCodeLength","Math","max","TextColumn","body","font","ul","codes","li","ButtonAnchor","download","triggered","DEFAULT_COUNTRY_CODE","InvalidPhoneNumberError","StytchSDKError","SMSOTPEnrollScreen","smsOtpOptions","enrolledNumber","countryCode","setCountryCode","phoneNumber","setPhoneNumber","parsePhoneNumber","getExampleNumber","getPhoneNumberProps","clientsideServices","sendSms","parsedNumber","sms","mfa_phone_number","formattedPhoneNumber","COUNTRIES_LIST","formatNumberToIncludeCountryCode","country","isValid","number","PhoneInput","setCountry","phone","setPhone","SMSOTPEntryScreen","isEnrolling","enrolledMfaMethods","memberPhoneNumber","isAuthenticating","authenticateError","shouldCreate","handleFormatNumber","parsedPhoneNumber","national","formatNumber","isTotpAvailable","enrolledMethod","handleSwitchToTotp","TOTPEntry","resendButton","switchToTotpButton","backButton","CHUNK_SIZE","TOTPEnrollManualScreen","secret","displaySecret","toLowerCase","secretChunked","Boolean","codeRef","columnCount","useColumnCount","handleCodeCopy","selection","getSelection","empty","range","document","createRange","selectNodeContents","addRange","codeContainer","ref","part","span","chunksCount","setColumnCount","useLayoutEffect","updateRowCount","containerWidth","clientWidth","spanWidth","querySelectorAll","elem","fittedColumns","floor","fittedColumnsWithGaps","rows","ceil","evenColumns","ResizeObserver","observer","observe","disconnect","TOTPEnrollQRScreen","createError","isCreating","createTotp","handleShowManualCode","qrCode","qr","TOTPEntryScreen","isSmsOtpAvailable","handleSwitchToRecoveryCode","RecoveryCodeEntry","handleSwitchToSms","SMSOTPEntry","OTPEntry","instruction","helperContent","authTokenConfig","mutationKey","defaultError","EmailMagicLink","discovery_oauth","multi_tenant_magic_links","multi_tenant_impersonation","errorTypeMap","ad_blocker_detected","AdBlockerDetected","AppContainer","triggerError","triggerEvent","displayWatermark","theme","currentScreen","screenComponentMap","handleStytchAPIError","defaultErrorType","extractErrorType","isTokenAuthLoading","setIsTokenAuthLoading","mutate","handled","authenticateByUrl","event","finally","MainContainer","orgLogo","defaultScreenComponents","ErrorScreen","MFAEnrollmentSelection","RecoveryCodeSave","TOTPEnrollmentManual","ScreenComponent","Logo","appLogo","InternalAppContainer","callbacks","strings","setDisplayWatermark","networkClient","logEvent","name","details","getRedirectTypeFromUrl","redirectType","searchParams","get","authFlowType","RedirectURLType","ResetPassword","initialState","DEFAULT_STATE","configWithDefaults","presentationValue","usePresentationWithDefault","GlobalContextProvider","PresentationContext","Provider","I18nProviderWrapper","overrides","Container","useStytchMember","useSyncExternalStore","onStateChange","self","IDPConsentScreenImpl","initialError","initialParams","oauthAuthorizeStart","oauthAuthorizeSubmit","idp","idpConsentState","useIDPState","IDPConsent","bootstrapNotLoaded","IDPLogoutScreenImpl","navigate","oauthLogoutStart","revokeSession","session","revoke","forceClear","idpLogoutState","useLogoutState","IDPLogout","IDPConsentScreen","flow","parseIDPParams","content","EnsureMemberIsLoggedIn","params","onErrorRef","authParams","useTrustedAuthTokenParams","attesting","setAttesting","attested","setAttested","attestTrustedToken","trustedAuthToken","tokenProfileID","profile_id","attest","NoCurrentSessionError","ErrorDisplay","text","RUN_IN_DEV","internalConfig","B2BProducts","B2BIDPContainer","getIDPConsentManifest","trustedAuthTokenParams","IDPContextProvider","consentManifestGenerator","authTokenParams","createB2BComponent","Wrapped","serverRenderError","invariant","useIsMounted__INTERNAL","noProviderError","useStytchB2BClient","shadow","enableShadowDOM","root","mountPoint","setMountPoint","shadowRoot","attachShadow","mode","createElement","appendChild","injectCssIntoNode","injectGlobalStyle","element","createPortal","displayName","B2BIdentityProvider","StytchB2B","useStytchMemberShared","useStytchMemberSession","useStytchMemberSessionShared","useStytchOrganization","useStytchOrganizationShared","useStytchIsAuthorized","useStytchIsAuthorizedShared","withStytchMember","withStytchMemberShared","withStytchMemberSession","withStytchMemberSessionShared","withStytchOrganization","withStytchOrganizationShared","StytchB2BProvider","assumeHydrated","StytchB2BProviderShared","createStytchB2BUIClient","createStytchB2BClient"],"mappings":"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","x_google_ignoreList":[5]}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../web/src/assets/sso.tsx","../../../../web/src/assets/logo-color/Hubspot.tsx","../../../../web/src/assets/logo-color/Okta.tsx","../../../../web/src/messages/b2b/en.ts","../../../../web/src/utils/oauthProviderType.ts","../../../../../node_modules/swr/mutation/dist/index.mjs","../../../../web/src/ui/b2b/utils.ts","../../../../web/src/ui/b2b/hooks/useIsOnlyFloatingOneTap.ts","../../../../web/src/ui/b2b/hooks/useLastUsedAuthMethod.ts","../../../../web/src/ui/b2b/components/OAuthB2BButton.tsx","../../../../web/src/ui/b2b/components/B2BOneTap.tsx","../../../../web/src/ui/b2b/components/Icons.ts","../../../../web/src/ui/b2b/components/SSOButton.tsx","../../../../web/src/ui/b2b/hooks/useEmlDiscoverySend.ts","../../../../web/src/ui/b2b/hooks/useEmlLoginOrSignup.ts","../../../../web/src/ui/b2b/screens/useEmailDomain.ts","../../../../web/src/ui/b2b/screens/EmailConfirmation.tsx","../../../../web/src/ui/b2b/components/UsePasswordButton.tsx","../../../../web/src/ui/b2b/hooks/useEffectiveAuthConfig.ts","../../../../web/src/ui/b2b/getOtpCodeExpiration.ts","../../../../web/src/ui/b2b/hooks/useEmailOtpDiscoverySend.ts","../../../../web/src/ui/b2b/hooks/useEmailOtpLoginOrSignup.ts","../../../../web/src/ui/b2b/screens/EmailForm.tsx","../../../../web/src/ui/b2b/screens/EmailMethodSelectionScreen.tsx","../../../../web/src/ui/b2b/screens/EmailOTPEntryScreen.tsx","../../../../web/src/ui/b2b/usePasswordInput.ts","../../../../web/src/ui/b2b/screens/PasswordAuthenticate.tsx","../../../../web/src/ui/b2b/screens/PasswordEmailForm.tsx","../../../../web/src/ui/b2b/screens/PasswordForgotForm.tsx","../../../../web/src/ui/b2b/screens/PasswordResetConfirmation.tsx","../../../../web/src/ui/b2b/screens/PasswordResetForm.tsx","../../../../web/src/ui/b2b/screens/PasswordSetNew.tsx","../../../../web/src/utils/assertUnreachable.ts","../../../../web/src/ui/b2b/types/authMethodKeys.ts","../../../../web/src/ui/b2b/screens/SsoAndOAuthButtons.tsx","../../../../web/src/ui/b2b/hooks/useSsoDiscoveryConnection.ts","../../../../web/src/ui/b2b/screens/SSODiscoveryEmail.tsx","../../../../web/src/ui/b2b/screens/SSODiscoveryFallback.tsx","../../../../web/src/ui/b2b/screens/SSODiscoveryMenu.tsx","../../../../web/src/ui/b2b/B2BProducts.tsx","../../../../web/src/ui/b2b/screens/Confirmation.tsx","../../../../web/src/ui/b2b/components/OrganizationRow.tsx","../../../../web/src/ui/b2b/screens/Discovery.tsx","../../../../web/src/ui/b2b/generateProductComponentsOrdering.ts","../../../../web/src/ui/b2b/screens/Main.tsx","../../../../web/src/ui/b2b/screens/MFAEnrollmentSelectionScreen.tsx","../../../../web/src/ui/b2b/screens/RecoveryCodeEntryScreen.tsx","../../../../web/src/ui/components/atoms/CodeContainer.tsx","../../../../web/src/ui/b2b/screens/RecoveryCodeSaveScreen.tsx","../../../../web/src/ui/b2b/screens/SMSOTPEnrollScreen.tsx","../../../../web/src/ui/b2b/screens/SMSOTPEntryScreen.tsx","../../../../web/src/ui/b2b/screens/TOTPEnrollManualScreen.tsx","../../../../web/src/ui/b2b/screens/TOTPEnrollQRScreen.tsx","../../../../web/src/ui/b2b/screens/TOTPEntryScreen.tsx","../../../../web/src/ui/b2b/Container.tsx","../../../../web/src/ui/b2b/InternalAppContainer.tsx","../../../../web/src/ui/b2b/hooks/useStytchMember.ts","../../../../web/src/ui/b2b/screens/IDPConsent.tsx","../../../../web/src/ui/b2b/App.tsx","../../../../web/src/ui/react/bindings/createB2BComponent.tsx","../../../../web/src/ui/react/b2b/B2BIdentityProvider.tsx","../../../../web/src/ui/react/b2b/Stytch.tsx","../../../src/b2b/StytchB2BContext.tsx","../../../src/b2b/index.ts"],"sourcesContent":["import React from 'react';\n\nimport { DEFAULT_ICON_SIZE, IconProps } from './types';\n\nexport const SSOIcon = ({ size = DEFAULT_ICON_SIZE, ...props }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g clipPath=\"url(#clip0_221_1596)\">\n <path\n d=\"M17.5125 10.53C17.0025 7.9425 14.73 6 12 6C9.8325 6 7.95 7.23 7.0125 9.03C4.755 9.27 3 11.1825 3 13.5C3 15.9825 5.0175 18 7.5 18H17.25C19.32 18 21 16.32 21 14.25C21 12.27 19.4625 10.665 17.5125 10.53Z\"\n fill=\"currentColor\"\n />\n </g>\n <g clipPath=\"url(#clip1_221_1596)\">\n <path\n d=\"M15.9684 13.1139L14.9987 14.0933L14.5152 13.6098L14.2501 13.3446L13.9849 13.6098L13.5001 14.0946L13.0152 13.6098L12.9054 13.4999H12.7501H12.6188H12.3532L12.2651 13.7504C12.0087 14.4788 11.3147 14.9999 10.5001 14.9999C9.46592 14.9999 8.62506 14.1591 8.62506 13.1249C8.62506 12.0908 9.46592 11.2499 10.5001 11.2499C11.3147 11.2499 12.0087 11.7711 12.2651 12.4994L12.3532 12.7499H12.6188H15.5969L15.9684 13.1139ZM9.00006 13.1249C9.00006 13.9508 9.6742 14.6249 10.5001 14.6249C11.3259 14.6249 12.0001 13.9508 12.0001 13.1249C12.0001 12.2991 11.3259 11.6249 10.5001 11.6249C9.6742 11.6249 9.00006 12.2991 9.00006 13.1249Z\"\n fill=\"var(--st-background)\"\n stroke=\"var(--st-background)\"\n strokeWidth=\"0.75\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_221_1596\">\n <rect width=\"18\" height=\"18\" transform=\"translate(3 3)\" />\n </clipPath>\n <clipPath id=\"clip1_221_1596\">\n <rect width=\"8.25\" height=\"6\" transform=\"translate(8.25006 10.1251)\" />\n </clipPath>\n </defs>\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const HubspotIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#FF7A59\"\n fillRule=\"evenodd\"\n d=\"M13.93 13.97a2.4 2.4 0 0 1-2.43-2.4c0-1.34 1.09-2.42 2.43-2.42a2.4 2.4 0 0 1 2.43 2.41c0 1.33-1.08 2.41-2.43 2.41m.73-7.05V4.78c.56-.26.96-.83.96-1.49v-.05c0-.9-.75-1.64-1.66-1.64h-.05c-.92 0-1.67.74-1.67 1.64v.05c0 .66.4 1.23.96 1.5v2.13q-1.27.21-2.24.98L5 3.32q.07-.21.07-.46C5.08 1.83 4.24 1 3.2 1s-1.88.83-1.88 1.86a1.87 1.87 0 0 0 2.8 1.6l5.85 4.51a4.6 4.6 0 0 0 .07 5.29l-1.77 1.76a1.54 1.54 0 0 0-1.98 1.46 1.54 1.54 0 0 0 3.09 0q-.02-.23-.08-.44l1.76-1.74a4.75 4.75 0 0 0 7.62-3.74 4.7 4.7 0 0 0-4.02-4.64\"\n clipRule=\"evenodd\"\n />\n </svg>\n);\n","import type { SVGProps } from 'react';\nimport * as React from 'react';\n\n/* AUTOGENERATED: DO NOT EDIT */\nimport _styles from '../logo.module.css';\nexport const OktaIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path\n fill=\"#191919\"\n fillRule=\"evenodd\"\n d=\"m10.9 1.13-.37 4.56a5 5 0 0 0-1.19.01l-.2-2.2q0-.12.11-.13h.38l-.18-2.24q.01-.12.11-.13h1.23q.11.01.11.13m-3.09.22q-.04-.1-.15-.08l-1.15.42q-.11.06-.07.16l.94 2.04-.36.13q-.1.06-.06.16l.95 2a4 4 0 0 1 1.12-.42zM5 2.62l2.65 3.73q-.51.33-.9.78l-1.6-1.56a.12.12 0 0 1 .01-.18l.3-.23-1.58-1.6a.12.12 0 0 1 0-.18l.94-.78a.12.12 0 0 1 .17.02M2.77 4.78q-.1-.05-.17.04l-.61 1.06a.12.12 0 0 0 .05.17L4.07 7l-.2.32a.12.12 0 0 0 .06.17l2.02.92q.22-.56.59-1.04zm-1.5 2.88q.03-.11.15-.1l4.42 1.16q-.17.57-.19 1.18l-2.21-.18a.12.12 0 0 1-.1-.14l.06-.37L1.16 9q-.11-.02-.1-.14zm-.16 2.99q-.12.02-.1.14l.2 1.2q.05.12.15.1l2.17-.56.07.37c0 .06.08.1.14.09l2.14-.59q-.19-.56-.22-1.17zm.7 3.17a.12.12 0 0 1 .06-.17L6 11.7q.24.55.62 1.02L4.8 14.01a.12.12 0 0 1-.17-.04l-.19-.33-1.84 1.28q-.1.05-.17-.04zm5.02-.86L3.6 16.21a.12.12 0 0 0 0 .18l.95.79q.1.06.17-.02l1.3-1.84.29.25q.1.07.18-.03l1.26-1.82a5 5 0 0 1-.93-.76m-.64 5.22a.12.12 0 0 1-.07-.16l1.91-4.15q.53.27 1.13.39L8.6 16.4a.12.12 0 0 1-.16.07l-.35-.12-.6 2.16q-.04.1-.15.08zm3.28-3.87-.37 4.56q0 .12.12.13h1.22q.12-.01.12-.13l-.18-2.23h.37q.12-.02.12-.14l-.2-2.2a4 4 0 0 1-1.2.01M13.9 1.97a.12.12 0 0 0-.07-.17l-1.15-.41q-.12-.03-.16.08l-.6 2.16-.35-.13q-.1-.02-.15.08l-.56 2.15q.6.12 1.12.39zm2.5 1.81-3.21 3.26a4 4 0 0 0-.93-.76l1.26-1.83a.12.12 0 0 1 .18-.03l.29.25 1.3-1.83a.12.12 0 0 1 .17-.02l.94.79q.09.08.01.17m1.75 2.56q.1-.05.05-.17l-.62-1.05a.12.12 0 0 0-.17-.04l-1.84 1.27-.2-.32q-.06-.1-.16-.04l-1.82 1.29q.38.46.62 1.02zM18.79 8l.2 1.2a.12.12 0 0 1-.1.15l-4.55.42a4 4 0 0 0-.23-1.17l2.14-.59q.12-.02.15.1l.06.37 2.17-.57q.12-.03.15.1zm-.2 4.43q.1.01.14-.1l.2-1.2a.12.12 0 0 0-.1-.15l-2.23-.2.06-.37a.12.12 0 0 0-.1-.14l-2.22-.18q-.01.6-.19 1.18l4.43 1.15m-1.19 2.75a.12.12 0 0 1-.17.04l-3.77-2.6q.36-.48.59-1.04l2.02.92q.1.06.05.16l-.19.33 2.03.96q.1.05.05.17zm-5.04-1.54 2.65 3.73q.08.08.17.02l.94-.79a.12.12 0 0 0 0-.17l-1.57-1.6.3-.23q.08-.09 0-.18l-1.59-1.56q-.4.46-.9.78m-.02 5.08q-.12.03-.16-.08l-1.2-4.41q.59-.14 1.1-.43l.96 2.01c.03.06 0 .14-.06.16l-.36.13.94 2.04q.04.1-.07.16z\"\n clipRule=\"evenodd\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import { Messages } from '@lingui/core';\n\nimport { messages as _messages } from '../../../messages/b2b/en.json';\n\nexport const messages = _messages as unknown as Messages;\n","import { B2BOAuthProviderConfig, B2BOAuthProviders } from '@stytch/core/public';\n\nexport const getParamsFromB2BOAuthProviderConfig = (provider: B2BOAuthProviderConfig) => {\n let providerType: B2BOAuthProviders;\n let oneTap = false;\n let customScopes: string[] = [];\n let providerParams: Record<string, string> = {};\n let cancelOnTapOutside: boolean | undefined = undefined;\n if (typeof provider === 'string') {\n providerType = provider;\n } else {\n providerType = provider.type;\n if (provider.type === B2BOAuthProviders.Google && provider.one_tap) {\n oneTap = provider.one_tap;\n cancelOnTapOutside = provider.cancel_on_tap_outside;\n }\n customScopes = provider.customScopes || [];\n providerParams = provider.providerParams || {};\n }\n return {\n type: providerType,\n one_tap: oneTap,\n customScopes,\n providerParams,\n cancel_on_tap_outside: cancelOnTapOutside,\n };\n};\n","import { useRef, useCallback } from 'react';\nimport useSWR, { useSWRConfig } from 'swr';\nimport { withMiddleware, useStateWithDeps, UNDEFINED, serialize, mergeObjects, getTimestamp, useIsomorphicLayoutEffect } from 'swr/_internal';\n\nconst mutation = ()=>{\n return (key, fetcher, config = {})=>{\n const { mutate } = useSWRConfig();\n const keyRef = useRef(key);\n const fetcherRef = useRef(fetcher);\n const configRef = useRef(config);\n // Ditch all mutation results that happened earlier than this timestamp.\n const ditchMutationsUntilRef = useRef(0);\n const [stateRef, stateDependencies, setState] = useStateWithDeps({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n const currentState = stateRef.current;\n const trigger = useCallback(async (arg, opts)=>{\n const [serializedKey, resolvedKey] = serialize(keyRef.current);\n if (!fetcherRef.current) {\n throw new Error('Can’t trigger the mutation: missing fetcher.');\n }\n if (!serializedKey) {\n throw new Error('Can’t trigger the mutation: missing key.');\n }\n // Disable cache population by default.\n const options = mergeObjects(mergeObjects({\n populateCache: false,\n throwOnError: true\n }, configRef.current), opts);\n // Trigger a mutation, and also track the timestamp. Any mutation that happened\n // earlier this timestamp should be ignored.\n const mutationStartedAt = getTimestamp();\n ditchMutationsUntilRef.current = mutationStartedAt;\n setState({\n isMutating: true\n });\n try {\n const data = await mutate(serializedKey, fetcherRef.current(resolvedKey, {\n arg\n }), // We must throw the error here so we can catch and update the states.\n mergeObjects(options, {\n throwOnError: true\n }));\n // If it's reset after the mutation, we don't broadcast any state change.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n setState({\n data,\n isMutating: false,\n error: undefined\n });\n options.onSuccess == null ? void 0 : options.onSuccess(data, serializedKey, options);\n }\n return data;\n } catch (error) {\n // If it's reset after the mutation, we don't broadcast any state change\n // or throw because it's discarded.\n if (ditchMutationsUntilRef.current <= mutationStartedAt) {\n setState({\n error: error,\n isMutating: false\n });\n options.onError == null ? void 0 : options.onError(error, serializedKey, options);\n if (options.throwOnError) {\n throw error;\n }\n }\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n const reset = useCallback(()=>{\n ditchMutationsUntilRef.current = getTimestamp();\n setState({\n data: UNDEFINED,\n error: UNDEFINED,\n isMutating: false\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useIsomorphicLayoutEffect(()=>{\n keyRef.current = key;\n fetcherRef.current = fetcher;\n configRef.current = config;\n });\n // We don't return `mutate` here as it can be pretty confusing (e.g. people\n // calling `mutate` but they actually mean `trigger`).\n // And also, `mutate` relies on the useSWR hook to exist too.\n return {\n trigger,\n reset,\n get data () {\n stateDependencies.data = true;\n return currentState.data;\n },\n get error () {\n stateDependencies.error = true;\n return currentState.error;\n },\n get isMutating () {\n stateDependencies.isMutating = true;\n return currentState.isMutating;\n }\n };\n };\n};\n/**\n * A hook to define and manually trigger remote mutations like POST, PUT, DELETE and PATCH use cases.\n *\n * @link https://swr.vercel.app/docs/mutation\n * @example\n * ```jsx\n * import useSWRMutation from 'swr/mutation'\n *\n * const {\n * data,\n * error,\n * trigger,\n * reset,\n * isMutating\n * } = useSWRMutation(key, fetcher, options?)\n * ```\n */ var index = withMiddleware(useSWR, mutation);\n\nexport { index as default };\n","import {\n AuthFlowType,\n B2BAuthenticateResponseWithMFA,\n B2BDiscoveryAuthenticateResponse,\n B2BMagicLinksDiscoveryAuthenticateResponse,\n B2BOrganizationsGetBySlugResponse,\n StytchAPIError,\n StytchError,\n StytchEvent,\n StytchEventType,\n StytchProjectConfigurationInput,\n} from '@stytch/core/public';\nimport { useEffect, useMemo, useState } from 'react';\nimport useSWRMutation, { MutationFetcher, SWRMutationConfiguration } from 'swr/mutation';\n\nimport { StytchB2BClient } from '../../b2b/StytchB2BClient';\nimport { StytchB2BExtendedLoginConfig } from '../../types';\nimport { readB2BInternals } from '../../utils/internal';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from './GlobalContextProvider';\nimport { Action } from './reducer';\nimport type { ProductId, StytchB2BProduct } from './StytchB2BProduct';\nimport { AppScreens } from './types/AppScreens';\nimport { ErrorType } from './types/ErrorType';\n\ntype RecursiveDotNotation<T> = T extends object\n ? {\n [K in keyof T]: K extends string\n ? T[K] extends (...args: never[]) => unknown\n ? K\n : T[K] extends object\n ? `${K}.${RecursiveDotNotation<T[K]>}`\n : K\n : never;\n }[keyof T]\n : never;\n\ntype ValidStytchMutationKey = `stytch.${RecursiveDotNotation<StytchB2BClient>}`;\n\nconst KeyToStytchEventMap = {\n 'stytch.magicLinks.authenticate': StytchEventType.B2BMagicLinkAuthenticate,\n 'stytch.sso.authenticate': StytchEventType.B2BSSOAuthenticate,\n 'stytch.sso.discoverConnections': StytchEventType.B2BSSODiscoverConnections,\n 'stytch.magicLinks.discovery.authenticate': StytchEventType.B2BMagicLinkDiscoveryAuthenticate,\n 'stytch.discovery.organizations.create': StytchEventType.B2BDiscoveryOrganizationsCreate,\n 'stytch.discovery.intermediateSessions.exchange': StytchEventType.B2BDiscoveryIntermediateSessionExchange,\n 'stytch.magicLinks.email.loginOrSignup': StytchEventType.B2BMagicLinkEmailLoginOrSignup,\n 'stytch.magicLinks.email.discovery.send': StytchEventType.B2BMagicLinkEmailDiscoverySend,\n 'stytch.oauth.authenticate': StytchEventType.B2BOAuthAuthenticate,\n 'stytch.oauth.discovery.authenticate': StytchEventType.B2BOAuthDiscoveryAuthenticate,\n 'stytch.otps.sms.send': StytchEventType.B2BSMSOTPSend,\n 'stytch.otps.sms.authenticate': StytchEventType.B2BSMSOTPAuthenticate,\n 'stytch.totp.create': StytchEventType.B2BTOTPCreate,\n 'stytch.totp.authenticate': StytchEventType.B2BTOTPAuthenticate,\n 'stytch.recoveryCodes.recover': StytchEventType.B2BRecoveryCodesRecover,\n 'stytch.impersonation.authenticate': StytchEventType.B2BImpersonationAuthenticate,\n 'stytch.otps.email.authenticate': StytchEventType.B2BOTPsEmailAuthenticate,\n 'stytch.otps.email.discovery.authenticate': StytchEventType.B2BOTPsEmailDiscoveryAuthenticate,\n 'stytch.otps.email.discovery.send': StytchEventType.B2BOTPsEmailDiscoverySend,\n 'stytch.otps.email.loginOrSignup': StytchEventType.B2BOTPsEmailLoginOrSignup,\n 'stytch.organization.getBySlug': StytchEventType.B2BOrganizationsGetBySlug,\n} satisfies Partial<Record<ValidStytchMutationKey, StytchEventType>>;\n\ntype StytchExternalMutationKey = keyof typeof KeyToStytchEventMap;\n\ntype StytchInternalMutationKey = `internal.${string}`;\n\nexport type StytchMutationKey = StytchExternalMutationKey | StytchInternalMutationKey;\n\nexport function getStytchEventByKey(key: StytchMutationKey): StytchEventType | undefined {\n return KeyToStytchEventMap[key as StytchExternalMutationKey];\n}\n\nexport const useMutate = <TData, TError, TKey extends StytchMutationKey, TExtraArg = never>(\n key: TKey,\n fetcher: MutationFetcher<TData, TExtraArg, TKey>,\n options: SWRMutationConfiguration<TData, TError, TExtraArg, TKey> = {},\n) => {\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const result = useSWRMutation<TData, TError, TKey, TExtraArg>(key, fetcher, {\n throwOnError: false,\n ...options,\n onSuccess: (data, key, config) => {\n const eventType = getStytchEventByKey(key as StytchMutationKey);\n if (eventType) {\n onEvent({ type: eventType, data } as StytchEvent<StytchProjectConfigurationInput>);\n }\n\n options.onSuccess?.(data, key, config);\n },\n onError: (error, key, config) => {\n onError(error as StytchError);\n\n options.onError?.(error, key, config);\n },\n });\n\n // Hide the error while mutating. This helps avoid the errors continuing to show after the user has clicked submit\n // and also ensures repeating errors causes <ErrorText> to re-render which is important for screenreaders to\n // re-announce them\n return result.isMutating ? { ...result, error: undefined } : result;\n};\n\n/**\n *\n * This hook triggers a request to retrieve the organization from the slug.\n * The hook only triggers the request if the SDK is being used in an organization flow,\n * and a slug pattern is present. The hook returns an isSearching boolean that can be used\n * to display a loading state while the search is in progress.\n */\nexport const useExtractSlug = () => {\n const [state, dispatch] = useGlobalReducer();\n const [pattern, setPattern] = useState<string | null | undefined>();\n const config = useConfig();\n\n const stytchClient = useStytch();\n const slug = config.organizationSlug ?? extractFromPattern(pattern || null, window.location.href);\n\n const { trigger, isMutating: isSearching } = useMutate<\n B2BOrganizationsGetBySlugResponse,\n StytchAPIError,\n StytchExternalMutationKey,\n { slug: string }\n >(\n 'stytch.organization.getBySlug',\n (_: string, { arg: { slug } }: { arg: { slug: string } }) =>\n stytchClient.organization.getBySlug({ organization_slug: slug }),\n {\n onSuccess: ({ organization }) => {\n if (organization === null) {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType: ErrorType.Organization,\n canGoBack: false,\n });\n } else {\n dispatch({\n type: 'set_organization',\n organization: {\n ...organization,\n },\n });\n }\n },\n },\n );\n\n useEffect(() => {\n readB2BInternals(stytchClient)\n .bootstrap.getAsync()\n .then(({ slugPattern }) => {\n setPattern(slugPattern);\n });\n }, [stytchClient]);\n\n useEffect(() => {\n if (\n slug !== null &&\n state.flowState.organization === null &&\n state.screen === AppScreens.Main &&\n state.flowState.type == AuthFlowType.Organization\n ) {\n trigger({ slug });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [slug, state.flowState, state.screen]);\n\n // The org is pending identification if the slug pattern has not yet been\n // determined (i.e., `undefined`) or the organization request is in progress\n const resultPending = pattern === undefined || isSearching;\n\n return { slug, resultPending };\n};\n\nexport const useBootstrap = () => {\n const stytchClient = useStytch();\n const [bootstrap, setBootstrap] = useState(readB2BInternals(stytchClient).bootstrap.getSync());\n\n useEffect(() => {\n readB2BInternals(stytchClient)\n .bootstrap.getAsync()\n .then((data) => {\n setBootstrap(data);\n });\n }, [stytchClient]);\n\n return bootstrap;\n};\n\nexport const onAuthenticateSuccess = (\n data: B2BAuthenticateResponseWithMFA<StytchProjectConfigurationInput>,\n dispatch: React.Dispatch<Action>,\n config: StytchB2BExtendedLoginConfig,\n) => {\n dispatch({\n type: 'primary_authenticate_success',\n response: data,\n includedMfaMethods: config.mfaProductInclude,\n });\n};\n\nexport const onDiscoveryAuthenticateSuccess = (\n data: B2BDiscoveryAuthenticateResponse | B2BMagicLinksDiscoveryAuthenticateResponse,\n dispatch: React.Dispatch<Action>,\n) => {\n dispatch({\n type: 'set_discovery_state',\n email: data.email_address,\n discoveredOrganizations: data.discovered_organizations,\n });\n};\n\nexport const extractFromPattern = (pattern: string | null, href: string): string | null => {\n if (pattern === null) return null;\n\n const url = new URL(href);\n url.search = '';\n\n const currentUrl = url.toString().trim();\n const regexPattern = pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '(?:[^.]+)').replace('{{slug}}', '(.+)');\n\n const regex = new RegExp(regexPattern);\n const match = currentUrl.match(regex);\n\n if (match && match[1]) {\n return match?.[1];\n }\n\n return null;\n};\n\nexport function hasProduct(products: StytchB2BProduct[], product: ProductId) {\n return products.some((p) => p.id === product);\n}\n\nexport function useProductComponents<Type extends 'screens' | 'mainScreen' | 'ssoAndOAuthButtons'>(\n { products, organizationProducts }: { products: StytchB2BProduct[]; organizationProducts: StytchB2BProduct[] },\n screenType: Type,\n) {\n return useMemo(() => {\n const map = {} as Required<StytchB2BProduct[Type]>;\n for (const product of [...products, ...organizationProducts]) {\n if (product[screenType]) Object.assign(map, product[screenType]);\n }\n return map;\n }, [products, organizationProducts, screenType]);\n}\n","import { B2BOAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { getParamsFromB2BOAuthProviderConfig } from '../../../utils/oauthProviderType';\nimport { useConfig } from '../GlobalContextProvider';\nimport { hasProduct } from '../utils';\n\nexport const useIsOnlyFloatingOneTap = () => {\n const config = useConfig();\n const isOnlyFloatingOneTap = useMemo(() => {\n const oauthProvider = config.oauthOptions\n ? getParamsFromB2BOAuthProviderConfig(config.oauthOptions?.providers[0])\n : undefined;\n const isGoogleOneTap = oauthProvider?.type === B2BOAuthProviders.Google && oauthProvider?.one_tap === true;\n return (\n config.products.length === 1 &&\n hasProduct(config.products, 'oauth') &&\n config.oauthOptions?.providers.length === 1 &&\n isGoogleOneTap\n );\n }, [config]);\n\n return isOnlyFloatingOneTap;\n};\n","import { useMemo } from 'react';\n\nimport { readB2BInternals } from '../../../utils/internal';\nimport { safeLocalStorage } from '../../../utils/storage';\nimport { useStytch } from '../GlobalContextProvider';\nimport { LastUsedMethod } from '../types/authMethodKeys';\n\n/**\n * Hook for managing the last used authentication method in B2B flows.\n * The returned value is not reactive and will not update when setLastUsedMethod is called.\n */\nexport function useLastUsedAuthMethod() {\n const stytch = useStytch();\n const { publicToken } = readB2BInternals(stytch);\n\n // Deliberately not using useLocalStorage because we _don't_ want the buttons\n // to reorder while the user is still seeing this page\n const lastUsedMethod = useMemo(() => safeLocalStorage.getItem(publicToken, 'b2b_last_used_method'), [publicToken]);\n const setLastUsedMethod = (method: LastUsedMethod) => {\n safeLocalStorage.setItem(publicToken, 'b2b_last_used_method', method);\n };\n\n return [lastUsedMethod, setLastUsedMethod] as const;\n}\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { B2BOAuthProviders } from '@stytch/core/public';\nimport React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport { IconRegistry } from '../../components/IconRegistry';\nimport { getButtonId, usePresentation } from '../../components/PresentationConfig';\nimport { useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport type { oauthIcons } from './Icons';\n\ntype OauthIconName = keyof typeof oauthIcons;\n\ninterface OAuthProviderInfo {\n messageDescriptor: MessageDescriptor;\n}\n\nconst providerInfo: Record<B2BOAuthProviders, OAuthProviderInfo> = {\n [B2BOAuthProviders.Google]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGoogle', message: 'Continue with Google' }),\n },\n [B2BOAuthProviders.Microsoft]: {\n messageDescriptor: msg({ id: 'oauth.continueWithMicrosoft', message: 'Continue with Microsoft' }),\n },\n [B2BOAuthProviders.HubSpot]: {\n messageDescriptor: msg({ id: 'oauth.continueWithHubSpot', message: 'Continue with HubSpot' }),\n },\n [B2BOAuthProviders.Slack]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSlack', message: 'Continue with Slack' }),\n },\n [B2BOAuthProviders.GitHub]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGitHub', message: 'Continue with GitHub' }),\n },\n};\n\nexport type OauthB2BButtonProps = {\n providerType: B2BOAuthProviders;\n loginRedirectUrl?: string;\n signupRedirectUrl?: string;\n discoveryRedirectUrl?: string;\n customScopes?: string[];\n providerParams?: Record<string, string>;\n onSuccess?: () => void;\n};\n\nexport const OAuthB2BButton = ({\n providerType,\n loginRedirectUrl,\n signupRedirectUrl,\n discoveryRedirectUrl,\n customScopes,\n providerParams,\n onSuccess,\n}: OauthB2BButtonProps) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const [state] = useGlobalReducer();\n\n const presentation = usePresentation();\n const iconRegistry: IconRegistry<OauthIconName> = presentation.iconRegistry;\n const id = getButtonId(`oauth-${providerType}`, presentation.options);\n\n const provider = providerInfo[providerType];\n let label: string = providerType;\n let icon = null;\n if (provider) {\n const { messageDescriptor } = provider;\n const Icon = iconRegistry[providerType];\n label = t(messageDescriptor);\n icon = <Icon />;\n }\n\n const onButtonClick = async () => {\n const providerClient = stytchClient.oauth[providerType];\n\n if (state.flowState.organization) {\n await providerClient.start({\n login_redirect_url: loginRedirectUrl,\n signup_redirect_url: signupRedirectUrl,\n custom_scopes: customScopes,\n organization_id: state.flowState.organization.organization_id,\n provider_params: providerParams,\n });\n } else {\n await providerClient.discovery.start({\n discovery_redirect_url: discoveryRedirectUrl,\n custom_scopes: customScopes,\n provider_params: providerParams,\n });\n }\n\n onSuccess?.();\n };\n\n return (\n <Button onClick={onButtonClick} variant=\"outline\" icon={icon} id={id}>\n {label}\n </Button>\n );\n};\n","import { DEV, logger } from '@stytch/core';\nimport { B2BOAuthProviders, OneTapPositions } from '@stytch/core/public';\nimport type { CredentialResponse } from 'google-one-tap';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { GoogleOneTapClient } from '../../../oneTap/GoogleOneTapClient';\nimport { readB2BInternals } from '../../../utils/internal';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { ErrorMessages, OneTapErrors } from '../../components/organisms/OneTapError';\nimport { useIsMounted } from '../../hooks/useIsMounted';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { useIsOnlyFloatingOneTap } from '../hooks/useIsOnlyFloatingOneTap';\nimport { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod';\nimport { AppScreens } from '../types/AppScreens';\nimport { OAuthB2BButton } from './OAuthB2BButton';\n\nexport type B2BOneTapProps = {\n customScopes?: string[];\n providerParams?: Record<string, string>;\n cancelOnTapOutside?: boolean;\n};\n\nexport const B2BGoogleOneTap = ({ customScopes, providerParams, cancelOnTapOutside }: B2BOneTapProps) => {\n const stytch = useStytch();\n const config = useConfig();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap();\n const [oneTapError, setOneTapError] = useState<OneTapErrors>();\n const isMounted = useIsMounted();\n const [state, dispatch] = useGlobalReducer();\n\n const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();\n\n /*\n * Begin One Tap Loading / Initialization Logic\n */\n //\n const attemptToLoadOneTap = useCallback(async () => {\n const { oneTap } = readB2BInternals(stytch);\n const clientResult = await oneTap.createOneTapClient();\n if (!clientResult.success) {\n if (clientResult.reason === 'oauth_config_not_found') {\n setOneTapError(OneTapErrors.NoConfiguredOAuthClient);\n } else if (clientResult.reason === 'default_provider_not_allowed') {\n setOneTapError(OneTapErrors.DefaultProviderNotAllowed);\n } else {\n logger.error('Unable to load One Tap settings for project', clientResult);\n }\n return;\n }\n const { client } = clientResult;\n\n /**\n * One tap is composed of two calls, an init() call and a prompt() call\n * the init() call takes in a parent_id where one tap should be shown\n * prompt() does the actual showing. if the element does not exist,\n * we show One Tap in the upper right corner\n * if the element does exist, One Tap's lifecycle is tied to the lifecycle of said element\n * here, we call init() then prompt() in the useeffect. If the component unmounts before\n * prompt() is called, One Tap falls back to the element-does-not-exist behavior.\n * Fix: add a check for whether the component is still rendered immediately before we\n * call prompt, preventing this race condition\n */\n if (!isMounted.current) {\n return;\n }\n\n let oneTapCallback: (response: CredentialResponse) => void;\n if (state.flowState.organization) {\n oneTapCallback = oneTap.createOnSuccessHandler({\n organizationId: state.flowState.organization.organization_id,\n signupRedirectUrl: config.oauthOptions?.signupRedirectURL,\n loginRedirectUrl: config.oauthOptions?.loginRedirectURL,\n onSuccess: oneTap.redirectOnSuccess,\n onError: () => dispatch({ type: 'transition', screen: AppScreens.Error }),\n });\n } else {\n oneTapCallback = oneTap.createOnDiscoverySuccessHandler({\n discoveryRedirectUrl: config.oauthOptions?.discoveryRedirectURL,\n onSuccess: oneTap.redirectOnSuccess,\n onError: () => dispatch({ type: 'transition', screen: AppScreens.Error }),\n });\n }\n const renderResult = await client.render({\n callback: oneTapCallback,\n style: {\n position: OneTapPositions.floating,\n },\n cancelOnTapOutside,\n });\n\n // Check if the component has become unmounted during the async OT render process\n // Kill the rest of the logic if so\n if (!isMounted.current) {\n client.cancel();\n return;\n }\n\n if (!renderResult.success) {\n if (renderResult.reason === 'unregistered_origin') {\n setOneTapError(OneTapErrors.OriginNotAllowedForClient);\n }\n if (renderResult.reason === 'invalid_client') {\n setOneTapError(OneTapErrors.InvalidOAuthClient);\n }\n logger.error('Unable to render One Tap prompt', renderResult);\n }\n return client;\n }, [\n stytch,\n isMounted,\n state.flowState.organization,\n config.oauthOptions?.signupRedirectURL,\n config.oauthOptions?.loginRedirectURL,\n config.oauthOptions?.discoveryRedirectURL,\n dispatch,\n cancelOnTapOutside,\n ]);\n\n useEffect(() => {\n let client: GoogleOneTapClient | undefined;\n attemptToLoadOneTap()\n .then(($client) => (client = $client))\n .catch((err) => {\n logger.error('Unable to render One Tap prompt', err);\n });\n return () => client?.cancel();\n }, [attemptToLoadOneTap]);\n /*\n * End One Tap Loading / Initialization Logic\n */\n\n if (isOnlyFloatingOneTap) {\n return null;\n }\n\n const fallbackButton = (\n <OAuthB2BButton\n providerType={B2BOAuthProviders.Google}\n loginRedirectUrl={config.oauthOptions?.loginRedirectURL}\n signupRedirectUrl={config.oauthOptions?.signupRedirectURL}\n discoveryRedirectUrl={config.oauthOptions?.discoveryRedirectURL}\n customScopes={customScopes}\n providerParams={providerParams}\n onSuccess={() => setLastUsedMethod(B2BOAuthProviders.Google)}\n />\n );\n\n const fallbackWithLastUsed =\n lastUsedMethod === B2BOAuthProviders.Google ? <LastUsed>{fallbackButton}</LastUsed> : fallbackButton;\n\n if (oneTapError) {\n return (\n <>\n {DEV(<ErrorMessages error={oneTapError} />)}\n {fallbackWithLastUsed}\n </>\n );\n }\n\n return fallbackWithLastUsed;\n};\n","import {\n GithubIcon,\n GmailIcon,\n GoogleIcon,\n HubspotIcon,\n MicrosoftIcon,\n OktaIcon,\n OutlookIcon,\n SlackIcon,\n YahooIcon,\n} from '../../../assets/logo-color';\n\nexport const oauthIcons = {\n google: GoogleIcon,\n microsoft: MicrosoftIcon,\n hubspot: HubspotIcon,\n slack: SlackIcon,\n github: GithubIcon,\n};\n\nexport const ssoIcons = {\n google: GoogleIcon,\n microsoft: MicrosoftIcon,\n okta: OktaIcon,\n};\n\nexport const emailIcons = {\n gmail: GmailIcon,\n outlook: OutlookIcon,\n yahoo: YahooIcon,\n};\n\nexport type IconNames =\n | keyof typeof oauthIcons //\n | keyof typeof ssoIcons\n | keyof typeof emailIcons;\n","import { useLingui } from '@lingui/react/macro';\nimport { SSOActiveConnection } from '@stytch/core/public';\nimport React from 'react';\n\nimport { SSOIcon } from '../../../assets';\nimport { SsoKnownIdp } from '../../../utils/KnownIdp';\nimport Button from '../../components/atoms/Button';\nimport { getButtonId, usePresentation } from '../../components/PresentationConfig';\nimport { useConfig, useStytch } from '../GlobalContextProvider';\nimport type { ssoIcons } from './Icons';\n\ntype SsoIconNames = keyof typeof ssoIcons;\n\nconst iconMap: Record<string, SsoIconNames> = {\n 'google-workspace': 'google',\n 'microsoft-entra': 'microsoft',\n okta: 'okta',\n} satisfies Record<Exclude<SsoKnownIdp, 'generic'>, SsoIconNames>;\n\nexport interface SSOButtonProps {\n connection: SSOActiveConnection;\n onStart?: (connection: SSOActiveConnection) => void;\n}\n\nexport const SSOButton = ({ connection, onStart }: SSOButtonProps) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const { ssoOptions } = useConfig();\n const { iconRegistry, options } = usePresentation();\n\n const { connection_id, display_name, identity_provider } = connection;\n\n const id = getButtonId(`sso-${display_name}`, options);\n\n const onButtonClick = () =>\n stytchClient.sso\n .start({\n connection_id,\n signup_redirect_url: ssoOptions?.signupRedirectURL,\n login_redirect_url: ssoOptions?.loginRedirectURL,\n })\n .then(() => {\n onStart?.(connection);\n });\n\n const iconName = iconMap[identity_provider];\n const Icon = iconRegistry[iconName] ?? SSOIcon;\n\n return (\n <Button variant=\"outline\" onClick={onButtonClick} icon={<Icon />} id={id}>\n {t({ id: 'provider.continueWith', message: `Continue with ${display_name}` })}\n </Button>\n );\n};\n","import { ResponseCommon, StytchAPIError } from '@stytch/core/public';\n\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmlDiscoverySend = () => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<ResponseCommon, StytchAPIError, StytchMutationKey, { email: string }>(\n 'stytch.magicLinks.email.discovery.send',\n (_: string, { arg: { email } }: { arg: { email: string } }) =>\n stytchClient.magicLinks.email.discovery.send({\n email_address: email,\n discovery_redirect_url: config.emailMagicLinksOptions?.discoveryRedirectURL,\n login_template_id: config.emailMagicLinksOptions?.loginTemplateId,\n locale: config.emailMagicLinksOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n },\n },\n );\n};\n","import { logger } from '@stytch/core';\nimport { ResponseCommon, StytchAPIError } from '@stytch/core/public';\n\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmlLoginOrSignup = () => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<ResponseCommon, StytchAPIError, StytchMutationKey, { email: string; organization_id: string }>(\n 'stytch.magicLinks.email.loginOrSignup',\n (_: string, { arg: { email, organization_id } }: { arg: { email: string; organization_id: string } }) =>\n stytchClient.magicLinks.email.loginOrSignup({\n email_address: email,\n organization_id,\n login_redirect_url: config.emailMagicLinksOptions?.loginRedirectURL,\n signup_redirect_url: config.emailMagicLinksOptions?.signupRedirectURL,\n login_template_id: config.emailMagicLinksOptions?.loginTemplateId,\n signup_template_id: config.emailMagicLinksOptions?.signupTemplateId,\n locale: config.emailMagicLinksOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n },\n onError: (e) => {\n logger.error(e);\n },\n },\n );\n};\n","import { useEffect, useState } from 'react';\n\nimport { readB2BInternals } from '../../../utils/internal';\nimport { useConfig, useStytch } from '../GlobalContextProvider';\n\n/**\n * Resolves the best email domain to use as a hint for login\n */\nexport const useEmailDomain = () => {\n const stytch = useStytch();\n const config = useConfig();\n /**\n * Read the emailDomains out of sync storage, then read out of async storage\n * TODO - Should all bootstrap data live in the config somewhere?\n */\n const [emailDomains, setEmailDomains] = useState(() => {\n const { emailDomains } = readB2BInternals(stytch).bootstrap.getSync();\n return emailDomains;\n });\n\n useEffect(() => {\n readB2BInternals(stytch)\n .bootstrap.getAsync()\n .then(({ emailDomains }) => {\n setEmailDomains(emailDomains);\n });\n }, [stytch]);\n\n // If a domain is explicitly passed in, use it!\n if (config.emailMagicLinksOptions?.domainHint) {\n return config.emailMagicLinksOptions?.domainHint;\n }\n // If there can only be one logical choice, use it!\n if (emailDomains.length === 1) {\n return emailDomains[0];\n }\n // If it isn't clear who sent the email\n // we simply won't provide a hint!\n return null;\n};\n","import { AuthFlowType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { useCountdown } from '../../components/atoms/Countdown';\nimport { EmailConfirmationView } from '../../components/organisms/EmailConfirmationView';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { AppScreens } from '../types/AppScreens';\nimport { useEmailDomain } from './useEmailDomain';\n\nexport const EmailConfirmation = () => {\n const [state, dispatch] = useGlobalReducer();\n const emailDomain = useEmailDomain();\n const countdown = useCountdown();\n\n const { trigger: sendLoginOrSignupEml, isMutating: isSendingLoginOrSignupEml } = useEmlLoginOrSignup();\n const { trigger: sendDiscoveryEml, isMutating: isSendingDiscoveryEml } = useEmlDiscoverySend();\n\n const email = state.formState.emailState.userSuppliedEmail;\n\n const goBack = () => {\n dispatch({ type: 'set_user_supplied_email', email: '' });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n };\n\n const resend = async () => {\n if (state.flowState.type === AuthFlowType.Discovery) {\n await sendDiscoveryEml({ email });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n await sendLoginOrSignupEml({\n email,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n };\n\n const isSubmitting = isSendingLoginOrSignupEml || isSendingDiscoveryEml;\n\n return (\n <EmailConfirmationView\n emailDomain={emailDomain}\n email={email}\n goBack={goBack}\n resend={resend}\n countdown={countdown}\n isSubmitting={isSubmitting}\n />\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport { useGlobalReducer } from '../GlobalContextProvider';\n\nconst UsePasswordButton = ({ email }: { email: string }) => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const handleUsePassword = () => {\n dispatch({ type: 'use_password_auth', email });\n };\n\n return (\n <Button variant=\"ghost\" onClick={handleUsePassword}>\n {t({ id: 'button.usePassword', message: 'Use a password instead' })}\n </Button>\n );\n};\n\nexport default UsePasswordButton;\n","import { B2BOAuthProviderConfig, B2BOAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { isTruthy } from '../../../utils/isTruthy';\nimport { getParamsFromB2BOAuthProviderConfig } from '../../../utils/oauthProviderType';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { ProductId, StytchB2BProduct } from '../StytchB2BProduct';\n\nexport type OauthProviderParams = {\n type: B2BOAuthProviders;\n one_tap: boolean;\n customScopes: string[];\n providerParams: Record<string, string>;\n cancel_on_tap_outside: boolean | undefined;\n};\n\n// Note that the order of products here is used when displaying fallback auth\n// methods below\nconst productsToAuthMethods: Record<ProductId, string | undefined> = {\n oauth: undefined, // OAuth methods are defined per-provider\n sso: 'sso',\n emailMagicLinks: 'magic_link',\n emailOtp: 'email_otp',\n passwords: 'password',\n};\n\nconst oauthProvidersToAuthMethods: Record<B2BOAuthProviders, string> = {\n [B2BOAuthProviders.Google]: 'google_oauth',\n [B2BOAuthProviders.Microsoft]: 'microsoft_oauth',\n [B2BOAuthProviders.HubSpot]: 'hubspot_oauth',\n [B2BOAuthProviders.Slack]: 'slack_oauth',\n [B2BOAuthProviders.GitHub]: 'github_oauth',\n};\n\nconst authMethodsToProducts: Record<string, ProductId> = Object.fromEntries(\n Object.entries(productsToAuthMethods).map(([product, authMethod]) => [authMethod, product]),\n);\n\nconst oauthMethodsToOauthProviders: Record<string, B2BOAuthProviders> = Object.fromEntries(\n Object.entries(oauthProvidersToAuthMethods).map(([provider, method]) => [\n method,\n provider as keyof typeof oauthProvidersToAuthMethods,\n ]),\n);\n\nconst authMethodToProduct = (authMethod: string): ProductId | undefined => {\n if (authMethod in oauthMethodsToOauthProviders) {\n return 'oauth';\n }\n return authMethodsToProducts[authMethod];\n};\n\nconst allOauthProviders = Object.values(B2BOAuthProviders);\n\nconst flattenConfigToAuthMethods = (products: StytchB2BProduct[], oauthProviders: B2BOAuthProviderConfig[]) =>\n products\n .flatMap((product) => {\n if (product.id === 'oauth') {\n return oauthProviders.map((provider) => {\n const authMethod = oauthProvidersToAuthMethods[typeof provider === 'string' ? provider : provider.type];\n if (authMethod) {\n return authMethod;\n }\n });\n } else {\n const authMethod = productsToAuthMethods[product.id];\n if (authMethod) {\n return authMethod;\n }\n }\n })\n .filter(isTruthy);\n\nconst useOAuthProviderConfigs = () => {\n const config = useConfig();\n return useMemo(() => {\n if (!config.oauthOptions?.providers) {\n return [];\n }\n\n return config.oauthOptions.providers.map(getParamsFromB2BOAuthProviderConfig);\n }, [config.oauthOptions?.providers]);\n};\n\nconst useRestrictedAuthMethods = () => {\n const [state] = useGlobalReducer();\n\n const { primaryAuthMethods } = state.primary;\n const hasPrimaryAuthMethods = !!primaryAuthMethods;\n\n const restrictedAuthMethods = useMemo(() => {\n if (state.primary.primaryAuthMethods) {\n return new Set(state.primary.primaryAuthMethods);\n }\n\n if (state.flowState.organization?.auth_methods === 'RESTRICTED') {\n return new Set(state.flowState.organization?.allowed_auth_methods ?? []);\n }\n }, [\n state.flowState.organization?.allowed_auth_methods,\n state.flowState.organization?.auth_methods,\n state.primary.primaryAuthMethods,\n ]);\n\n return { restrictedAuthMethods, hasPrimaryAuthMethods };\n};\n\nexport const useEffectiveAuthConfig = () => {\n const [state] = useGlobalReducer();\n const config = useConfig();\n\n const { restrictedAuthMethods, hasPrimaryAuthMethods } = useRestrictedAuthMethods();\n\n const oauthProviderConfigs = useOAuthProviderConfigs();\n\n const flattenedConfiguredAuthMethods = useMemo(\n () => flattenConfigToAuthMethods(config.products, oauthProviderConfigs),\n [config.products, oauthProviderConfigs],\n );\n\n const authMethodsToShow = useMemo(() => {\n // If there are no restrictions, use the auth methods from the UI config as-is\n if (!restrictedAuthMethods) {\n return flattenedConfiguredAuthMethods;\n }\n\n // If there are restrictions, filter the auth methods from the UI config\n const restrictedAuthMethodsInUiConfig = flattenedConfiguredAuthMethods.filter((authMethod) =>\n restrictedAuthMethods.has(authMethod),\n );\n\n // Use the filtered methods unless there are none _and_ the restrictions\n // come from `primary_required` (not just org-level restrictions)\n if (restrictedAuthMethodsInUiConfig.length > 0 || !hasPrimaryAuthMethods) {\n return restrictedAuthMethodsInUiConfig;\n }\n\n // If the org restricts allowed auth methods, show all of the methods\n // included in `primary_required`\n if (state.flowState.organization?.auth_methods === 'RESTRICTED') {\n return flattenConfigToAuthMethods(config.organizationProducts, allOauthProviders).filter((authMethod) =>\n restrictedAuthMethods.has(authMethod),\n );\n }\n\n // If the org doesn't have any auth method restrictions, default to email\n // magic links\n return ['magic_link'];\n }, [\n config.organizationProducts,\n flattenedConfiguredAuthMethods,\n hasPrimaryAuthMethods,\n restrictedAuthMethods,\n state.flowState.organization?.auth_methods,\n ]);\n\n const products = useMemo(() => {\n const productIds = [...new Set(authMethodsToShow.map(authMethodToProduct).filter(isTruthy))];\n return productIds.map((productId) => config.organizationProducts.find((p) => p.id === productId)).filter(isTruthy);\n }, [authMethodsToShow, config.organizationProducts]);\n\n const oauthProviderSettings = useMemo<OauthProviderParams[]>(\n () =>\n authMethodsToShow\n .map((authMethod) => {\n const provider = oauthMethodsToOauthProviders[authMethod];\n if (provider) {\n return (\n oauthProviderConfigs.find((oauthProvider) => oauthProvider.type === provider) ??\n getParamsFromB2BOAuthProviderConfig(provider)\n );\n }\n })\n .filter(isTruthy),\n [authMethodsToShow, oauthProviderConfigs],\n );\n\n return { products, oauthProviderSettings };\n};\n","const DEFAULT_OTP_EXPIRATION_MS = 1000 * 60 * 10; // 10 minutes\n\nexport const getOtpCodeExpiration = () => new Date(Date.now() + DEFAULT_OTP_EXPIRATION_MS);\n","import { ResponseCommon, StytchAPIError } from '@stytch/core/public';\n\nimport { getOtpCodeExpiration } from '../getOtpCodeExpiration';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmailOtpDiscoverySend = ({ throwOnError }: { throwOnError?: boolean } = {}) => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<ResponseCommon, StytchAPIError, StytchMutationKey, { email: string }>(\n 'stytch.otps.email.discovery.send',\n (_key: string, { arg: { email } }: { arg: { email: string } }) =>\n stytchClient.otps.email.discovery.send({\n email_address: email,\n login_template_id: config.emailOtpOptions?.loginTemplateId,\n locale: config.emailOtpOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'send_email_otp', codeExpiration: getOtpCodeExpiration() });\n },\n throwOnError,\n },\n );\n};\n","import { B2BOTPsEmailLoginOrSignupResponse, StytchAPIError } from '@stytch/core/public';\n\nimport { getOtpCodeExpiration } from '../getOtpCodeExpiration';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const useEmailOtpLoginOrSignup = ({ throwOnError }: { throwOnError?: boolean } = {}) => {\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n\n return useMutate<\n B2BOTPsEmailLoginOrSignupResponse,\n StytchAPIError,\n StytchMutationKey,\n { email: string; organization_id: string }\n >(\n 'stytch.otps.email.loginOrSignup',\n (_key: string, { arg: { email, organization_id } }: { arg: { email: string; organization_id: string } }) =>\n stytchClient.otps.email.loginOrSignup({\n email_address: email,\n organization_id,\n login_template_id: config.emailOtpOptions?.loginTemplateId,\n signup_template_id: config.emailOtpOptions?.signupTemplateId,\n locale: config.emailOtpOptions?.locale,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'send_email_otp', codeExpiration: getOtpCodeExpiration() });\n },\n throwOnError,\n },\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport UsePasswordButton from '../components/UsePasswordButton';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { AppScreens } from '../types/AppScreens';\nimport { hasProduct } from '../utils';\n\nconst JIT_PROVISIONING_ERRORS = ['email_jit_provisioning_not_allowed', 'invalid_email_for_jit_provisioning'];\n\nconst useParseErrorMessage = () => {\n const { t } = useLingui();\n return (error: StytchAPIError, { email, org: organizationName }: { email: string; org: string }) => {\n if (JIT_PROVISIONING_ERRORS.includes(error.error_type)) {\n return t({\n id: 'error.jitIneligible',\n message: `${email} does not have access to ${organizationName}. If you think this is a mistake, contact your admin`,\n });\n }\n return getTranslatedError(error, t);\n };\n};\n\nexport const EmailForm = ({ showPasswordButton }: { showPasswordButton: boolean }) => {\n const [state, dispatch] = useGlobalReducer();\n const [emailInput, setEmailInput] = useState(state.formState.passwordState.email);\n const parseErrorMessage = useParseErrorMessage();\n const { t } = useLingui();\n\n const { products } = useEffectiveAuthConfig();\n const enableEml = hasProduct(products, 'emailMagicLinks');\n const enableOtp = hasProduct(products, 'emailOtp');\n\n const providedEmail = state.primary.email;\n const email = providedEmail || emailInput;\n\n const { trigger: stytchEmlLoginOrSignup, error: emlError, isMutating: emlIsMutating } = useEmlLoginOrSignup();\n const { trigger: stytchOtpLoginOrSignup, error: otpError, isMutating: otpIsMutating } = useEmailOtpLoginOrSignup();\n\n const isMutating = emlIsMutating || otpIsMutating;\n const error = emlError || otpError;\n\n const organization = state.flowState.organization;\n if (!organization) return <></>;\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n dispatch({ type: 'set_user_supplied_email', email });\n\n if (enableEml && enableOtp) {\n dispatch({ type: 'transition', screen: AppScreens.EmailMethodSelection, history: 'push' });\n } else if (enableEml) {\n stytchEmlLoginOrSignup({ email, organization_id: organization.organization_id });\n } else if (enableOtp) {\n stytchOtpLoginOrSignup({ email, organization_id: organization.organization_id });\n }\n };\n\n if (providedEmail) {\n return (\n <Column gap={2}>\n {products\n .filter((product) => product.id === 'emailMagicLinks' || product.id === 'emailOtp')\n .map((product) => {\n switch (product.id) {\n case 'emailMagicLinks':\n return (\n <Button\n key={product.id}\n onClick={() => {\n dispatch({ type: 'set_user_supplied_email', email });\n stytchEmlLoginOrSignup({ email, organization_id: organization.organization_id });\n }}\n loading={emlIsMutating}\n disabled={isMutating}\n variant=\"outline\"\n >\n {t({ id: 'button.emailLink', message: 'Email me a link' })}\n </Button>\n );\n\n case 'emailOtp':\n return (\n <Button\n key={product.id}\n onClick={() => {\n dispatch({ type: 'set_user_supplied_email', email });\n stytchOtpLoginOrSignup({ email, organization_id: organization.organization_id });\n }}\n loading={otpIsMutating}\n disabled={isMutating}\n variant=\"outline\"\n >\n {t({ id: 'button.emailCode', message: 'Email me a code' })}\n </Button>\n );\n }\n })}\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n }\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput\n email={email}\n setEmail={setEmailInput}\n hideLabel\n error={error ? parseErrorMessage(error, { email, org: organization.organization_name }) : undefined}\n />\n\n <Button type=\"submit\" variant=\"primary\" loading={isMutating}>\n {t({ id: 'button.continueWithEmail', message: 'Continue with email' })}\n </Button>\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n};\n\nexport const EmailDiscoveryForm = ({ showPasswordButton }: { showPasswordButton: boolean }) => {\n const [state, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState(state.formState.passwordState.email);\n const { t } = useLingui();\n\n const { products } = useEffectiveAuthConfig();\n const enableEml = products.some((p) => p.id === 'emailMagicLinks');\n const enableOtp = products.some((p) => p.id === 'emailOtp');\n\n const { trigger: stytchEmlDiscoverySend, error: emlError, isMutating: emlIsMutating } = useEmlDiscoverySend();\n const { trigger: stytchOtpDiscoverySend, error: otpError, isMutating: otpIsMutating } = useEmailOtpDiscoverySend();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n dispatch({ type: 'set_user_supplied_email', email });\n\n if (enableEml && enableOtp) {\n dispatch({ type: 'transition', screen: AppScreens.EmailMethodSelection, history: 'push' });\n } else if (enableEml) {\n stytchEmlDiscoverySend({ email });\n } else if (enableOtp) {\n stytchOtpDiscoverySend({ email });\n }\n };\n\n const isMutating = emlIsMutating || otpIsMutating;\n const error = emlError || otpError;\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput\n email={email}\n setEmail={setEmail}\n hideLabel\n error={error ? getTranslatedError(error, t) : undefined}\n />\n\n <Button type=\"submit\" variant=\"primary\" loading={isMutating}>\n {t({ id: 'button.continueWithEmail', message: 'Continue with email' })}\n </Button>\n\n {showPasswordButton && <UsePasswordButton email={email} />}\n </Column>\n );\n};\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { AuthFlowType } from '@stytch/core/public';\nimport React, { useMemo } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { isTruthy } from '../../../utils/isTruthy';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport ErrorText from '../../components/molecules/ErrorText';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { useEmlDiscoverySend } from '../hooks/useEmlDiscoverySend';\nimport { useEmlLoginOrSignup } from '../hooks/useEmlLoginOrSignup';\nimport { ProductId } from '../StytchB2BProduct';\n\nconst options: Partial<Record<ProductId, { messageDescriptor: MessageDescriptor }>> = {\n emailMagicLinks: {\n messageDescriptor: msg({ id: 'emailMethodSelection.link', message: 'Email me a login link' }),\n },\n emailOtp: {\n messageDescriptor: msg({ id: 'emailMethodSelection.code', message: 'Email me a login code' }),\n },\n};\n\nexport const EmailMethodSelectionScreen = () => {\n const { products } = useEffectiveAuthConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n\n const {\n trigger: sendDiscoveryEml,\n isMutating: isSendingDiscoveryEml,\n error: sendDiscoveryEmlError,\n reset: resetSendDiscoveryEml,\n } = useEmlDiscoverySend();\n\n const {\n trigger: sendDiscoveryOtp,\n isMutating: isSendingDiscoveryOtp,\n error: sendDiscoveryOtpError,\n reset: resetSendDiscoveryOtp,\n } = useEmailOtpDiscoverySend();\n\n const {\n trigger: sendLoginOrSignupEml,\n isMutating: isSendingLoginOrSignupEml,\n error: sendLoginOrSignupEmlError,\n reset: resetSendLoginOrSignupEml,\n } = useEmlLoginOrSignup();\n\n const {\n trigger: sendLoginOrSignupOtp,\n isMutating: isSendingLoginOrSignupOtp,\n error: sendLoginOrSignupOtpError,\n reset: resetSendLoginOrSignupOtp,\n } = useEmailOtpLoginOrSignup();\n\n const isSending =\n isSendingDiscoveryEml || isSendingDiscoveryOtp || isSendingLoginOrSignupEml || isSendingLoginOrSignupOtp;\n const error =\n sendDiscoveryEmlError || sendDiscoveryOtpError || sendLoginOrSignupEmlError || sendLoginOrSignupOtpError;\n\n const handleChooseMethod = (method: ProductId) => {\n resetSendDiscoveryEml();\n resetSendDiscoveryOtp();\n resetSendLoginOrSignupEml();\n resetSendLoginOrSignupOtp();\n\n switch (method) {\n case 'emailMagicLinks':\n if (state.flowState.type === AuthFlowType.Discovery) {\n sendDiscoveryEml({ email: state.formState.emailState.userSuppliedEmail });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n sendLoginOrSignupEml({\n email: state.formState.emailState.userSuppliedEmail,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n break;\n case 'emailOtp':\n if (state.flowState.type === AuthFlowType.Discovery) {\n sendDiscoveryOtp({ email: state.formState.emailState.userSuppliedEmail });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n sendLoginOrSignupOtp({\n email: state.formState.emailState.userSuppliedEmail,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n break;\n }\n };\n\n const displayOptions = useMemo(\n () =>\n products\n .map((product) => {\n const option = options[product.id];\n if (!option) return;\n\n return {\n option: product.id,\n messageDescriptor: option.messageDescriptor,\n };\n })\n .filter(isTruthy),\n [products],\n );\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'emailMethodSelection.title', message: 'Select how you’d like to continue' })}\n </Typography>\n <ButtonColumn>\n {displayOptions.map(({ option, messageDescriptor }) => (\n <Button\n key={option}\n variant=\"outline\"\n disabled={isSending}\n onClick={() => {\n handleChooseMethod(option);\n }}\n >\n {t(messageDescriptor)}\n </Button>\n ))}\n\n {error && <ErrorText>{getTranslatedError(error, t)}</ErrorText>}\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport {\n AuthFlowType,\n B2BDiscoveryOTPEmailAuthenticateResponse,\n B2BOTPsEmailAuthenticateResponse,\n StytchAPIError,\n} from '@stytch/core/public';\nimport React from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport { useCountdown } from '../../components/atoms/Countdown';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport { ResendOTPButton } from '../../components/organisms/ResendOTPButton';\nimport { SentOTPEntry } from '../../components/organisms/SentOTPEntry';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { useEmailOtpDiscoverySend } from '../hooks/useEmailOtpDiscoverySend';\nimport { useEmailOtpLoginOrSignup } from '../hooks/useEmailOtpLoginOrSignup';\nimport { onAuthenticateSuccess, onDiscoveryAuthenticateSuccess, StytchMutationKey, useMutate } from '../utils';\n\nexport const EmailOTPEntryScreen = () => {\n const stytchClient = useStytch();\n const config = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const { codeExpiration } = state.formState.otpState;\n const resendCountdown = useCountdown();\n const { userSuppliedEmail } = state.formState.emailState;\n\n const emailOtp = useEmailOtpLoginOrSignup({ throwOnError: true });\n const emailOtpDiscovery = useEmailOtpDiscoverySend({ throwOnError: true });\n\n const isSending = emailOtp.isMutating || emailOtpDiscovery.isMutating;\n const sendError = emailOtp.error || emailOtpDiscovery.error;\n\n const discoveryAuthenticate = useMutate<\n B2BDiscoveryOTPEmailAuthenticateResponse,\n unknown,\n StytchMutationKey,\n { otp: string; email: string }\n >(\n 'stytch.otps.email.discovery.authenticate',\n (_: string, { arg: { otp, email } }: { arg: { otp: string; email: string } }) =>\n stytchClient.otps.email.discovery.authenticate({\n code: otp,\n email_address: email,\n }),\n {\n onSuccess: (data) => {\n onDiscoveryAuthenticateSuccess(data, dispatch);\n },\n throwOnError: true,\n },\n );\n\n const authenticate = useMutate<\n B2BOTPsEmailAuthenticateResponse,\n unknown,\n StytchMutationKey,\n { otp: string; emailAddress: string; organizationId: string; sessionDurationMinutes: number }\n >(\n 'stytch.otps.email.authenticate',\n (\n _: string,\n {\n arg: { otp, emailAddress, organizationId, sessionDurationMinutes },\n }: { arg: { otp: string; emailAddress: string; organizationId: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.otps.email.authenticate({\n code: otp,\n email_address: emailAddress,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n onSuccess: (data) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n throwOnError: true,\n },\n );\n\n const isAuthenticatingAny = discoveryAuthenticate.isMutating || authenticate.isMutating;\n const error = discoveryAuthenticate.error || authenticate.error || sendError;\n const errorMessage = error ? getTranslatedError(error as StytchAPIError, t) : undefined;\n\n const resetAll = () => {\n for (const resp of [emailOtp, emailOtpDiscovery, authenticate, discoveryAuthenticate]) {\n resp.reset();\n }\n };\n\n const handleSubmit = async (otp: string) => {\n resetAll();\n\n try {\n if (state.flowState.type === AuthFlowType.Discovery) {\n await discoveryAuthenticate.trigger({\n otp,\n email: userSuppliedEmail,\n });\n } else if (\n state.flowState.type === AuthFlowType.Organization &&\n state.flowState.organization &&\n state.formState.emailState.userSuppliedEmail\n ) {\n await authenticate.trigger({\n otp,\n emailAddress: state.formState.emailState.userSuppliedEmail,\n organizationId: state.flowState.organization.organization_id,\n sessionDurationMinutes: config.sessionOptions.sessionDurationMinutes,\n });\n }\n } catch {\n resendCountdown.clear();\n }\n };\n\n const handleResendOTP = async () => {\n resetAll();\n\n if (isSending) return;\n\n if (state.flowState.type === AuthFlowType.Discovery) {\n await emailOtpDiscovery.trigger({ email: userSuppliedEmail });\n } else if (state.flowState.type === AuthFlowType.Organization && state.flowState.organization) {\n await emailOtp.trigger({\n email: userSuppliedEmail,\n organization_id: state.flowState.organization.organization_id,\n });\n }\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n {codeExpiration !== null ? (\n <SentOTPEntry\n isSubmitting={isAuthenticatingAny}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n expiration={codeExpiration.getTime()}\n formattedDestination={userSuppliedEmail}\n />\n ) : (\n <LoadingScreen />\n )}\n\n <ButtonColumn>\n <ResendOTPButton countdown={resendCountdown} resendOTP={handleResendOTP} isSubmitting={isAuthenticatingAny} />\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","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","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsAuthenticate = () => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const {\n email,\n setEmail,\n password,\n setPassword,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n submitPassword,\n submitDiscoveryPassword,\n } = usePasswordInput();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n } else {\n if (!organization) {\n submitDiscoveryPassword();\n } else {\n submitPassword(organization.organization_id);\n }\n }\n };\n\n const onGetHelp = () => {\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgotForm });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'password.login.title', message: 'Log in with email and password' })}\n </Typography>\n\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} />\n\n <PasswordInput password={password} setPassword={setPassword} type=\"current\" error={errorMessage} />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n <Button variant=\"outline\" onClick={onGetHelp}>\n {t({ id: 'link.signupResetPassword', message: 'Sign up or reset password' })}\n </Button>\n\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsEmailForm = () => {\n const [, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const {\n stytch,\n email,\n setEmail,\n password,\n setPassword,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n setIsSubmitting,\n submitPassword,\n submitDiscoveryPassword,\n handleNonMemberReset,\n } = usePasswordInput();\n\n const [hideInput, setHideInput] = useState(!!organization && !email);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (organization) {\n const organization_id = organization.organization_id;\n\n // If we have processed the email, submit the password field\n if (!hideInput) {\n submitPassword(organization_id);\n return;\n }\n\n // Validate we have a member with a password. Otherwise, check if we can jit\n // provision and kickoff verification and session reset\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n return;\n }\n setErrorMessage('');\n setIsSubmitting(true);\n readB2BInternals(stytch)\n .searchManager.searchMember(email, organization.organization_id)\n .then(({ member }) => {\n if (member) {\n setHideInput(false);\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email });\n return;\n }\n // No member password flow: verify email and use reset by session\n handleNonMemberReset();\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n } else {\n // Discovery flow\n submitDiscoveryPassword();\n }\n };\n\n const onGetHelp = () => {\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgotForm });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput email={email} setEmail={setEmail} />\n\n {!hideInput && (\n <PasswordInput password={password} setPassword={setPassword} type=\"current\" error={errorMessage} />\n )}\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n {!hideInput && (\n <Button variant=\"outline\" onClick={onGetHelp}>\n {t({ id: 'link.signupResetPassword', message: 'Sign up or reset password' })}\n </Button>\n )}\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { useConfig, useEventCallback, useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsForgotForm = () => {\n const [, dispatch] = useGlobalReducer();\n const config = useConfig();\n const onEvent = useEventCallback();\n const { t } = useLingui();\n\n const {\n stytch,\n email,\n setEmail,\n organization,\n errorMessage,\n setErrorMessage,\n isSubmitting,\n setIsSubmitting,\n handleNonMemberReset,\n } = usePasswordInput();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n return;\n }\n setErrorMessage('');\n setIsSubmitting(true);\n if (organization) {\n readB2BInternals(stytch)\n .searchManager.searchMember(email, organization.organization_id)\n .then(({ member }) => {\n if (!member) {\n handleNonMemberReset();\n return;\n }\n // Member password flow: call reset password start instead\n stytch.passwords\n .resetByEmailStart({\n email_address: email,\n organization_id: organization.organization_id,\n login_redirect_url: config.emailMagicLinksOptions?.loginRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetByEmailStart, data });\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNewConfirmation });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n } else {\n // Discovery password flow: call discovery reset password start instead. This flow doesn't need a member object\n stytch.passwords.discovery\n .resetByEmailStart({\n email_address: email,\n discovery_redirect_url: config.passwordOptions?.discoveryRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then(() => {\n setIsSubmitting(false);\n dispatch({ type: 'set_password_state', email: email });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNewConfirmation });\n })\n .catch((err: StytchAPIError) => {\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(err, t));\n });\n }\n };\n\n return (\n <Column as=\"form\" gap={6} onSubmit={handleSubmit}>\n <Typography variant=\"header\">\n {t({ id: 'password.forgot.title', message: 'Check your email for help signing in' })}\n </Typography>\n <Typography variant=\"body\">\n {!organization\n ? t({\n id: 'password.forgot.content.discovery',\n message:\n \"We'll email you a verification link to sign up for an account or reset your password if you have one.\",\n })\n : t({\n id: 'password.forgot.content.organization',\n message:\n \"We'll email you a login link to sign in to your account directly or reset your password if you have one.\",\n })}\n </Typography>\n\n <EmailInput email={email} setEmail={setEmail} error={errorMessage} />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport EmailActionLayout from '../../components/molecules/EmailActionLayout';\nimport { emailProviderInfo, EmailProviderLink } from '../../components/molecules/EmailProviderLink';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { useEmailDomain } from './useEmailDomain';\n\nexport const PasswordResetConfirmation = () => {\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const emailDomain = useEmailDomain();\n const email = state.formState.passwordState.email;\n\n const reset = () => {\n dispatch({ type: 'set_user_supplied_email', email: '' });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n };\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.verification.title',\n message: 'Verify your email first.',\n })}\n description={\n <Trans\n id=\"password.verification.content\"\n message=\"A login link was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n additionalActions={\n <>\n <EmailProviderLink emailDomain={emailDomain} providerInfo={emailProviderInfo.gmail} />\n <EmailProviderLink emailDomain={emailDomain} providerInfo={emailProviderInfo.outlook} />\n <Button variant=\"ghost\" onClick={reset}>\n {t({ id: 'button.retry', message: 'Try again' })}\n </Button>\n </>\n }\n />\n );\n};\n","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","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport { StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport EmailActionLayout from '../../components/molecules/EmailActionLayout';\nimport { useConfig, useEventCallback, useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordSetNew = () => {\n const [, dispatch] = useGlobalReducer();\n const onEvent = useEventCallback();\n const config = useConfig();\n const { t } = useLingui();\n\n const { stytch, onError, email, organization, setIsSubmitting } = usePasswordInput();\n\n const resendResetPassword = () => {\n if (!organization) {\n return stytch.passwords.discovery\n .resetByEmailStart({\n email_address: email,\n discovery_redirect_url: config.passwordOptions?.discoveryRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordDiscoveryResetStart, data });\n });\n } else {\n return stytch.passwords\n .resetByEmailStart({\n email_address: email,\n organization_id: organization.organization_id,\n login_redirect_url: config.passwordOptions?.loginRedirectURL,\n reset_password_redirect_url: config.passwordOptions?.resetPasswordRedirectURL,\n reset_password_expiration_minutes: config.passwordOptions?.resetPasswordExpirationMinutes,\n reset_password_template_id: config.passwordOptions?.resetPasswordTemplateId,\n verify_email_template_id: config.passwordOptions?.verifyEmailTemplateId,\n locale: config.passwordOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.B2BPasswordResetByEmailStart, data });\n })\n .catch((e: Error) => {\n onError(e);\n throw e;\n });\n }\n };\n\n return (\n <EmailActionLayout\n header={t({ id: 'password.reset.emailSent.title', message: 'Check your email' })}\n description={\n <Trans\n id=\"password.reset.emailSent.content\"\n message=\"A login link was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={resendResetPassword}\n goBack={() => dispatch({ type: 'transition', screen: AppScreens.Main })}\n />\n );\n};\n","export const assertUnreachable: (_: never) => never = () => {\n throw new Error('Assertion failure');\n};\n","import { B2BOAuthProviders, SSOActiveConnection } from '@stytch/core/public';\n\nimport { OauthProviderParams } from '../hooks/useEffectiveAuthConfig';\n\n// This file contains a combined type to identify OAuth providers and SSO connections,\n// used to help with rendering these buttons and storing the last used method.\n// Extracting the logic for generating the key helps make it more consistent\n\nexport type LastUsedMethod = B2BOAuthProviders | `sso:${string}`;\n\n/* eslint-disable lingui/no-unlocalized-strings */\n\nexport function getSsoMethodKey(method: SSOActiveConnection): LastUsedMethod {\n return `sso:${method.connection_id}`;\n}\n\nexport function extractConnectionId(method: string | null): string | undefined {\n return method?.startsWith('sso:') ? method.slice(4) : undefined;\n}\n\nexport type AuthButton =\n | { type: 'oauth'; provider: OauthProviderParams }\n | { type: 'sso'; connection: SSOActiveConnection }\n | { type: 'sso-discovery' };\n\nexport function getButtonKey(button: AuthButton) {\n if (button.type === 'oauth') {\n return button.provider.type;\n } else if (button.type === 'sso') {\n return getSsoMethodKey(button.connection);\n } else {\n return 'sso-discovery';\n }\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { arrayUtils } from '@stytch/core';\nimport { AuthFlowType, B2BOAuthProviders } from '@stytch/core/public';\nimport React from 'react';\n\nimport { assertUnreachable } from '../../../utils/assertUnreachable';\nimport Button from '../../components/atoms/Button';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { getButtonId, usePresentation } from '../../components/PresentationConfig';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { OauthProviderParams, useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod';\nimport { AppScreens, ButtonComponent, MainScreenComponent } from '../types/AppScreens';\nimport { AuthButton as AuthButtonType, getButtonKey, getSsoMethodKey } from '../types/authMethodKeys';\nimport { useProductComponents } from '../utils';\n\n// OAuth helper functions\nexport const getCustomScopesForProvider = (\n oauthProvider: {\n type: B2BOAuthProviders;\n one_tap: boolean;\n customScopes: string[];\n providerParams: Record<string, string>;\n cancel_on_tap_outside?: boolean;\n },\n oauthOptionsCustomScopes: string[] | undefined,\n) => {\n let currentCustomScopes = oauthProvider.customScopes;\n if (Object.keys(currentCustomScopes).length == 0) {\n currentCustomScopes = oauthOptionsCustomScopes as string[];\n }\n return currentCustomScopes;\n};\n\nexport const getProviderParamsForProvider = (\n oauthProvider: {\n type: B2BOAuthProviders;\n one_tap: boolean;\n customScopes: string[];\n providerParams: Record<string, string>;\n cancel_on_tap_outside?: boolean;\n },\n oauthOptionsProviderParams: Record<string, string> | undefined,\n email: string | undefined,\n) => {\n let currentProviderParams = oauthProvider.providerParams;\n if (Object.keys(currentProviderParams).length == 0) {\n currentProviderParams = oauthOptionsProviderParams ?? {};\n }\n\n if (\n email &&\n (oauthProvider.type === B2BOAuthProviders.Google || oauthProvider.type === B2BOAuthProviders.Microsoft) &&\n !('login_hint' in currentProviderParams)\n ) {\n currentProviderParams = {\n ...currentProviderParams,\n login_hint: email,\n };\n }\n\n return currentProviderParams;\n};\n\nexport const SsoAndOAuthButtons = ({ buttons }: { buttons: ButtonComponent[] }) => {\n const { t } = useLingui();\n const [state, dispatch] = useGlobalReducer();\n const { oauthProviderSettings = [] } = useEffectiveAuthConfig();\n const presentation = usePresentation();\n\n const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();\n\n const config = useConfig();\n const { loginRedirectURL, signupRedirectURL, discoveryRedirectURL, customScopes, providerParams } =\n config.oauthOptions ?? {};\n\n const { B2BGoogleOneTap, OAuthB2BButton, SSOButton } = useProductComponents(config, 'ssoAndOAuthButtons')!;\n\n // Determine which buttons need to be displayed\n const isDiscoveryFlow = state.flowState.type === AuthFlowType.Discovery;\n const authButtons = buttons.flatMap<AuthButtonType>((button) => {\n if (button === MainScreenComponent.OAuthButtons) {\n return oauthProviderSettings.map((provider) => ({ type: 'oauth', provider }));\n } else if (button === MainScreenComponent.SSOButtons) {\n return isDiscoveryFlow\n ? { type: 'sso-discovery' }\n : (state.flowState.organization?.sso_active_connections?.map((connection) => ({ type: 'sso', connection })) ??\n []);\n } else {\n assertUnreachable(button);\n }\n });\n\n if (authButtons.length === 0) {\n return null;\n }\n\n // Reorder providers based on last used\n const [reorderedButtons, foundLastUsedOAuth] = arrayUtils.moveToFront(\n authButtons,\n (button) => getButtonKey(button) === lastUsedMethod,\n );\n\n // Helper function to create OAuth button component\n const createOAuthButton = (oauthProvider: OauthProviderParams) => {\n const providerProps = {\n customScopes: getCustomScopesForProvider(oauthProvider, customScopes),\n providerParams: getProviderParamsForProvider(oauthProvider, providerParams, state.primary.email),\n };\n\n if (oauthProvider.one_tap) {\n return (\n <B2BGoogleOneTap\n key={oauthProvider.type}\n {...providerProps}\n cancelOnTapOutside={oauthProvider.cancel_on_tap_outside}\n />\n );\n }\n\n return (\n <OAuthB2BButton\n key={oauthProvider.type}\n providerType={oauthProvider.type}\n loginRedirectUrl={loginRedirectURL}\n signupRedirectUrl={signupRedirectURL}\n discoveryRedirectUrl={discoveryRedirectURL}\n onSuccess={() => setLastUsedMethod(oauthProvider.type)}\n {...providerProps}\n />\n );\n };\n\n return (\n <ButtonColumn>\n {reorderedButtons.map((button, index) => {\n const buttonComponent = (() => {\n switch (button.type) {\n case 'oauth':\n return createOAuthButton(button.provider);\n\n case 'sso':\n return (\n <SSOButton\n key={button.connection.display_name}\n connection={button.connection}\n onStart={() => setLastUsedMethod(getSsoMethodKey(button.connection))}\n />\n );\n\n case 'sso-discovery':\n return (\n <Button\n key=\"sso-discovery\"\n variant=\"outline\"\n id={getButtonId('sso-discovery', presentation.options)}\n onClick={() => {\n dispatch({ type: 'transition', screen: AppScreens.SSODiscoveryEmail, history: 'push' });\n }}\n >\n {t({ id: 'provider.continueWithSSO', message: 'Use single sign-on' })}\n </Button>\n );\n\n default:\n assertUnreachable(button);\n }\n })();\n\n return foundLastUsedOAuth && index === 0 ? (\n <LastUsed key={getButtonKey(button)}>{buttonComponent}</LastUsed>\n ) : (\n buttonComponent\n );\n })}\n </ButtonColumn>\n );\n};\n","import { useStytch } from '../GlobalContextProvider';\nimport { useMutate } from '../utils';\n\nexport const useSsoDiscoveryConnection = () => {\n const stytch = useStytch();\n\n return useMutate(\n 'stytch.sso.discoverConnections',\n async (_key, { arg: { emailAddress } }: { arg: { emailAddress: string } }) =>\n await stytch.sso.discoverConnections(emailAddress),\n { throwOnError: true },\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React, { useState } from 'react';\n\nimport { extractErrorMessage } from '../../../utils/extractErrorMessage';\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 { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { useSsoDiscoveryConnection } from '../hooks/useSsoDiscoveryConnection';\n\nexport const SSODiscoveryEmail = () => {\n const [, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState('');\n const { t } = useLingui();\n\n const [error, setError] = useState<string>();\n const [isLoading, setIsLoading] = useState(false);\n\n const { trigger } = useSsoDiscoveryConnection();\n\n const stytch = useStytch();\n const { ssoOptions } = useConfig();\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setError(undefined);\n\n const tryGetConnections = async () => {\n try {\n const response = await trigger({ emailAddress: email });\n\n if (!response) {\n return [];\n }\n\n return response.connections;\n } catch (e) {\n setError(\n extractErrorMessage(\n e,\n t({\n id: 'ssoDiscovery.email.error.unknown',\n message: 'Something went wrong. Try again later or contact your admin for help.',\n }),\n ),\n );\n }\n };\n\n try {\n setIsLoading(true);\n\n const connections = await tryGetConnections();\n\n if (connections?.length === 1) {\n const [connection] = connections;\n await stytch.sso.start({\n connection_id: connection.connection_id,\n login_redirect_url: ssoOptions?.loginRedirectURL,\n signup_redirect_url: ssoOptions?.signupRedirectURL,\n });\n\n // We intentionally leave `isLoading` set to `true` since we're expecting\n // the user to be redirected\n return;\n }\n\n setIsLoading(false);\n\n if (connections) {\n dispatch({ type: 'set_sso_discovery_state', connections });\n }\n } catch (e) {\n setIsLoading(false);\n throw e;\n }\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'ssoDiscovery.email.title', message: 'Enter your email to continue' })}\n </Typography>\n\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <EmailInput email={email} setEmail={setEmail} hideLabel error={error} />\n\n <Button variant=\"primary\" loading={isLoading} type=\"submit\">\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React, { useState } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport Input from '../../components/molecules/Input';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { useMutate } from '../utils';\n\nexport const SSODiscoveryFallback = () => {\n const [, dispatch] = useGlobalReducer();\n const [slug, setSlug] = useState('');\n const [error, setError] = useState<string>();\n const [isSubmitting, setIsSubmitting] = useState(false);\n const stytchClient = useStytch();\n const { ssoOptions } = useConfig();\n const { t } = useLingui();\n\n const { trigger: lookupOrganization } = useMutate(\n 'stytch.organization.getBySlug',\n async (_: string, { arg: { slug } }: { arg: { slug: string } }) =>\n stytchClient.organization.getBySlug({ organization_slug: slug }),\n {\n onError: () => {\n setError(t({ id: 'ssoDiscovery.fallback.error.unknown', message: 'An error occurred. Please try again.' }));\n setIsSubmitting(false);\n },\n },\n );\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setError(undefined);\n setIsSubmitting(true);\n\n const result = await lookupOrganization({ slug });\n if (result) {\n const { organization } = result;\n if (organization === null) {\n setError(\n t({ id: 'ssoDiscovery.fallback.error.orgNotFound', message: 'Organization not found. Please try again.' }),\n );\n setIsSubmitting(false);\n } else if (organization.sso_active_connections.length === 1) {\n const [connection] = organization.sso_active_connections;\n await stytchClient.sso.start({\n connection_id: connection.connection_id,\n login_redirect_url: ssoOptions?.loginRedirectURL,\n signup_redirect_url: ssoOptions?.signupRedirectURL,\n });\n } else {\n dispatch({\n type: 'set_organization',\n organization,\n });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n }\n }\n };\n\n const handleTryAnotherMethod = () => {\n dispatch({ type: 'transition', screen: AppScreens.Main });\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'ssoDiscovery.fallback.title', message: \"Sorry, we couldn't find any connections\" })}\n </Typography>\n <Typography>\n {t({\n id: 'ssoDiscovery.fallback.content',\n message:\n \"Please input the Organization's unique slug to continue. If you don't know the unique slug, log in through another method to view all of your available Organizations.\",\n })}\n </Typography>\n\n <Column as=\"form\" onSubmit={handleSubmit} gap={2}>\n <Input\n id=\"organization-slug\"\n hideLabel\n label={t({ id: 'formField.orgSlug.label', message: 'Organization slug' })}\n value={slug}\n onChange={(e) => setSlug(e.target.value)}\n placeholder={t({ id: 'formField.orgSlug.label', message: 'Organization slug' })}\n error={error}\n />\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\" disabled={!slug || isSubmitting}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n\n <Button variant=\"outline\" onClick={handleTryAnotherMethod}>\n {t({ id: 'ssoDiscovery.fallback.button.reset', message: 'Try another method' })}\n </Button>\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { arrayUtils } from '@stytch/core';\nimport { SSOActiveConnection } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { SSOButton } from '../components/SSOButton';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { useLastUsedAuthMethod } from '../hooks/useLastUsedAuthMethod';\nimport { extractConnectionId, getSsoMethodKey } from '../types/authMethodKeys';\n\nconst SSOButtons = ({ availableConnections }: { availableConnections: SSOActiveConnection[] }) => {\n const [lastUsedMethod, setLastUsedMethod] = useLastUsedAuthMethod();\n const lastUsedSso = extractConnectionId(lastUsedMethod);\n\n const [connections, foundLastUsed] = arrayUtils.moveToFront(\n availableConnections,\n (connection) => connection.connection_id === lastUsedSso,\n );\n\n return (\n <Column gap={2}>\n {connections.map((provider, index) => {\n const button = (\n <SSOButton\n key={provider.display_name}\n connection={provider}\n onStart={(connection) => setLastUsedMethod(getSsoMethodKey(connection))}\n />\n );\n\n return foundLastUsed && index === 0 ? <LastUsed>{button}</LastUsed> : button;\n })}\n </Column>\n );\n};\n\nexport const SSODiscoveryMenu = () => {\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'ssoDiscovery.title', message: 'Select a connection to continue' })}\n </Typography>\n\n <Column gap={4}>\n <SSOButtons availableConnections={state.formState.ssoDiscoveryState.connections} />\n\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n </Column>\n );\n};\n","'use client';\n\nimport React from 'react';\n\nimport { B2BGoogleOneTap } from './components/B2BOneTap';\nimport { emailIcons, oauthIcons, ssoIcons } from './components/Icons';\nimport { OAuthB2BButton } from './components/OAuthB2BButton';\nimport { SSOButton } from './components/SSOButton';\nimport { EmailConfirmation } from './screens/EmailConfirmation';\nimport { EmailDiscoveryForm, EmailForm } from './screens/EmailForm';\nimport { EmailMethodSelectionScreen } from './screens/EmailMethodSelectionScreen';\nimport { EmailOTPEntryScreen } from './screens/EmailOTPEntryScreen';\nimport { PasswordsAuthenticate } from './screens/PasswordAuthenticate';\nimport { PasswordsEmailForm } from './screens/PasswordEmailForm';\nimport { PasswordsForgotForm } from './screens/PasswordForgotForm';\nimport { PasswordResetConfirmation } from './screens/PasswordResetConfirmation';\nimport { PasswordResetForm } from './screens/PasswordResetForm';\nimport { PasswordSetNew } from './screens/PasswordSetNew';\nimport { SsoAndOAuthButtons } from './screens/SsoAndOAuthButtons';\nimport { SSODiscoveryEmail } from './screens/SSODiscoveryEmail';\nimport { SSODiscoveryFallback } from './screens/SSODiscoveryFallback';\nimport { SSODiscoveryMenu } from './screens/SSODiscoveryMenu';\nimport { StytchB2BProduct } from './StytchB2BProduct';\nimport { AppScreens, MainScreenComponent } from './types/AppScreens';\n\nconst EmailFormWithoutPassword = () => <EmailForm showPasswordButton={false} />;\nconst EmailFormWithPassword = () => <EmailForm showPasswordButton />;\nconst EmailDiscoveryFormWithoutPassword = () => <EmailDiscoveryForm showPasswordButton={false} />;\nconst EmailDiscoveryFormWithPassword = () => <EmailDiscoveryForm showPasswordButton />;\n\nexport const emailMagicLinks: StytchB2BProduct = {\n id: 'emailMagicLinks',\n screens: {\n [AppScreens.EmailConfirmation]: EmailConfirmation,\n [AppScreens.EmailMethodSelection]: EmailMethodSelectionScreen,\n },\n mainScreen: {\n [MainScreenComponent.EmailForm]: EmailFormWithoutPassword,\n [MainScreenComponent.EmailDiscoveryForm]: EmailDiscoveryFormWithoutPassword,\n [MainScreenComponent.PasswordEmailCombined]: EmailFormWithPassword,\n [MainScreenComponent.PasswordEmailCombinedDiscovery]: EmailDiscoveryFormWithPassword,\n },\n icons: emailIcons,\n};\n\nexport const emailOtp: StytchB2BProduct = {\n id: 'emailOtp',\n screens: {\n [AppScreens.EmailOTPEntry]: EmailOTPEntryScreen,\n [AppScreens.EmailMethodSelection]: EmailMethodSelectionScreen,\n [AppScreens.EmailConfirmation]: EmailConfirmation,\n },\n mainScreen: {\n [MainScreenComponent.EmailForm]: EmailFormWithoutPassword,\n [MainScreenComponent.EmailDiscoveryForm]: EmailDiscoveryFormWithoutPassword,\n [MainScreenComponent.PasswordEmailCombined]: EmailFormWithPassword,\n [MainScreenComponent.PasswordEmailCombinedDiscovery]: EmailDiscoveryFormWithPassword,\n },\n icons: emailIcons,\n};\n\nexport const sso: StytchB2BProduct = {\n id: 'sso',\n screens: {\n [AppScreens.SSODiscoveryEmail]: SSODiscoveryEmail,\n [AppScreens.SSODiscoveryMenu]: SSODiscoveryMenu,\n [AppScreens.SSODiscoveryFallback]: SSODiscoveryFallback,\n },\n ssoAndOAuthButtons: {\n SsoAndOAuthButtons,\n SSOButton,\n },\n icons: ssoIcons,\n};\n\nexport const passwords: StytchB2BProduct = {\n id: 'passwords',\n screens: {\n [AppScreens.PasswordEmailForm]: PasswordsEmailForm,\n [AppScreens.PasswordAuthenticate]: PasswordsAuthenticate,\n [AppScreens.PasswordForgotForm]: PasswordsForgotForm,\n [AppScreens.PasswordSetNewConfirmation]: PasswordSetNew,\n [AppScreens.PasswordResetForm]: PasswordResetForm,\n [AppScreens.PasswordResetVerifyConfirmation]: PasswordResetConfirmation,\n },\n mainScreen: {\n [MainScreenComponent.PasswordsEmailForm]: PasswordsEmailForm,\n [MainScreenComponent.PasswordEmailCombined]: EmailFormWithPassword,\n [MainScreenComponent.PasswordEmailCombinedDiscovery]: EmailDiscoveryFormWithPassword,\n },\n icons: emailIcons,\n};\n\nexport const oauth: StytchB2BProduct = {\n id: 'oauth',\n screens: {},\n ssoAndOAuthButtons: {\n SsoAndOAuthButtons,\n B2BGoogleOneTap,\n OAuthB2BButton,\n },\n icons: oauthIcons,\n};\n","import { StytchEventType } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport { Confirmation } from '../../components/molecules/Confirmation';\nimport { useMountEffect } from '../../hooks/useMountEffect';\nimport { useEventCallback } from '../GlobalContextProvider';\n\nexport const ConfirmationScreen = () => {\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return <Confirmation />;\n};\n","import { Organization } from '@stytch/core/public';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport { buttonClassNames } from '../../components/atoms/Button';\nimport VerticalTransition, { hoverTriggerClass } from '../../components/atoms/VerticalTransition';\nimport { Badge } from '../../components/molecules/Badge';\nimport styles from './OrganizationRow.module.css';\n\nexport type OrganizationRowProps = {\n organization: Organization;\n action?: string;\n onClick: () => void;\n};\n\nconst Arrow = () => (\n <svg\n className={styles.arrow}\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14.707 10L10.3535 14.3545L9.64648 13.6475L12.793 10.5H6V9.5H12.793L9.64648 6.35352L10.3535 5.64648L14.707 10Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nconst OrganizationRow = ({ organization, action, onClick }: OrganizationRowProps) => {\n const { organization_name, organization_logo_url } = organization;\n\n const logo = organization_logo_url ? (\n <img className={styles.logo} src={organization_logo_url} alt=\"\" />\n ) : (\n <div className={styles.logo} role=\"presentation\">\n {\n // The Array.from() accounts for two byte Unicode characters\n Array.from(organization_name)[0]\n }\n </div>\n );\n\n return (\n <button\n className={classNames(\n styles.organizationRow,\n hoverTriggerClass,\n buttonClassNames({\n variant: 'outline',\n // Not a block even though it looks like it to avoid the inheriting the centering style\n }),\n )}\n onClick={onClick}\n >\n <div className={styles.left}>\n {logo}\n <div className={styles.nameText}>{organization_name}</div>\n </div>\n\n <VerticalTransition\n trigger=\"hover\"\n rootClassName={styles.right}\n className={styles.rightContent}\n primary={action && <Badge>{action}</Badge>}\n secondary={<Arrow />}\n />\n </button>\n );\n};\n\nexport default OrganizationRow;\n","import { useLingui } from '@lingui/react/macro';\nimport {\n B2BDiscoveryIntermediateSessionsExchangeResponse,\n B2BDiscoveryOrganizationsCreateResponse,\n DirectLoginForSingleMembershipConfig,\n DiscoveredOrganization,\n StytchAPIError,\n StytchProjectConfigurationInput,\n} from '@stytch/core/public';\nimport React, { useCallback, useEffect } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport { LoadingScreen, LoggingInScreen } from '../../components/molecules/Loading';\nimport OrganizationRow from '../components/OrganizationRow';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { ErrorType } from '../types/ErrorType';\nimport { onAuthenticateSuccess, StytchMutationKey, useBootstrap, useMutate } from '../utils';\n\nconst isJoinViaJitType = (type: DiscoveredOrganization['membership']['type']) =>\n type === 'eligible_to_join_by_email_domain' || type === 'eligible_to_join_by_oauth_tenant';\n\nconst DiscoverNoOrganizations = () => {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n const { createOrganizationEnabled } = useBootstrap();\n const { t } = useLingui();\n const goBack = () => dispatch({ type: 'transition', screen: AppScreens.Main });\n\n const { trigger: stytchCreateOrganization, isMutating: isCreateLoading } = useMutate<\n B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>,\n StytchAPIError,\n StytchMutationKey\n >(\n 'stytch.discovery.organizations.create',\n () =>\n stytchClient.discovery.organizations.create({\n session_duration_minutes: config.sessionOptions.sessionDurationMinutes,\n }),\n {\n onSuccess: (data: B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n onError: (error) => {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType:\n error.error_type === 'action_not_allowed_email_domain_is_claimed'\n ? ErrorType.OrganizationDiscoveryClaimedDomain\n : ErrorType.Default,\n canGoBack: true,\n });\n },\n },\n );\n\n const shouldAutomaticallyCreateOrganization =\n createOrganizationEnabled && config.directCreateOrganizationForNoMembership;\n\n useEffect(() => {\n if (shouldAutomaticallyCreateOrganization) {\n stytchCreateOrganization();\n }\n }, [shouldAutomaticallyCreateOrganization, stytchCreateOrganization]);\n\n if (shouldAutomaticallyCreateOrganization || isCreateLoading) {\n return <LoadingScreen />;\n }\n\n const email = state.formState.discoveryState.email;\n\n if (createOrganizationEnabled && !config.disableCreateOrganization) {\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'organizationDiscovery.noOrgs.create.title', message: 'Create an organization to get started' })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'organizationDiscovery.noOrgs.create.content',\n message: `${email} does not have an account. Think this is a mistake? Try a different email address, or contact your admin.`,\n })}\n </Typography>\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={() => stytchCreateOrganization()}>\n {t({ id: 'button.createAnOrganization', message: 'Create an organization' })}\n </Button>\n <Button variant=\"ghost\" onClick={goBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n }\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({\n id: 'organizationDiscovery.noOrgs.title',\n message: `${email} does not belong to any organizations.`,\n })}\n </Typography>\n <Typography variant=\"body\">\n {t({\n id: 'organizationDiscovery.noOrgs.content',\n message: 'Make sure your email address is correct. Otherwise, you might need to be invited by your admin.',\n })}\n </Typography>\n <Button variant=\"outline\" onClick={goBack}>\n {t({ id: 'button.tryDifferentEmailAddress', message: 'Try a different email address' })}\n </Button>\n </Column>\n );\n};\n\nconst shouldAllowDirectLoginToOrganization = (\n organizations: DiscoveredOrganization[],\n config?: DirectLoginForSingleMembershipConfig,\n): DiscoveredOrganization | null => {\n // If direct login is not enabled, return false\n if (!config?.status) {\n return null;\n }\n\n // Count active memberships\n const activeOrganizations = organizations.filter((org) => org.membership.type === 'active_member');\n\n // Check for pending invites or JIT provisioning, depending on config\n const hasBlockingConditions = organizations.some(\n (org) =>\n ((org.membership.type === 'pending_member' || org.membership.type === 'invited_member') &&\n !config.ignoreInvites) ||\n (isJoinViaJitType(org.membership.type) && !config.ignoreJitProvisioning),\n );\n\n // Allow direct login if there is exactly one active membership and no blocking conditions\n return activeOrganizations.length === 1 && !hasBlockingConditions ? activeOrganizations[0] : null;\n};\n\nexport const Discovery = () => {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n const { t } = useLingui();\n const shouldDirectLoginConfigEnabled = !!config.directLoginForSingleMembership?.status;\n const { createOrganizationEnabled } = useBootstrap();\n\n useEffect(() => {\n if (isExchangeInProgress) {\n // If there is already an exchange in progress, don't do anything\n return;\n }\n\n const directLoginOrganization = shouldAllowDirectLoginToOrganization(\n state.formState.discoveryState.discoveredOrganizations,\n config.directLoginForSingleMembership,\n );\n\n if (shouldDirectLoginConfigEnabled && directLoginOrganization !== null) {\n handleDiscoveryOrganizationStart(directLoginOrganization);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [\n shouldDirectLoginConfigEnabled,\n state.formState.discoveryState.discoveredOrganizations,\n config.directLoginForSingleMembership,\n ]);\n\n const handleDiscoveryOrganizationStart = (discoveredOrganization: DiscoveredOrganization) => {\n const organization = discoveredOrganization.organization;\n\n if (discoveredOrganization.primary_required) {\n const allowedAuthMethods = discoveredOrganization.primary_required.allowed_auth_methods;\n if (\n allowedAuthMethods &&\n allowedAuthMethods.length === 1 &&\n allowedAuthMethods[0] === 'sso' &&\n organization.sso_default_connection_id\n ) {\n startSso(organization.sso_default_connection_id);\n } else {\n dispatch({\n type: 'select_discovered_organization',\n discoveredOrganization,\n });\n }\n } else {\n stytchDiscoveryExchange({ organizationId: organization.organization_id });\n }\n };\n\n const startSso = useCallback(\n (connectionId: string) => {\n stytchClient.sso.start({\n connection_id: connectionId,\n login_redirect_url: config.ssoOptions?.loginRedirectURL,\n signup_redirect_url: config.ssoOptions?.signupRedirectURL,\n });\n },\n [stytchClient, config.ssoOptions],\n );\n\n const { trigger: stytchDiscoveryExchange, isMutating: isExchangeInProgress } = useMutate<\n B2BDiscoveryIntermediateSessionsExchangeResponse<StytchProjectConfigurationInput>,\n StytchAPIError,\n StytchMutationKey,\n { organizationId: string }\n >(\n `stytch.discovery.intermediateSessions.exchange`,\n (_: string, { arg: { organizationId } }: { arg: { organizationId: string } }) =>\n stytchClient.discovery.intermediateSessions.exchange({\n organization_id: organizationId,\n session_duration_minutes: config.sessionOptions.sessionDurationMinutes,\n }),\n {\n onSuccess: (data: B2BDiscoveryIntermediateSessionsExchangeResponse<StytchProjectConfigurationInput>) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n onError: (error) => {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType:\n error.error_type === 'action_not_allowed_email_domain_is_claimed'\n ? ErrorType.OrganizationDiscoveryClaimedDomain\n : ErrorType.Default,\n canGoBack: true,\n });\n },\n },\n );\n\n const { trigger: stytchCreateOrganization, isMutating: isCreateLoading } = useMutate<\n B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>,\n StytchAPIError,\n StytchMutationKey\n >(\n 'stytch.discovery.organizations.create',\n () =>\n stytchClient.discovery.organizations.create({\n session_duration_minutes: config.sessionOptions.sessionDurationMinutes,\n }),\n {\n onSuccess: (data: B2BDiscoveryOrganizationsCreateResponse<StytchProjectConfigurationInput>) => {\n onAuthenticateSuccess(data, dispatch, config);\n },\n onError: (error) => {\n dispatch({\n type: 'set_error_message_and_transition',\n errorType:\n error.error_type === 'action_not_allowed_email_domain_is_claimed'\n ? ErrorType.OrganizationDiscoveryClaimedDomain\n : ErrorType.Default,\n canGoBack: true,\n });\n },\n },\n );\n\n if (isExchangeInProgress) {\n return <LoggingInScreen />;\n }\n\n if (isCreateLoading) {\n return <LoadingScreen />;\n }\n\n if (state.formState.discoveryState.discoveredOrganizations.length === 0) {\n return <DiscoverNoOrganizations />;\n }\n\n const organizationButtons = state.formState.discoveryState.discoveredOrganizations.map((discoveredOrganization) => {\n const { organization, membership } = discoveredOrganization;\n\n let action: string | undefined;\n if (isJoinViaJitType(membership.type) || membership.type === 'pending_member')\n action = t({ id: 'organizationDiscovery.join', message: 'Join' });\n else if (membership.type === 'invited_member')\n action = t({ id: 'organizationDiscovery.acceptInvite', message: 'Accept Invite' });\n\n return (\n <OrganizationRow\n organization={organization}\n action={action}\n onClick={() => handleDiscoveryOrganizationStart(discoveredOrganization)}\n ></OrganizationRow>\n );\n });\n\n const createOrganizationButton =\n createOrganizationEnabled && !config.disableCreateOrganization ? (\n <Button variant=\"outline\" onClick={() => stytchCreateOrganization()}>\n {t({ id: 'button.createAnOrganization', message: 'Create an organization' })}\n </Button>\n ) : null;\n\n const goBackButton = (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n );\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'organizationDiscovery.title', message: 'Select an organization to continue' })}\n </Typography>\n\n {createOrganizationButton ? (\n // Display with divider if the Create Organization Button can be shown,\n // otherwise just show everything together\n <ButtonColumn\n top={organizationButtons}\n bottom={\n <>\n {createOrganizationButton}\n {goBackButton}\n </>\n }\n />\n ) : (\n <Column gap={4}>\n <ButtonColumn>{organizationButtons}</ButtonColumn>\n {goBackButton}\n </Column>\n )}\n </Column>\n );\n};\n","import { AuthFlowType } from '@stytch/core/public';\n\nimport { StytchB2BProduct } from './StytchB2BProduct';\nimport { ButtonComponent, MainScreenComponent } from './types/AppScreens';\nimport { FlowState } from './types/AppState';\n\nexport const isButtonsComponent = (component: MainScreenComponent): component is ButtonComponent =>\n component === MainScreenComponent.OAuthButtons || component === MainScreenComponent.SSOButtons;\n\n/*\n Here we are generating the ordering and which components will be displayed.\n We use the MainScreenComponent enum this because there is some complex logic here, and\n we want to be able to unit test.\n\n Rules we want to follow when generating the components:\n 1. If we're displaying both an email-based method (email magic links and/or email OTPs) and passwords,\n we need to display them together as a single wrapped component. The index of this wrapped component is\n equivalent to the first index of either email-based method or passwords in the config products list.\n 2. If we have both buttons and input, we want to display a divider between the last 2 elements.\n 3. Some components have both a discovery and a non-discovery version. We want to display the correct version\n based on the flow type (found in state).\n 4. We want to display the components in the order that they are listed in the config.\n\n This function should be considered the source of truth for which components to render\n and what order to render them in as of 6/21/23.\n*/\nexport const generateProductComponentsOrdering = (\n products: StytchB2BProduct[],\n flowState: FlowState,\n): MainScreenComponent[][] => {\n const flowStateType = flowState.type;\n const productsSet = new Set(products.map((p) => p.id));\n const displayEmailAndPasswordsTogether =\n (productsSet.has('emailMagicLinks') || productsSet.has('emailOtp')) && productsSet.has('passwords');\n const emailPasswordCombinedComponent =\n flowStateType === AuthFlowType.Organization\n ? MainScreenComponent.PasswordEmailCombined\n : MainScreenComponent.PasswordEmailCombinedDiscovery;\n\n const productComponentsSet = products.reduce((components, product) => {\n switch (product.id) {\n case 'emailMagicLinks':\n case 'emailOtp':\n if (displayEmailAndPasswordsTogether) {\n components.add(emailPasswordCombinedComponent);\n } else {\n components.add(\n flowStateType === AuthFlowType.Organization\n ? MainScreenComponent.EmailForm\n : MainScreenComponent.EmailDiscoveryForm,\n );\n }\n break;\n case 'oauth':\n components.add(MainScreenComponent.OAuthButtons);\n break;\n case 'sso': {\n const isSsoValid =\n flowStateType === AuthFlowType.Discovery ||\n (flowStateType === AuthFlowType.Organization &&\n (flowState.organization?.sso_active_connections?.length ?? 0) > 0);\n if (isSsoValid) {\n components.add(MainScreenComponent.SSOButtons);\n }\n break;\n }\n case 'passwords':\n components.add(\n displayEmailAndPasswordsTogether ? emailPasswordCombinedComponent : MainScreenComponent.PasswordsEmailForm,\n );\n break;\n }\n return components;\n }, new Set<MainScreenComponent>());\n\n return Array.from(productComponentsSet).reduce<MainScreenComponent[][]>((groups, component, i, arr) => {\n const prevComponent = i > 0 ? arr[i - 1] : undefined;\n\n // Group consecutive components with buttons\n const shouldJoinPreviousGroup = prevComponent && isButtonsComponent(component) && isButtonsComponent(prevComponent);\n\n if (shouldJoinPreviousGroup) {\n groups[groups.length - 1].push(component);\n } else {\n // If the previous group was a different type than this group, prepend a divider\n const prevGroup = groups.length > 0 ? groups[groups.length - 1] : undefined;\n if (prevGroup && isButtonsComponent(prevGroup[0]) !== isButtonsComponent(component)) {\n groups.push([MainScreenComponent.Divider]);\n }\n\n groups.push([component]);\n }\n return groups;\n }, []);\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { AuthFlowType } from '@stytch/core/public';\nimport React from 'react';\n\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport Divider from '../../components/molecules/Divider';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport { usePresentation } from '../../components/PresentationConfig';\nimport { generateProductComponentsOrdering, isButtonsComponent } from '../generateProductComponentsOrdering';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { useEffectiveAuthConfig } from '../hooks/useEffectiveAuthConfig';\nimport { ButtonComponent, MainScreenComponent } from '../types/AppScreens';\nimport { useProductComponents } from '../utils';\n\nfunction isButtonGroup(group: MainScreenComponent[]): group is ButtonComponent[] {\n return group.every(isButtonsComponent);\n}\n\nexport const MainScreen = () => {\n const { options } = usePresentation();\n const [state] = useGlobalReducer();\n const { t } = useLingui();\n\n const { primaryAuthMethods, email, emailVerified } = state.primary;\n\n const config = useConfig();\n const { products } = useEffectiveAuthConfig();\n\n const isLoading = state.flowState.type === AuthFlowType.Organization && !state.flowState.organization;\n\n // Generate ordering and types of product components\n const productComponentsOrdering = generateProductComponentsOrdering(products, state.flowState);\n const mainScreenComponents = useProductComponents(config, 'mainScreen')!;\n const { SsoAndOAuthButtons } = useProductComponents(config, 'ssoAndOAuthButtons')!;\n\n const organizationName = state.flowState.organization?.organization_name;\n let title: string;\n switch (state.flowState.type) {\n case AuthFlowType.Discovery:\n title = t({ id: 'login.title', message: 'Sign up or log in' });\n break;\n case AuthFlowType.PasswordReset:\n title = '';\n break;\n default:\n title = organizationName\n ? t({\n id: 'organizationLogin.title',\n message: `Continue to ${organizationName}`,\n })\n : t({\n id: 'organizationLogin.titleUnknown',\n message: 'Continue to ...',\n comment: 'Used instead of organizationLogin.title when the organization name is not available',\n });\n break;\n }\n\n // Show a targeted message if the member has an unverified email address and\n // additional primary auth is required\n const showVerifyEmailCopy = email && emailVerified === false && primaryAuthMethods;\n\n if (isLoading) {\n return <LoadingScreen />;\n }\n\n return (\n <Column gap={6}>\n {!options.hideHeaderText &&\n (showVerifyEmailCopy ? (\n <>\n <Typography variant=\"header\">\n {t({ id: 'emailVerification.title', message: 'Verify your email' })}\n </Typography>\n\n <Typography>\n {t({\n id: 'emailVerification.content',\n message: 'Confirm your email address with one of the following:',\n })}\n </Typography>\n </>\n ) : (\n title && (\n <Typography variant=\"header\" align=\"center\">\n {title}\n </Typography>\n )\n ))}\n\n <Column gap={4}>\n {productComponentsOrdering.map((group) =>\n isButtonGroup(group) ? (\n <SsoAndOAuthButtons key=\"buttons\" buttons={group} />\n ) : (\n group.map((component, index) => {\n const Component = mainScreenComponents[component];\n if (Component) {\n return <Component key={component} />;\n }\n if (component === MainScreenComponent.Divider) {\n return <Divider key={'divider' + index} />;\n }\n return null;\n })\n ),\n )}\n </Column>\n </Column>\n );\n};\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { StringLiteralFromEnum } from '@stytch/core';\nimport { B2BMFAProducts } from '@stytch/core/public';\nimport React, { useMemo } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport { getEnabledMethods } from '../getEnabledMethods';\nimport { useConfig, useGlobalReducer } from '../GlobalContextProvider';\nimport { B2B_MFA_METHODS } from '../reducer/mfa';\nimport { AppScreens } from '../types/AppScreens';\n\nconst mfaOptions: Record<\n StringLiteralFromEnum<B2BMFAProducts>,\n {\n messageDescriptor: MessageDescriptor;\n screen: AppScreens;\n }\n> = {\n [B2BMFAProducts.totp]: {\n messageDescriptor: msg({ id: 'mfa.enrollment.option.totp', message: 'Use an authenticator app' }),\n screen: AppScreens.TOTPEnrollmentQRCode,\n },\n [B2BMFAProducts.smsOtp]: {\n messageDescriptor: msg({ id: 'mfa.enrollment.option.sms', message: 'Text me a code' }),\n screen: AppScreens.SMSOTPEnrollment,\n },\n};\n\nexport const MFAEnrollmentSelectionScreen = () => {\n const { t } = useLingui();\n const { mfaProductInclude, mfaProductOrder } = useConfig();\n\n const [state, dispatch] = useGlobalReducer();\n\n // This screen should only be shown if primary info is available\n const { organizationMfaOptionsSupported } = state.mfa.primaryInfo!;\n\n const handleNavigate = (screen: AppScreens) => {\n dispatch({\n type: 'transition',\n screen,\n history: 'push',\n });\n };\n\n const displayOptions = useMemo(() => {\n const optionsToDisplay = getEnabledMethods({\n allMethods: B2B_MFA_METHODS,\n orgSupportedMethods: organizationMfaOptionsSupported,\n uiIncludedMethods: mfaProductInclude,\n });\n\n const result: StringLiteralFromEnum<B2BMFAProducts>[] = [];\n for (const option of mfaProductOrder ?? B2B_MFA_METHODS) {\n if (optionsToDisplay.has(option)) {\n result.push(option);\n optionsToDisplay.delete(option);\n }\n }\n\n result.push(...optionsToDisplay);\n return result;\n }, [mfaProductInclude, mfaProductOrder, organizationMfaOptionsSupported]);\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'mfa.enrollment.title', message: 'Set up Multi-Factor Authentication' })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'mfa.enrollment.content',\n message: 'Your organization requires an additional form of verification to make your account more secure.',\n })}\n </Typography>\n\n <ButtonColumn>\n {displayOptions.map((option) => {\n const { messageDescriptor, screen } = mfaOptions[option];\n return (\n <Button key={option} variant=\"outline\" onClick={() => handleNavigate(screen)}>\n {t(messageDescriptor)}\n </Button>\n );\n })}\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { RecoveryCodeRecoverResponse, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { FormEvent, useState } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport Input from '../../components/molecules/Input';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { StytchMutationKey, useMutate } from '../utils';\nimport styles from './RecoveryCodeEntryScreen.module.css';\n\nexport const RecoveryCodeEntryScreen = () => {\n const stytchClient = useStytch();\n const {\n sessionOptions: { sessionDurationMinutes },\n } = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n\n // This screen should only be shown if primary info is available\n const { memberId, organizationId } = state.mfa.primaryInfo!;\n\n const {\n trigger: authenticate,\n isMutating: isSubmitting,\n error,\n } = useMutate<\n RecoveryCodeRecoverResponse<StytchProjectConfigurationInput>,\n unknown,\n StytchMutationKey,\n { recoveryCode: string; memberId: string; organizationId: string; sessionDurationMinutes: number }\n >(\n 'stytch.recoveryCodes.recover',\n (\n _: string,\n {\n arg: { recoveryCode, memberId, organizationId, sessionDurationMinutes },\n }: { arg: { recoveryCode: string; memberId: string; organizationId: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.recoveryCodes.recover({\n recovery_code: recoveryCode,\n member_id: memberId,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n throwOnError: false,\n onSuccess: () => {\n dispatch({ type: 'recovery_code/authenticate_success' });\n },\n },\n );\n\n const [recoveryCode, setRecoveryCode] = useState('');\n const errorMessage = error\n ? t({ id: 'recoveryCodes.entry.error.invalidCode', message: 'Invalid backup code, please try again.' })\n : undefined;\n\n const handleSubmit = async (e: FormEvent) => {\n e.preventDefault();\n authenticate({ recoveryCode, memberId, organizationId, sessionDurationMinutes });\n };\n\n return (\n <Column as=\"form\" gap={6} onSubmit={handleSubmit}>\n <Typography variant=\"header\">{t({ id: 'recoveryCodes.entry.title', message: 'Enter backup code' })}</Typography>\n <Typography variant=\"body\">\n {t({\n id: 'recoveryCodes.entry.content',\n message: 'Enter one of the backup codes you saved when setting up your authenticator app.',\n })}\n </Typography>\n\n <Input\n id=\"recovery-code\"\n className={styles.input}\n value={recoveryCode}\n onChange={(e) => {\n setRecoveryCode(e.target.value);\n }}\n placeholder={t({ id: 'formField.backupCode.placeholder', message: 'Enter backup code' })}\n label={t({ id: 'formField.backupCode.ariaLabel', message: 'Backup code' })}\n hideLabel\n required\n autoComplete=\"off\"\n spellCheck={false}\n error={errorMessage}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\" disabled={!recoveryCode || isSubmitting}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'navigate_back' })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import classNames from 'classnames';\nimport React, { HTMLAttributes } from 'react';\n\nimport styles from './CodeContainer.module.css';\n\nexport type CodeContainerProps = HTMLAttributes<HTMLDivElement>;\n\nconst CodeContainer: React.FC<CodeContainerProps> = ({ children, className, ...props }) => (\n <div className={classNames(className, styles.container)} {...props}>\n {children}\n </div>\n);\n\nexport default CodeContainer;\n","import { useLingui } from '@lingui/react/macro';\nimport React, { CSSProperties, useMemo } from 'react';\n\nimport Button, { ButtonAnchor } from '../../components/atoms/Button';\nimport CodeContainer from '../../components/atoms/CodeContainer';\nimport Column from '../../components/atoms/Column';\nimport { errorToast } from '../../components/atoms/Toast';\nimport Typography from '../../components/atoms/Typography';\nimport VerticalTransition, { useTimedBoolean } from '../../components/atoms/VerticalTransition';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport TextColumn from '../../components/molecules/TextColumn';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport styles from './RecoveryCodeSaveScreen.module.css';\n\nexport const RecoveryCodeSaveScreen = () => {\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n // This screen should only be shown if TOTP enrollment is available\n const { recoveryCodes } = state.mfa.totp.enrollment!;\n\n const handleContinue = () => {\n dispatch({ type: 'recovery_code/save_acknowledge' });\n };\n\n const fileContent = useMemo(() => {\n const newline = navigator.platform === 'Win32' ? '\\r\\n' : '\\n';\n const blob = new Blob([recoveryCodes.join(newline)], { type: 'text/plain' });\n return URL.createObjectURL(blob);\n }, [recoveryCodes]);\n\n const organizationName = state.flowState.organization?.organization_name;\n const filename = organizationName\n ? t({ id: 'recoveryCodes.filename.withOrganizationName', message: `${organizationName}-backup-codes` })\n : t({\n id: 'recoveryCodes.filename.noOrganizationName',\n message: 'backup-codes',\n });\n\n const [copied, setCopied] = useTimedBoolean(3);\n const handleCodesCopy = async () => {\n try {\n await navigator.clipboard.writeText(recoveryCodes.join('\\n'));\n setCopied(true);\n } catch {\n errorToast({\n message: t({ id: 'recoveryCodes.save.toast.copyFailed', message: \"Couldn't copy codes to clipboard\" }),\n });\n }\n };\n\n const maxCodeLength = Math.max(...recoveryCodes.map((code) => code.length));\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'recoveryCodes.save.title', message: 'Save your backup codes!' })}\n body={t({\n id: 'recoveryCodes.save.content',\n message: 'This is the only time you will be able to access and save your backup codes.',\n })}\n />\n\n <CodeContainer>\n <Typography font=\"mono\">\n <ul className={styles.codes} style={{ '--st-max-code-length': maxCodeLength + 'ch' } as CSSProperties}>\n {recoveryCodes.map((code, i) => (\n <li key={i}>{code}</li>\n ))}\n </ul>\n </Typography>\n </CodeContainer>\n\n <ButtonColumn>\n {/* eslint-disable-next-line lingui/no-unlocalized-strings */}\n <ButtonAnchor variant=\"primary\" href={fileContent} download={filename + '.txt'}>\n <VerticalTransition\n primary={t({ id: 'recoveryCodes.save.button.download', message: 'Download .txt file' })}\n secondary={t({ id: 'recoveryCodes.save.button.copied', message: 'Copied!' })}\n triggered={copied}\n />\n </ButtonAnchor>\n <Button variant=\"outline\" onClick={handleCodesCopy}>\n {t({ id: 'recoveryCodes.save.button.copyAll', message: 'Copy all to clipboard' })}\n </Button>\n <Button variant=\"ghost\" onClick={handleContinue}>\n {t({ id: 'recoveryCodes.save.button.done', message: 'Done' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { COUNTRIES_LIST, CountryCode } from '@stytch/core';\nimport { B2BSMSSendResponse, StytchAPIError, StytchSDKError } from '@stytch/core/public';\nimport React, { FormEvent } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { formatNumberToIncludeCountryCode } from '../../../utils/handleParsePhoneNumber';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport PhoneInput, { getPhoneNumberProps } from '../../components/molecules/PhoneInput';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { canGoBack } from '../reducer/navigation';\nimport { StytchMutationKey, useMutate } from '../utils';\n\n// eslint-disable-next-line lingui/no-unlocalized-strings\nconst DEFAULT_COUNTRY_CODE = 'US' satisfies CountryCode;\n\n/**\n * Thrown when the user provides a phone number that cannot be parsed.\n */\nclass InvalidPhoneNumberError extends StytchSDKError {\n constructor() {\n // eslint-disable-next-line lingui/no-unlocalized-strings\n super('InvalidPhoneNumberError', 'Invalid phone number');\n }\n}\n\nexport const SMSOTPEnrollScreen = () => {\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n const { smsOtpOptions } = useConfig();\n const {\n mfa: {\n smsOtp: { isSending, sendError, enrolledNumber },\n },\n } = state;\n\n // This screen should only be shown if primary info is available\n const { memberId, organizationId } = state.mfa.primaryInfo!;\n\n const [countryCode, setCountryCode] = React.useState<CountryCode>(\n enrolledNumber?.countryCode ?? DEFAULT_COUNTRY_CODE,\n );\n const [phoneNumber, setPhoneNumber] = React.useState(enrolledNumber?.phoneNumber ?? '');\n\n const errorMessage = React.useMemo(() => {\n if (!sendError) return undefined;\n\n if (sendError instanceof InvalidPhoneNumberError) {\n return t({\n id: 'error.invalidPhoneNumber',\n message: 'Phone number format is invalid. Ensure the phone number is in the E.164 format.',\n });\n }\n\n return getTranslatedError(sendError as StytchAPIError, t);\n }, [sendError, t]);\n\n const { parsePhoneNumber, getExampleNumber } = getPhoneNumberProps(readB2BInternals(stytchClient).clientsideServices);\n\n const { trigger: sendSms } = useMutate<\n B2BSMSSendResponse,\n unknown,\n StytchMutationKey,\n { parsedNumber: string; locale?: string }\n >(\n 'stytch.otps.sms.send',\n async (_: string, { arg: { parsedNumber, locale } }: { arg: { parsedNumber: string; locale?: string } }) => {\n return stytchClient.otps.sms.send({\n mfa_phone_number: parsedNumber,\n member_id: memberId,\n organization_id: organizationId,\n locale: locale,\n });\n },\n {\n onSuccess: (response) => {\n dispatch({\n type: 'sms_otp/send_success',\n response,\n countryCode,\n phoneNumber,\n formattedPhoneNumber: `+${COUNTRIES_LIST[countryCode]} ${phoneNumber}`,\n });\n },\n onError: (error) => {\n dispatch({\n type: 'sms_otp/send_error',\n error,\n });\n },\n },\n );\n\n const handleSubmit = async (e: FormEvent) => {\n e.preventDefault();\n\n dispatch({ type: 'sms_otp/send' });\n try {\n // We parse the phone number here (rather than inside `sendSms`) because we\n // don't want validation errors to be surfaced through the global error\n // callback\n\n const parsedNumber = await formatNumberToIncludeCountryCode({\n parsePhoneNumber,\n phoneNumber,\n country: countryCode,\n });\n\n if (!parsedNumber.isValid) {\n throw new InvalidPhoneNumberError();\n }\n\n await sendSms({ parsedNumber: parsedNumber.number, locale: smsOtpOptions?.locale });\n } catch (error) {\n dispatch({\n type: 'sms_otp/send_error',\n error,\n });\n }\n };\n\n return (\n <Column as=\"form\" gap={6} onSubmit={handleSubmit}>\n <Typography variant=\"header\">\n {t({\n id: 'mfa.smsEnrollment.title',\n message: 'Enter your phone number to set up Multi-Factor Authentication',\n })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'mfa.smsEnrollment.content',\n message: 'Your organization requires an additional form of verification to make your account more secure.',\n })}\n </Typography>\n\n <PhoneInput\n country={countryCode}\n setCountry={setCountryCode}\n phone={phoneNumber}\n setPhone={setPhoneNumber}\n parsePhoneNumber={parsePhoneNumber}\n getExampleNumber={getExampleNumber}\n error={errorMessage}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" loading={isSending} type=\"submit\" disabled={!phoneNumber || isSending}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n {canGoBack(state) && (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'navigate_back' })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n )}\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport {\n B2BMFAProducts,\n B2BSMSAuthenticateResponse,\n B2BSMSSendResponse,\n StytchAPIError,\n StytchProjectConfigurationInput,\n} from '@stytch/core/public';\nimport React, { useEffect, useMemo } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport { formatNumber } from '../../../utils/handleParsePhoneNumber';\nimport { readB2BInternals } from '../../../utils/internal';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport { useCountdown } from '../../components/atoms/Countdown';\nimport { errorToast } from '../../components/atoms/Toast';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport { ResendOTPButton } from '../../components/organisms/ResendOTPButton';\nimport { SentOTPEntry } from '../../components/organisms/SentOTPEntry';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const SMSOTPEntryScreen = () => {\n const stytchClient = useStytch();\n const {\n sessionOptions: { sessionDurationMinutes },\n smsOtpOptions,\n } = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const {\n mfa: { isEnrolling, smsOtp, primaryInfo },\n } = state;\n\n const { codeExpiration, formattedDestination } = smsOtp;\n\n // This screen should only be shown if primary info is available\n const { enrolledMfaMethods, memberId, memberPhoneNumber, organizationId, organizationMfaOptionsSupported } =\n primaryInfo!;\n\n const resendCountdown = useCountdown();\n\n const {\n trigger: sendSms,\n isMutating: isSending,\n error: sendError,\n } = useMutate<\n B2BSMSSendResponse,\n unknown,\n StytchMutationKey,\n { memberId: string; organizationId: string; locale?: string }\n >(\n 'stytch.otps.sms.send',\n (\n _: string,\n {\n arg: { memberId, organizationId, locale },\n }: { arg: { memberId: string; organizationId: string; locale?: string } },\n ) => {\n dispatch({ type: 'sms_otp/send' });\n return stytchClient.otps.sms.send({ member_id: memberId, organization_id: organizationId, locale });\n },\n {\n onSuccess: (response) => {\n dispatch({ type: 'sms_otp/send_success', response });\n },\n onError: (error) => {\n const message = getTranslatedError(error as StytchAPIError, t);\n if (message) {\n errorToast({ message });\n }\n dispatch({ type: 'sms_otp/send_error', error: message });\n },\n // Throw on error to ensure promise is rejected\n throwOnError: true,\n },\n );\n\n const {\n trigger: authenticate,\n isMutating: isAuthenticating,\n error: authenticateError,\n } = useMutate<\n B2BSMSAuthenticateResponse<StytchProjectConfigurationInput>,\n unknown,\n StytchMutationKey,\n { otp: string; memberId: string; organizationId: string; sessionDurationMinutes: number }\n >(\n 'stytch.otps.sms.authenticate',\n (\n _: string,\n {\n arg: { otp, memberId, organizationId, sessionDurationMinutes },\n }: { arg: { otp: string; memberId: string; organizationId: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.otps.sms.authenticate({\n code: otp,\n member_id: memberId,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'sms_otp/authenticate_success' });\n },\n onError: () => {\n resendCountdown.clear();\n },\n },\n );\n\n const shouldCreate = codeExpiration === null && !isSending && !sendError;\n useEffect(() => {\n if (shouldCreate) {\n sendSms({ memberId, organizationId, locale: smsOtpOptions?.locale }).catch(() => {\n // error in the UI is handled through the error object so we just swallow it here when auto-sending\n });\n }\n }, [memberId, organizationId, sendSms, shouldCreate, smsOtpOptions?.locale]);\n\n useEffect(() => {\n if (!formattedDestination && memberPhoneNumber) {\n const handleFormatNumber = async () => {\n const parsePhoneNumber = (phoneNumber: string) =>\n readB2BInternals(stytchClient).clientsideServices.parsedPhoneNumber({\n phoneNumber,\n });\n\n const national = await formatNumber({\n parsePhoneNumber,\n phoneNumber: memberPhoneNumber,\n });\n\n dispatch({\n type: 'sms_otp/format_destination',\n formattedPhoneNumber: national,\n });\n };\n\n handleFormatNumber();\n }\n }, [dispatch, formattedDestination, stytchClient, memberPhoneNumber]);\n\n const isTotpAvailable = useMemo(\n () =>\n !isEnrolling &&\n enrolledMfaMethods.includes(B2BMFAProducts.totp) &&\n (organizationMfaOptionsSupported.length === 0 || organizationMfaOptionsSupported.includes(B2BMFAProducts.totp)),\n [enrolledMfaMethods, isEnrolling, organizationMfaOptionsSupported],\n );\n const errorMessage = authenticateError\n ? t({ id: 'error.passcodeInvalid', message: 'Invalid passcode, please try again.' })\n : undefined;\n\n // The user can go back to change their phone number if either:\n // - we are in an enrollment flow\n // - they are not enrolled in any MFA methods at all\n // - they are not enrolled in any of the limited MFA methods supported by the organization\n const canGoBack = useMemo(\n () =>\n isEnrolling ||\n enrolledMfaMethods.length === 0 ||\n (organizationMfaOptionsSupported.length > 0 &&\n !enrolledMfaMethods.some((enrolledMethod) => organizationMfaOptionsSupported.includes(enrolledMethod))),\n [enrolledMfaMethods, isEnrolling, organizationMfaOptionsSupported],\n );\n\n const handleSubmit = (otp: string) => {\n authenticate({ otp, memberId, organizationId, sessionDurationMinutes });\n };\n\n const handleSwitchToTotp = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.TOTPEntry });\n };\n\n const handleResendOTP = async () => {\n await sendSms({ memberId, organizationId, locale: smsOtpOptions?.locale });\n };\n\n const handleBack = () => {\n dispatch({ type: 'navigate_back' });\n };\n\n const resendButton = (\n <ResendOTPButton countdown={resendCountdown} isSubmitting={isAuthenticating} resendOTP={handleResendOTP} />\n );\n const switchToTotpButton = isTotpAvailable && (\n <Button variant=\"ghost\" onClick={handleSwitchToTotp}>\n {t({ id: 'mfa.methods.authenticatorApp', message: 'Use an authenticator app' })}\n </Button>\n );\n const backButton = canGoBack && (\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n );\n\n return (\n <Column gap={6}>\n {codeExpiration !== null ? (\n <SentOTPEntry\n isSubmitting={isAuthenticating}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n expiration={codeExpiration.getTime()}\n formattedDestination={formattedDestination ?? memberPhoneNumber ?? ''}\n />\n ) : (\n <LoadingScreen />\n )}\n\n {switchToTotpButton && backButton ? (\n <ButtonColumn\n top={resendButton}\n bottom={\n <>\n {switchToTotpButton}\n {backButton}\n </>\n }\n />\n ) : (\n <ButtonColumn>\n {resendButton}\n {switchToTotpButton}\n {backButton}\n </ButtonColumn>\n )}\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React, { CSSProperties, useLayoutEffect, useRef, useState } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport CodeContainer from '../../components/atoms/CodeContainer';\nimport Column from '../../components/atoms/Column';\nimport { errorToast } from '../../components/atoms/Toast';\nimport Typography from '../../components/atoms/Typography';\nimport VerticalTransition, { useTimedBoolean } from '../../components/atoms/VerticalTransition';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport TextColumn from '../../components/molecules/TextColumn';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport styles from './TOTPEnrollManualScreen.module.css';\n\nconst CHUNK_SIZE = 4;\n\nexport const TOTPEnrollManualScreen = () => {\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n\n const [copied, setCopied] = useTimedBoolean(3);\n\n // This screen should only be shown if TOTP enrollment is available\n const { secret } = state.mfa.totp.enrollment!;\n\n const displaySecret = secret.toLowerCase();\n const secretChunked = displaySecret.split(new RegExp(`(.{${CHUNK_SIZE}})`, 'g')).filter(Boolean);\n\n const { codeRef, columnCount } = useColumnCount(secretChunked.length);\n\n const handleBack = () => dispatch({ type: 'navigate_back' });\n\n const handleContinue = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.TOTPEntry });\n };\n\n const handleCodeCopy = async () => {\n try {\n await navigator.clipboard.writeText(displaySecret);\n setCopied(true);\n } catch {\n errorToast({\n message: t({ id: 'mfa.totpEnrollment.toast.copyFailed', message: \"Couldn't copy code to clipboard\" }),\n });\n\n // Select all text instead as fallback\n const selection = window.getSelection();\n if (codeRef.current && selection) {\n selection.empty();\n const range = document.createRange();\n range.selectNodeContents(codeRef.current);\n selection.addRange(range);\n }\n }\n };\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'mfa.totpEnrollment.title', message: 'Having trouble scanning the QR code?' })}\n body={t({\n id: 'mfa.totpEnrollment.content',\n message: 'Click to copy the code below. Enter into your authenticator app to link your account.',\n })}\n />\n\n {/* No additional keyboard support since there's a copy code button below */}\n <CodeContainer className={styles.codeContainer} onClick={handleCodeCopy}>\n {/* This Typography element is on the outside because we need the 1ch gap to also be in monospace */}\n <Typography\n ref={codeRef}\n className={styles.code}\n style={\n {\n '--st-column-count': columnCount,\n '--st-chunk-size': CHUNK_SIZE + 'ch',\n } as CSSProperties\n }\n font=\"mono\"\n >\n {secretChunked.map((part, i) => (\n <span key={i}>{part}</span>\n ))}\n </Typography>\n </CodeContainer>\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={handleCodeCopy}>\n <VerticalTransition\n primary={t({ id: 'mfa.totpEnrollment.copyCode.label', message: 'Copy to clipboard' })}\n secondary={t({ id: 'mfa.totpEnrollment.copyCode.codeCopied', message: 'Copied!' })}\n triggered={copied}\n />\n </Button>\n <Button variant=\"outline\" onClick={handleContinue}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"ghost\" onClick={handleBack}>\n {t({ id: 'button.totpQrRetry', message: 'Try to scan the QR code again' })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n\n// Balance out the rows - this is fairly complex, but there's not any way to really do this in CSS only\n// so instead we read the width of the container and the chunks below it, then use that to calculate\n// first the number of rows, then how many chunks can evenly fit per row\nfunction useColumnCount(chunksCount: number) {\n const codeRef = useRef<HTMLDivElement>(null);\n const [columnCount, setColumnCount] = useState<number>();\n\n useLayoutEffect(() => {\n const updateRowCount = () => {\n if (!codeRef.current) return;\n\n // Get the width of the container and inner spans\n const containerWidth = codeRef.current.clientWidth;\n const spanWidth = Math.max(\n ...Array.from(codeRef.current.querySelectorAll('span')).map((elem) => elem.clientWidth),\n );\n\n // Find the number of columns to display. First compute the raw number\n // Note we don't check how many rows are currently rendered because this number is already affected by\n // the current row count.\n const fittedColumns = Math.floor(containerWidth / spanWidth);\n // Then account for gaps (1ch each, so 1/CHUNK_SIZE per gap)\n const fittedColumnsWithGaps = fittedColumns - Math.floor(fittedColumns / CHUNK_SIZE);\n // Number of rows is count / columns\n const rows = Math.ceil(chunksCount / fittedColumnsWithGaps);\n // And finally the closest even column count is count / rows\n const evenColumns = Math.ceil(chunksCount / rows);\n\n setColumnCount(evenColumns);\n };\n\n updateRowCount();\n\n if (!window.ResizeObserver || !codeRef.current) return;\n const observer = new ResizeObserver(updateRowCount);\n observer.observe(codeRef.current);\n return () => observer.disconnect();\n }, [chunksCount]);\n\n return {\n codeRef,\n columnCount,\n };\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { B2BTOTPCreateResponse, StytchAPIError } from '@stytch/core/public';\nimport React, { useEffect } from 'react';\n\nimport { getTranslatedError } from '../../../utils/getTranslatedError';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport { errorToast } from '../../components/atoms/Toast';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport { useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\nimport styles from './TOTPEnrollQRScreen.module.css';\n\nexport const TOTPEnrollQRScreen = () => {\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const { t } = useLingui();\n const {\n mfa: {\n totp: { createError, enrollment, isCreating },\n },\n } = state;\n\n // This screen should only be shown if primary info and TOTP enrollment are\n // available\n const { memberId, organizationId } = state.mfa.primaryInfo!;\n\n const { trigger: createTotp } = useMutate<\n B2BTOTPCreateResponse,\n unknown,\n StytchMutationKey,\n { memberId: string; organizationId: string }\n >(\n 'stytch.totp.create',\n (_: string, { arg: { memberId, organizationId } }: { arg: { memberId: string; organizationId: string } }) => {\n dispatch({ type: 'totp/create' });\n return stytchClient.totp.create({ member_id: memberId, organization_id: organizationId });\n },\n {\n onSuccess: (response) => {\n dispatch({ type: 'totp/create_success', response, memberId, organizationId });\n },\n onError: (error) => {\n const message = getTranslatedError(error as StytchAPIError, t);\n if (message) {\n errorToast({ message });\n }\n dispatch({ type: 'totp/create_error', error });\n },\n },\n );\n\n const shouldCreate = !enrollment && !isCreating && !createError;\n useEffect(() => {\n if (shouldCreate) {\n createTotp({ memberId, organizationId });\n }\n }, [createTotp, memberId, organizationId, shouldCreate]);\n\n const handleShowManualCode = () => {\n dispatch({ type: 'totp/show_code', method: 'manual' });\n };\n\n const handleContinue = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.TOTPEntry });\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'totp.setupQr.title', message: 'Scan the QR code to link your authenticator app' })}\n </Typography>\n\n <Typography variant=\"body\">\n {t({\n id: 'totp.setupQr.content',\n message:\n 'Your organization requires an additional form of verification to make your account more secure. If you don’t have an authenticator app, you’ll need to install one first.',\n })}\n </Typography>\n\n {enrollment ? (\n <>\n <img\n alt={t({ id: 'mfaTotpEnrollment.qrAltText', message: 'QR code for TOTP enrollment' })}\n src={enrollment.qrCode}\n className={styles.qr}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={handleContinue}>\n {t({ id: 'button.continue', message: 'Continue' })}\n </Button>\n <Button variant=\"outline\" onClick={handleShowManualCode}>\n {t({ id: 'button.totpQrManual', message: 'Having trouble scanning?' })}\n </Button>\n </ButtonColumn>\n </>\n ) : (\n <LoadingScreen />\n )}\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { B2BMFAProducts, B2BTOTPAuthenticateResponse, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useMemo } from 'react';\n\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport OTPEntry from '../../components/molecules/OTPEntry';\nimport { useConfig, useGlobalReducer, useStytch } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { StytchMutationKey, useMutate } from '../utils';\n\nexport const TOTPEntryScreen = () => {\n const stytchClient = useStytch();\n const {\n sessionOptions: { sessionDurationMinutes },\n } = useConfig();\n const { t } = useLingui();\n\n const [state, dispatch] = useGlobalReducer();\n const {\n mfa: { isEnrolling },\n } = state;\n\n // This screen should only be shown if primary info is available\n const { enrolledMfaMethods, memberId, organizationId, organizationMfaOptionsSupported } = state.mfa.primaryInfo!;\n\n const {\n trigger: authenticate,\n isMutating: isSubmitting,\n error: authenticateError,\n } = useMutate<\n B2BTOTPAuthenticateResponse<StytchProjectConfigurationInput>,\n unknown,\n StytchMutationKey,\n { memberId: string; organizationId: string; otp: string; sessionDurationMinutes: number }\n >(\n 'stytch.totp.authenticate',\n (\n _: string,\n {\n arg: { memberId, organizationId, otp, sessionDurationMinutes },\n }: { arg: { memberId: string; organizationId: string; otp: string; sessionDurationMinutes: number } },\n ) =>\n stytchClient.totp.authenticate({\n code: otp,\n member_id: memberId,\n organization_id: organizationId,\n session_duration_minutes: sessionDurationMinutes,\n }),\n {\n onSuccess: () => {\n dispatch({ type: 'totp/authenticate_success' });\n },\n },\n );\n\n const isSmsOtpAvailable = useMemo(\n () =>\n !isEnrolling &&\n enrolledMfaMethods.includes(B2BMFAProducts.smsOtp) &&\n (organizationMfaOptionsSupported.length === 0 || organizationMfaOptionsSupported.includes(B2BMFAProducts.smsOtp)),\n [enrolledMfaMethods, isEnrolling, organizationMfaOptionsSupported],\n );\n\n const errorMessage = authenticateError\n ? t({ id: 'error.passcodeInvalid', message: 'Invalid passcode, please try again.' })\n : undefined;\n const canGoBack = isEnrolling;\n\n const handleSubmit = (otp: string) => authenticate({ memberId, organizationId, otp, sessionDurationMinutes });\n\n const handleSwitchToRecoveryCode = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.RecoveryCodeEntry });\n };\n\n const handleSwitchToSms = () => {\n dispatch({ type: 'transition', history: 'push', screen: AppScreens.SMSOTPEntry });\n };\n\n return (\n <Column gap={6}>\n <OTPEntry\n header={t({ id: 'totp.title', message: 'Enter verification code' })}\n instruction={t({ id: 'totp.content', message: 'Enter the 6-digit code from your authenticator app.' })}\n helperContent={\n isEnrolling\n ? t({\n id: 'mfa.totpEntry.getNewCode',\n message: 'If the verification code doesn’t work, go back to your authenticator app to get a new code.',\n })\n : null\n }\n isSubmitting={isSubmitting}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n />\n\n <ButtonColumn\n top={null}\n bottom={\n <>\n {isSmsOtpAvailable && (\n <Button variant=\"outline\" onClick={handleSwitchToSms}>\n {t({ id: 'mfa.totpEntry.switchToSms', message: 'Text me a code instead' })}\n </Button>\n )}\n\n {!isEnrolling && (\n <Button variant=\"outline\" onClick={handleSwitchToRecoveryCode}>\n {t({ id: 'mfa.totpEntry.useBackupCode', message: 'Use a backup code' })}\n </Button>\n )}\n\n {canGoBack && (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'navigate_back' })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n )}\n </>\n }\n />\n </Column>\n );\n};\n","import { AuthFlowType, StytchAPIError, StytchEvent, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { ComponentType, Dispatch, ReactNode, useEffect, useState } from 'react';\nimport { useSWRConfig } from 'swr';\n\nimport { HandledTokenType } from '../../b2b/StytchB2BClient';\nimport { StytchB2BExtendedLoginConfig } from '../../types';\nimport { extractErrorType } from '../../utils/extractErrorType';\nimport Logo from '../components/atoms/Logo';\nimport { ErrorScreen } from '../components/molecules/ErrorScreen';\nimport { LoggingInScreen } from '../components/molecules/Loading';\nimport MainContainer from '../components/molecules/MainContainer';\nimport { usePresentation } from '../components/PresentationConfig';\nimport { B2BGoogleOneTap } from './components/B2BOneTap';\nimport { useConfig, useErrorCallback, useEventCallback, useGlobalReducer, useStytch } from './GlobalContextProvider';\nimport { useIsOnlyFloatingOneTap } from './hooks/useIsOnlyFloatingOneTap';\nimport { Action } from './reducer';\nimport { ConfirmationScreen } from './screens/Confirmation';\nimport { Discovery } from './screens/Discovery';\nimport { MainScreen } from './screens/Main';\nimport { MFAEnrollmentSelectionScreen } from './screens/MFAEnrollmentSelectionScreen';\nimport { RecoveryCodeEntryScreen } from './screens/RecoveryCodeEntryScreen';\nimport { RecoveryCodeSaveScreen } from './screens/RecoveryCodeSaveScreen';\nimport { SMSOTPEnrollScreen } from './screens/SMSOTPEnrollScreen';\nimport { SMSOTPEntryScreen } from './screens/SMSOTPEntryScreen';\nimport { TOTPEnrollManualScreen } from './screens/TOTPEnrollManualScreen';\nimport { TOTPEnrollQRScreen } from './screens/TOTPEnrollQRScreen';\nimport { TOTPEntryScreen } from './screens/TOTPEntryScreen';\nimport { AppScreens } from './types/AppScreens';\nimport { ErrorType } from './types/ErrorType';\nimport {\n getStytchEventByKey,\n onAuthenticateSuccess,\n onDiscoveryAuthenticateSuccess,\n StytchMutationKey,\n useExtractSlug,\n useProductComponents,\n} from './utils';\n\n/**\n * Separately store additional things to do when authenticateByUrl completes or errors\n */\ntype AuthTokenConfig = {\n mutationKey: StytchMutationKey;\n // Typing this is too hard. Instead, manually verify the typings from the client matches that expected\n // by these success functions\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onSuccess: (data: any, dispatch: Dispatch<Action>, config: StytchB2BExtendedLoginConfig) => void;\n defaultError?: ErrorType;\n};\n\nconst authTokenConfig: Record<HandledTokenType, AuthTokenConfig> = {\n discovery: {\n mutationKey: 'stytch.magicLinks.discovery.authenticate',\n onSuccess: onDiscoveryAuthenticateSuccess,\n defaultError: ErrorType.EmailMagicLink,\n },\n discovery_oauth: {\n mutationKey: 'stytch.oauth.discovery.authenticate',\n onSuccess: onDiscoveryAuthenticateSuccess,\n },\n oauth: {\n mutationKey: 'stytch.oauth.authenticate',\n onSuccess: onAuthenticateSuccess,\n },\n sso: {\n mutationKey: 'stytch.sso.authenticate',\n onSuccess: onAuthenticateSuccess,\n },\n multi_tenant_magic_links: {\n mutationKey: 'stytch.magicLinks.authenticate',\n onSuccess: onAuthenticateSuccess,\n defaultError: ErrorType.EmailMagicLink,\n },\n multi_tenant_impersonation: {\n mutationKey: 'stytch.impersonation.authenticate',\n onSuccess: onAuthenticateSuccess,\n },\n};\n\nconst errorTypeMap: Record<string, ErrorType> = {\n ad_blocker_detected: ErrorType.AdBlockerDetected,\n};\n\nconst AppContainer: () => ReactNode = () => {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const triggerError = useErrorCallback();\n const triggerEvent = useEventCallback();\n const config = useConfig();\n const { displayWatermark, theme, options } = usePresentation();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap();\n\n const currentScreen = state.screen;\n\n const screenComponentMap = useProductComponents(config, 'screens')!;\n\n const handleStytchAPIError = (error: StytchAPIError, defaultErrorType = ErrorType.Default) => {\n const error_type = extractErrorType(error);\n const errorType: ErrorType = errorTypeMap[error_type!] ?? defaultErrorType;\n\n dispatch({\n type: 'set_error_message_and_transition',\n errorType,\n canGoBack: false,\n });\n };\n\n const [isTokenAuthLoading, setIsTokenAuthLoading] = useState(false);\n const { mutate } = useSWRConfig();\n\n const { slug, resultPending } = useExtractSlug();\n\n useEffect(() => {\n // If we're in One Tap only mode, we should not run any other effects\n if (isOnlyFloatingOneTap) {\n return;\n }\n\n // Password reset has special handling for exchanging a magic link token\n // for a session and then using it to reset a password\n if (state.flowState.type == AuthFlowType.PasswordReset) {\n return;\n }\n\n const parsed = stytchClient.parseAuthenticateUrl();\n if (!parsed?.handled) {\n return;\n }\n\n const { mutationKey, defaultError, onSuccess } = authTokenConfig[parsed.tokenType];\n setIsTokenAuthLoading(true);\n mutate(\n mutationKey,\n stytchClient.authenticateByUrl({ session_duration_minutes: config.sessionOptions.sessionDurationMinutes }),\n )\n .then(\n (result) => {\n if (!result?.handled) return; // Should not be possible\n const { data } = result;\n\n const event = getStytchEventByKey(mutationKey);\n if (event) {\n triggerEvent({ type: event, data } as StytchEvent<StytchProjectConfigurationInput>);\n }\n\n onSuccess(data, dispatch, config);\n },\n (error) => {\n triggerError(error);\n handleStytchAPIError(error, defaultError);\n },\n )\n .finally(() => setIsTokenAuthLoading(false));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, []);\n\n useEffect(() => {\n // If we're in One Tap only mode, we should not run any other effects\n if (isOnlyFloatingOneTap) {\n return;\n }\n\n // Skip further action if token discovery is in progress\n if (isTokenAuthLoading) {\n return;\n }\n\n const parsed = stytchClient.parseAuthenticateUrl();\n if (parsed?.handled) {\n return;\n }\n\n if (\n !slug &&\n !resultPending &&\n state.flowState.organization === null &&\n state.screen === AppScreens.Main &&\n state.flowState.type == AuthFlowType.Organization\n ) {\n // No slug found (or no slug pattern)\n dispatch({\n type: 'set_error_message_and_transition',\n errorType: ErrorType.Organization,\n canGoBack: false,\n });\n }\n }, [\n dispatch,\n isOnlyFloatingOneTap,\n isTokenAuthLoading,\n resultPending,\n slug,\n state.flowState.organization,\n state.flowState.type,\n state.screen,\n stytchClient,\n triggerError,\n ]);\n\n if (isOnlyFloatingOneTap) {\n return <B2BGoogleOneTap />;\n }\n\n if (isTokenAuthLoading) {\n return (\n <MainContainer theme={theme} displayWatermark={false}>\n <LoggingInScreen />\n </MainContainer>\n );\n }\n\n let orgLogo;\n if (state.flowState.organization?.organization_logo_url) {\n const { organization_name, organization_logo_url } = state.flowState.organization;\n orgLogo = {\n url: organization_logo_url,\n alt: organization_name ?? '',\n };\n }\n\n const defaultScreenComponents: Partial<Record<AppScreens, ComponentType>> = {\n // Main is omitted from StytchB2BProduct since it's used by everything\n [AppScreens.Main]: MainScreen,\n [AppScreens.LoggedIn]: ConfirmationScreen,\n\n // Discovery can be opted into dynamically via stytch_redirect_type ResetPassword flow\n // so it cannot be statically shaken away\n [AppScreens.Discovery]: Discovery,\n [AppScreens.Error]: ErrorScreen,\n\n // MFA products are dynamically configured depending on organization and user choice,\n // and opted into by default\n [AppScreens.MFAEnrollmentSelection]: MFAEnrollmentSelectionScreen,\n [AppScreens.SMSOTPEnrollment]: SMSOTPEnrollScreen,\n [AppScreens.SMSOTPEntry]: SMSOTPEntryScreen,\n [AppScreens.RecoveryCodeEntry]: RecoveryCodeEntryScreen,\n [AppScreens.RecoveryCodeSave]: RecoveryCodeSaveScreen,\n [AppScreens.TOTPEnrollmentQRCode]: TOTPEnrollQRScreen,\n [AppScreens.TOTPEnrollmentManual]: TOTPEnrollManualScreen,\n [AppScreens.TOTPEntry]: TOTPEntryScreen,\n };\n\n const ScreenComponent = defaultScreenComponents[currentScreen] ?? screenComponentMap[currentScreen];\n\n return (\n <MainContainer theme={theme} displayWatermark={displayWatermark}>\n <Logo appLogo={options.logo} orgLogo={orgLogo} />\n <ScreenComponent />\n </MainContainer>\n );\n};\n\nexport default AppContainer;\n","import { AuthFlowType, RedirectURLType, StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { OverrideProperties } from 'type-fest';\n\nimport { messages } from '../../messages/b2b/en';\nimport { B2BSDKConfig, StytchB2BExtendedLoginConfig } from '../../types';\nimport { readB2BInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { AppScreens } from './types/AppScreens';\nimport { AppState } from './types/AppState';\n\nexport type InternalSDKConfig<TProjectConfiguration extends StytchProjectConfigurationInput> = OverrideProperties<\n B2BSDKConfig<TProjectConfiguration>,\n { config: StytchB2BExtendedLoginConfig }\n>;\n\nexport const InternalAppContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n presentation,\n callbacks,\n config,\n strings,\n}: InternalSDKConfig<TProjectConfiguration>) => {\n /**\n * Read the watermark out of sync storage, then read it out of async storage\n */\n const [displayWatermark, setDisplayWatermark] = useState(() => {\n const { displayWatermark } = readB2BInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n\n useEffect(() => {\n readB2BInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2BInternals(client).networkClient.logEvent({\n name: 'render_b2b_login_screen',\n details: { options: config, bootstrap: data },\n });\n setDisplayWatermark(data.displayWatermark);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, [client]);\n\n const getRedirectTypeFromUrl = () => {\n const url = new URL(window.location.href);\n const redirectType = url.searchParams.get('stytch_redirect_type');\n\n return redirectType;\n };\n\n const redirectType = getRedirectTypeFromUrl();\n const authFlowType =\n redirectType === RedirectURLType.ResetPassword ? AuthFlowType.PasswordReset : config.authFlowType;\n\n const initialState: AppState = {\n ...DEFAULT_STATE,\n screen: authFlowType === AuthFlowType.PasswordReset ? AppScreens.PasswordResetForm : AppScreens.Main,\n flowState: {\n ...DEFAULT_STATE.flowState,\n type: authFlowType,\n },\n };\n\n const configWithDefaults = useMemo(\n () => ({\n ...config,\n // While `sessionOptions` is required in the types, we still want to handle the error gracefully if it's not provided.\n // We set it to an empty object here so that future checks for `sessionOptions.sessionDurationMinutes` throw a `can't read property of undefined` error,\n // and instead throw an error regarding a missing `sessionDurationMinutes` error from the headless client.\n sessionOptions: config.sessionOptions ?? {},\n }),\n [config],\n );\n\n const presentationValue = usePresentationWithDefault(\n presentation,\n displayWatermark,\n configWithDefaults,\n 'B2BProduct',\n );\n\n return (\n <GlobalContextProvider\n client={client}\n callbacks={callbacks}\n config={configWithDefaults}\n initialState={initialState}\n >\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { Member } from '@stytch/core/public';\nimport { useSyncExternalStore } from 'react';\n\nimport { useStytch } from '../GlobalContextProvider';\n\n// useStytchMember is a very lightweight copy-pasta of the hook from stytch-react\n// If we end up calling this in several places, consider hoisting to global context\nexport const useStytchMember = (): Member | null => {\n const stytch = useStytch();\n return useSyncExternalStore(stytch.onStateChange, () => stytch.self.getSync());\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { NoCurrentSessionError } from '@stytch/core/public';\nimport React, { ReactNode, useEffect, useRef, useState } from 'react';\n\nimport { AuthTokenParams } from '../../../types';\nimport { OAuthAuthorizeParams, OAuthLogoutParams, parseIDPParams } from '../../../utils/idpHelpers';\nimport { ErrorDisplay } from '../../components/molecules/ErrorScreen';\nimport { LoadingScreen } from '../../components/molecules/Loading';\nimport MainContainer from '../../components/molecules/MainContainer';\nimport { IDPConsent, useIDPState } from '../../components/organisms/IDPConsent';\nimport { useTrustedAuthTokenParams } from '../../components/organisms/IDPContextProvider';\nimport { IDPLogout, useLogoutState } from '../../components/organisms/IDPLogout';\nimport { usePresentation } from '../../components/PresentationConfig';\nimport { useErrorCallback, useEventCallback, useStytch } from '../GlobalContextProvider';\nimport { useStytchMember } from '../hooks/useStytchMember';\nimport { useBootstrap } from '../utils';\n\nconst IDPConsentScreenImpl = ({\n initialError,\n initialParams,\n}: {\n initialError: string | null;\n initialParams: OAuthAuthorizeParams;\n}) => {\n const stytchClient = useStytch();\n const onError = useErrorCallback();\n const onEvent = useEventCallback();\n const { oauthAuthorizeStart, oauthAuthorizeSubmit } = stytchClient.idp;\n\n // TODO: Consumer and B2B Bootstrap hooks should return same shape\n const bootstrap = useBootstrap();\n\n const idpConsentState = useIDPState({\n initialError,\n initialParams,\n oauthAuthorizeStart,\n oauthAuthorizeSubmit,\n onError,\n onEvent,\n });\n\n return <IDPConsent bootstrap={bootstrap} bootstrapNotLoaded={false} {...idpConsentState} />;\n};\n\nconst IDPLogoutScreenImpl = ({\n initialError,\n initialParams,\n navigate,\n}: {\n initialError: string | null;\n initialParams: OAuthLogoutParams;\n navigate?: (href: string) => void;\n}) => {\n const stytchClient = useStytch();\n const onError = useErrorCallback();\n const { oauthLogoutStart } = stytchClient.idp;\n const revokeSession = () => stytchClient.session.revoke({ forceClear: true });\n\n const bootstrap = useBootstrap();\n const idpLogoutState = useLogoutState({\n initialError,\n initialParams,\n oauthLogoutStart,\n revokeSession,\n onError,\n navigate,\n });\n\n return <IDPLogout {...idpLogoutState} bootstrap={bootstrap} bootstrapNotLoaded={false} />;\n};\n\nexport const IDPConsentScreen = ({\n searchParams = window.location.search,\n navigate,\n}: {\n searchParams?: string;\n navigate?: (href: string) => void;\n} = {}) => {\n // Preserve the URL Params seen on first render - even if they change later\n const [{ flow, error }] = useState(parseIDPParams(searchParams));\n const { theme, displayWatermark } = usePresentation();\n\n let content;\n if (flow.type === 'Authorize') {\n content = (\n <EnsureMemberIsLoggedIn>\n <IDPConsentScreenImpl initialError={error} initialParams={flow.params} />\n </EnsureMemberIsLoggedIn>\n );\n } else if (flow.type === 'Logout') {\n content = <IDPLogoutScreenImpl initialError={error} initialParams={flow.params} navigate={navigate} />;\n }\n\n return (\n <MainContainer theme={theme} displayWatermark={displayWatermark}>\n {content}\n </MainContainer>\n );\n};\n\nconst EnsureMemberIsLoggedIn = ({ children }: { children: ReactNode }) => {\n const { t } = useLingui();\n const member = useStytchMember();\n const onError = useErrorCallback();\n const onErrorRef = useRef(onError);\n useEffect(() => {\n onErrorRef.current = onError;\n }, [onError]);\n\n // if a trusted auth token is provided, attest it before rendering the consent screen\n const stytchClient = useStytch();\n const authParams = useTrustedAuthTokenParams();\n const [attesting, setAttesting] = useState(false);\n const [attested, setAttested] = useState(false);\n\n useEffect(() => {\n if (attesting || attested) return;\n\n const attestTrustedToken = async (authParams: AuthTokenParams | undefined): Promise<void> => {\n if (authParams?.trustedAuthToken && authParams?.tokenProfileID) {\n setAttesting(true);\n const token = authParams.trustedAuthToken;\n const profile_id = authParams.tokenProfileID;\n\n // revoke the current session before calling attest\n // store the member to refer to its organization_id later\n const member = stytchClient.self.getSync();\n if (member) {\n await stytchClient.session.revoke();\n }\n try {\n await stytchClient.session.attest({\n token,\n profile_id,\n organization_id: member?.organization_id,\n session_duration_minutes: 60,\n });\n } catch (error) {\n onErrorRef.current(error as Error);\n } finally {\n setAttesting(false);\n setAttested(true);\n }\n }\n // set this either way to short-circuit the useEffect below\n setAttested(true);\n };\n attestTrustedToken(authParams);\n }, [authParams, attesting, attested, stytchClient]);\n\n useEffect(() => {\n if (member) return;\n onErrorRef.current(new NoCurrentSessionError());\n }, [member]);\n\n if (attesting) {\n return <LoadingScreen />;\n } else if (member) {\n return children;\n } else {\n return (\n <ErrorDisplay\n text={t({\n id: 'idpConsent.noActiveSession',\n message: 'No active session detected. Please log in to continue.',\n })}\n />\n );\n }\n};\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect } from 'react';\n\nimport { messages } from '../../messages/b2b/en';\nimport { B2BIDPSDKConfig, B2BSDKConfig, DeprecatedSDKConfig, StytchB2BExtendedLoginConfig } from '../../types';\nimport { readB2BInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { IDPContextProvider } from '../components/organisms/IDPContextProvider';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport * as B2BProducts from './B2BProducts';\nimport { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { InternalAppContainer } from './InternalAppContainer';\nimport { IDPConsentScreen } from './screens/IDPConsent';\n\n/**\n * Wrapper to add default organizationProducts value. This is done to preserve the ability for a future\n * component that doesn't do this, allowing B2B products to be properly tree-shaken (which is also why this is currently\n * in a completely different file)\n */\nexport const AppContainer = ({\n config,\n styles,\n ...props\n}: B2BSDKConfig<StytchProjectConfigurationInput> & DeprecatedSDKConfig) => {\n RUN_IN_DEV(() => {\n if (styles) {\n logger.error(\n 'styles is deprecated and has no effect. Use the presentation prop instead.\\n' +\n 'See https://staging.stytch.com/docs/api-reference/b2b/frontend-sdks/react/upgrade-guide',\n );\n }\n });\n\n const internalConfig = {\n ...config,\n organizationProducts: Object.values(B2BProducts),\n };\n\n return <InternalAppContainer config={internalConfig} {...props}></InternalAppContainer>;\n};\n\nexport const B2BIDPContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n presentation,\n callbacks,\n strings,\n getIDPConsentManifest,\n trustedAuthTokenParams,\n styles,\n}: B2BIDPSDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const presentationValue = usePresentationWithDefault(presentation, false, { products: [] });\n\n useEffect(() => {\n readB2BInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2BInternals(client).networkClient.logEvent({\n name: 'render_b2b_idp_screen',\n details: { bootstrap: data },\n });\n });\n }, [client]);\n\n RUN_IN_DEV(() => {\n if (styles) {\n logger.error(\n 'styles is deprecated and has no effect. Use the presentation prop instead.\\n' +\n 'See https://staging.stytch.com/docs/api-reference/b2b/frontend-sdks/react/upgrade-guide',\n );\n }\n });\n\n return (\n <GlobalContextProvider\n client={client}\n config={{} as StytchB2BExtendedLoginConfig}\n callbacks={callbacks}\n initialState={DEFAULT_STATE}\n >\n <IDPContextProvider consentManifestGenerator={getIDPConsentManifest} authTokenParams={trustedAuthTokenParams}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <IDPConsentScreen />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </IDPContextProvider>\n </GlobalContextProvider>\n );\n};\n","import { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport { injectCssIntoNode, injectGlobalStyle } from '@stytch/internal-style-injector';\nimport React, { ComponentType, useLayoutEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { StytchB2BClient } from '../../../b2b/StytchB2BClient';\nimport { PresentationConfig, StytchB2BUIConfig } from '../../../types';\nimport { useIsMounted__INTERNAL, useStytchB2BClient } from '../b2b/StytchB2BContext';\nimport { noProviderError, serverRenderError } from '../utils/errors';\nimport { invariant } from '../utils/invariant';\n\n// Mirrors createB2CComponent and createWebComponent\nexport function createB2BComponent<\n Props extends {\n client: StytchB2BClient<TProjectConfiguration>;\n config?: StytchB2BUIConfig;\n presentation?: PresentationConfig;\n },\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>(name: string, Component: ComponentType<Props>) {\n const Wrapped: ComponentType<Omit<Props, 'client'>> = (props) => {\n serverRenderError(name);\n invariant(useIsMounted__INTERNAL(), noProviderError(`<${name} />`));\n\n const client = useStytchB2BClient<TProjectConfiguration>();\n\n const shadow = props.presentation?.options?.enableShadowDOM ?? props.config?.enableShadowDOM;\n const root = useRef<HTMLDivElement>(null);\n const [mountPoint, setMountPoint] = useState<HTMLDivElement>();\n\n useLayoutEffect(() => {\n if (shadow) {\n if (!root.current || root.current.shadowRoot) return;\n const shadowRoot = root.current.attachShadow({ mode: 'open' });\n const mountPoint = document.createElement('div');\n\n shadowRoot.appendChild(injectCssIntoNode());\n shadowRoot.appendChild(mountPoint);\n\n setMountPoint(mountPoint);\n } else {\n injectGlobalStyle();\n }\n }, [shadow]);\n\n const element = <Component {...(props as Props)} client={client} />;\n if (shadow) {\n return <div ref={root}>{mountPoint && createPortal(element, mountPoint)}</div>;\n } else {\n return element;\n }\n };\n\n Wrapped.displayName = name;\n return Wrapped;\n}\n","import { AuthTokenParams, B2BIDPConsentManifestGenerator } from '../../../types';\nimport { B2BIDPContainer } from '../../b2b/App';\nimport { createB2BComponent } from '../bindings/createB2BComponent';\nimport { StytchB2BProps } from './Stytch';\n\nexport type B2BIdentityProviderProps = Omit<StytchB2BProps, 'config'> & {\n /**\n * Optional {@link B2BIDPConsentManifestGenerator} to customize the consent screen.\n */\n getIDPConsentManifest?: B2BIDPConsentManifestGenerator;\n /**\n * Optional trusted auth token parameters to attest before the OAuth flow.\n */\n trustedAuthTokenParams?: AuthTokenParams;\n};\n\n/**\n * The Stytch B2B IDP component.\n * Parses OAuth Authorization params (client_id, scope, nonce, etc.) out of the page URL.\n * Requires the user to be logged in.\n * This component can only be used with a Stytch B2B UI Client\n * passed into the StytchB2BProvider.\n *\n * See the {@link https://stytch.com/docs/b2b/sdks online reference}\n *\n * @example\n * <B2BIdentityProvider\n * presentation={{\n * theme: { primary: '#ff00f7' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const B2BIdentityProvider = /* @__PURE__ */ createB2BComponent('B2BIdentityProvider', B2BIDPContainer);\n","import { Callbacks, StringsOptions, StytchProjectConfigurationInput } from '@stytch/core/public';\n\nimport { PresentationConfig, StytchB2BUIConfig } from '../../../types';\nimport { AppContainer } from '../../b2b/App';\nimport { createB2BComponent } from '../bindings/createB2BComponent';\n\nexport interface StytchB2BProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> extends StringsOptions {\n /**\n * An optional {@link PresentationConfig} to customize the UI presentation.\n */\n presentation?: PresentationConfig;\n /**\n * An optional {@link Callbacks} object.\n *\n * @example\n * {\n * onError: ({message}) => {\n * console.error('Stytch error', message)\n * }\n * }\n *\n * @example\n * {\n * onEvent: ({type, data}) => {\n * if(type === StytchEventType.B2BMagicLinkAuthenticate) {\n * console.log('Logged in with', data);\n * }\n * }\n * }\n */\n callbacks?: Callbacks<TProjectConfiguration>;\n /**\n * A {@link StytchB2BUIConfig} object. Add products and product-specific config to this object to change the login methods shown.\n *\n *\n * @example\n * {\n * products: [B2BProducts.emailMagicLinks],\n * authFlowType: \"Discovery\",\n * emailMagicLinksOptions: {\n * discoveryRedirectURL: 'https://example.com/authenticate',\n * },\n * sessionOptions: {\n * sessionDurationMinutes: 60,\n * },\n * }\n *\n * @example\n * {\n * products: [B2BProducts.emailMagicLinks, B2BProducts.sso],\n * authFlowType: \"Organization\",\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * ssoOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * sessionOptions: {\n * sessionDurationMinutes: 60,\n * },\n * }\n */\n config: StytchB2BUIConfig;\n}\n\n/**\n * The Stytch B2B UI component.\n * This component can only be used with a Stytch B2B UI Client\n * passed into the StytchB2BProvider.\n *\n * See the {@link https://stytch.com/docs/b2b/sdks online reference}\n *\n * @example\n * <StytchB2B\n * config={{\n * authFlowType: \"Organization\",\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * ssoOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * sessionOptions: {\n * sessionDurationMinutes: 60,\n * }\n * }}\n * presentation={{\n * theme: { primary: '#0577CA' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchB2B = /* @__PURE__ */ createB2BComponent('StytchB2B', AppContainer);\n","'use client';\n\nimport type { Member, MemberSession, Organization, StytchProjectConfigurationInput } from '@stytch/web/b2b';\nimport { StytchB2BClient } from '@stytch/web/b2b/headless';\nimport React, { ComponentType, ReactNode } from 'react';\n\nexport { useStytchB2BClient, withStytchB2BClient, withStytchPermissions } from '@stytch/web/react/b2b';\n\nimport {\n StytchB2BProvider as StytchB2BProviderShared,\n useStytchIsAuthorized as useStytchIsAuthorizedShared,\n useStytchMember as useStytchMemberShared,\n useStytchMemberSession as useStytchMemberSessionShared,\n useStytchOrganization as useStytchOrganizationShared,\n withStytchMember as withStytchMemberShared,\n withStytchMemberSession as withStytchMemberSessionShared,\n withStytchOrganization as withStytchOrganizationShared,\n} from '@stytch/web/react/b2b';\n\n/**\n * Returns the active Member.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the member data is from persistent storage.\n * @example\n * const {member, isInitialized, fromCache} = useStytchMember();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return (<h1>Welcome, {member.name}</h1>);\n */\nexport const useStytchMember = useStytchMemberShared as <TAssumeHydrated extends boolean = true>() => ReturnType<\n typeof useStytchMemberShared<TAssumeHydrated>\n>;\n\n/**\n * Returns the active member's Stytch member session.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the session data is from persistent storage.\n * @example\n * const {session, isInitialized, fromCache} = useStytchMemberSession();\n * useEffect(() => {\n * if (!isInitialized) {\n * return;\n * }\n * if (!session) {\n * router.replace('/login');\n * }\n * }, [session, isInitialized]);\n */\nexport const useStytchMemberSession = useStytchMemberSessionShared as <\n TAssumeHydrated extends boolean = true,\n>() => ReturnType<typeof useStytchMemberSessionShared<TAssumeHydrated>>;\n\n/**\n * Returns the active Stytch organization.\n * The Stytch SDKs are used for client-side authentication and session management.\n * Check the isInitialized property to determine if the SDK has completed initialization.\n * Check the fromCache property to determine if the organization data is from persistent storage.\n * @example\n * const {organization, isInitialized, fromCache} = useStytchOrganization();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return <p>Welcome to {organization.organization_name}</p>;\n */\nexport const useStytchOrganization = useStytchOrganizationShared as <\n TAssumeHydrated extends boolean = true,\n>() => ReturnType<typeof useStytchOrganizationShared<TAssumeHydrated>>;\n\n/**\n * Determines whether the logged-in member is allowed to perform the specified action on the specified resource.\n * Returns `true` if the member can perform the action, `false` otherwise.\n *\n * If the member is not logged in, this method will always return false.\n * If the resource or action provided are not valid for the configured RBAC policy, this method will return false.\n *\n * Remember - authorization checks for sensitive actions should always occur on the backend as well.\n * @example\n * const { isAuthorized } = useStytchIsAuthorized('documents', 'edit');\n * return <button disabled={!isAuthorized}>Edit</button>\n */\nexport const useStytchIsAuthorized = useStytchIsAuthorizedShared as <TAssumeHydrated extends boolean = false>(\n resourceId: string,\n action: string,\n) => ReturnType<typeof useStytchIsAuthorizedShared<TAssumeHydrated>>;\n\nexport const withStytchMember = withStytchMemberShared as <T extends object, TAssumeHydrated extends boolean = false>(\n Component: ComponentType<\n T & { stytchMember: Member | null; stytchMemberIsInitialized: boolean; stytchMemberIsFromCache: boolean }\n >,\n) => ReturnType<typeof withStytchMemberShared<T, TAssumeHydrated>>;\n\nexport const withStytchMemberSession = withStytchMemberSessionShared as <\n T extends object,\n TAssumeHydrated extends boolean = false,\n>(\n Component: ComponentType<\n T & {\n stytchMemberSession: MemberSession | null;\n stytchMemberSessionIsInitialized: boolean;\n stytchMemberSessionIsFromCache: boolean;\n }\n >,\n) => ReturnType<typeof withStytchMemberSessionShared<T, TAssumeHydrated>>;\n\nexport const withStytchOrganization = withStytchOrganizationShared as <\n T extends object,\n TAssumeHydrated extends boolean = false,\n>(\n Component: ComponentType<\n T & {\n stytchOrganization: Organization | null;\n stytchOrganizationIsInitialized: boolean;\n stytchOrganizationIsFromCache: boolean;\n }\n >,\n) => ReturnType<typeof withStytchOrganizationShared<T, TAssumeHydrated>>;\n\nexport interface StytchB2BProviderProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n /**\n * A Stytch client instance, a {@link StytchB2BClient}\n */\n stytch: StytchB2BClient<TProjectConfiguration>;\n /**\n * When true, the provider will assume that the component will only be\n * rendered in a browser environment, either in a single-page application or\n * after completing hydration of a server-rendered application. This allows\n * cached values to be retrieved from the browser on the first render, meaning\n * that the `isInitialized` value returned from Stytch hooks will be `true`\n * starting from the first render.\n *\n * When `false`, the provider will defer initialization until after the first\n * render, and `isInitialized` will initially be `false`.\n *\n * If you encounter hydration errors relating to the use of this component,\n * set this to `false`.\n *\n * This value defaults to `true` in `@stytch/react`.\n */\n assumeHydrated?: boolean;\n children?: ReactNode;\n}\n\n/**\n * The Stytch Context Provider.\n * Wrap your application with this component in order to use Stytch everywhere in your app.\n * @example\n * const stytch = createStytchB2BClient('public-token-<find yours in the stytch dashboard>')\n *\n * ReactDOM.render(\n * <StytchB2BProvider stytch={stytch}>\n * <App />\n * </StytchProvider>,\n * document.getElementById('root'),\n * )\n */\nexport const StytchB2BProvider = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>({\n stytch,\n children,\n assumeHydrated = true,\n}: StytchB2BProviderProps<TProjectConfiguration>): JSX.Element => (\n <StytchB2BProviderShared stytch={stytch} assumeHydrated={assumeHydrated}>\n {children}\n </StytchB2BProviderShared>\n);\n","import { createStytchB2BClient } from '@stytch/web/b2b/headless';\n\n/**\n * @deprecated - use {@link createStytchB2BClient} instead\n */\nexport const createStytchB2BUIClient = createStytchB2BClient;\n\nexport type { StytchB2BProviderProps } from './StytchB2BContext';\nexport {\n StytchB2BProvider,\n useStytchB2BClient,\n useStytchIsAuthorized,\n useStytchMember,\n useStytchMemberSession,\n useStytchOrganization,\n withStytchB2BClient,\n withStytchMember,\n withStytchMemberSession,\n withStytchOrganization,\n withStytchPermissions,\n} from './StytchB2BContext';\nexport type {\n B2BIDPConsentManifestGenerator,\n B2BIDPSDKConfig,\n B2BSDKConfig,\n Strings,\n StytchB2BUIConfig,\n} from '@stytch/web/b2b';\nexport { B2BProducts } from '@stytch/web/b2b';\nexport * from '@stytch/web/b2b/headless';\nexport * from '@stytch/web/common';\nexport type { B2BIdentityProviderProps, StytchB2BProps } from '@stytch/web/react/b2b';\nexport { B2BIdentityProvider, StytchB2B } from '@stytch/web/react/b2b';\n"],"names":["SSOIcon","size","DEFAULT_ICON_SIZE","props","React","svg","width","height","viewBox","xmlns","g","clipPath","path","d","fill","stroke","strokeWidth","defs","id","rect","transform","HubspotIcon","fillRule","clipRule","OktaIcon","className","_styles","darkInvert","messages","_messages","getParamsFromB2BOAuthProviderConfig","provider","providerType","oneTap","customScopes","providerParams","cancelOnTapOutside","undefined","type","B2BOAuthProviders","Google","one_tap","cancel_on_tap_outside","useSWRConfig","useRef","useStateWithDeps","UNDEFINED","useCallback","serialize","mergeObjects","getTimestamp","useIsomorphicLayoutEffect","withMiddleware","useSWR","KeyToStytchEventMap","StytchEventType","B2BMagicLinkAuthenticate","B2BSSOAuthenticate","B2BSSODiscoverConnections","B2BMagicLinkDiscoveryAuthenticate","B2BDiscoveryOrganizationsCreate","B2BDiscoveryIntermediateSessionExchange","B2BMagicLinkEmailLoginOrSignup","B2BMagicLinkEmailDiscoverySend","B2BOAuthAuthenticate","B2BOAuthDiscoveryAuthenticate","B2BSMSOTPSend","B2BSMSOTPAuthenticate","B2BTOTPCreate","B2BTOTPAuthenticate","B2BRecoveryCodesRecover","B2BImpersonationAuthenticate","B2BOTPsEmailAuthenticate","B2BOTPsEmailDiscoveryAuthenticate","B2BOTPsEmailDiscoverySend","B2BOTPsEmailLoginOrSignup","B2BOrganizationsGetBySlug","getStytchEventByKey","key","useMutate","fetcher","options","onEvent","useEventCallback","onError","useErrorCallback","result","useSWRMutation","throwOnError","onSuccess","data","config","eventType","error","isMutating","useExtractSlug","state","dispatch","useGlobalReducer","pattern","setPattern","useState","useConfig","stytchClient","useStytch","slug","organizationSlug","extractFromPattern","window","location","href","trigger","isSearching","_","arg","organization","getBySlug","organization_slug","errorType","ErrorType","Organization","canGoBack","useEffect","readB2BInternals","bootstrap","getAsync","then","slugPattern","flowState","screen","AppScreens","Main","AuthFlowType","resultPending","useBootstrap","setBootstrap","getSync","onAuthenticateSuccess","response","includedMfaMethods","mfaProductInclude","onDiscoveryAuthenticateSuccess","email","email_address","discoveredOrganizations","discovered_organizations","url","URL","search","currentUrl","toString","trim","regexPattern","replace","regex","RegExp","match","hasProduct","products","product","some","p","useProductComponents","organizationProducts","screenType","useMemo","map","Object","assign","useIsOnlyFloatingOneTap","isOnlyFloatingOneTap","oauthProvider","oauthOptions","providers","isGoogleOneTap","length","useLastUsedAuthMethod","stytch","publicToken","lastUsedMethod","safeLocalStorage","getItem","setLastUsedMethod","method","setItem","providerInfo","messageDescriptor","Microsoft","HubSpot","Slack","GitHub","OAuthB2BButton","loginRedirectUrl","signupRedirectUrl","discoveryRedirectUrl","useLingui","presentation","usePresentation","iconRegistry","getButtonId","label","icon","Icon","onButtonClick","providerClient","oauth","start","login_redirect_url","signup_redirect_url","custom_scopes","organization_id","provider_params","discovery","discovery_redirect_url","Button","onClick","variant","B2BGoogleOneTap","oneTapError","setOneTapError","isMounted","useIsMounted","attemptToLoadOneTap","clientResult","createOneTapClient","success","reason","OneTapErrors","NoConfiguredOAuthClient","DefaultProviderNotAllowed","logger","client","current","oneTapCallback","createOnSuccessHandler","organizationId","signupRedirectURL","loginRedirectURL","redirectOnSuccess","Error","createOnDiscoverySuccessHandler","discoveryRedirectURL","renderResult","render","callback","style","position","OneTapPositions","floating","cancel","OriginNotAllowedForClient","InvalidOAuthClient","$client","catch","err","fallbackButton","fallbackWithLastUsed","LastUsed","DEV","ErrorMessages","oauthIcons","google","GoogleIcon","microsoft","MicrosoftIcon","hubspot","slack","SlackIcon","github","GithubIcon","ssoIcons","okta","emailIcons","gmail","GmailIcon","outlook","OutlookIcon","yahoo","YahooIcon","iconMap","SSOButton","connection","onStart","ssoOptions","connection_id","display_name","identity_provider","sso","iconName","useEmlDiscoverySend","magicLinks","send","emailMagicLinksOptions","login_template_id","loginTemplateId","locale","EmailConfirmation","useEmlLoginOrSignup","loginOrSignup","signup_template_id","signupTemplateId","e","useEmailDomain","emailDomains","setEmailDomains","domainHint","emailDomain","countdown","useCountdown","sendLoginOrSignupEml","isSendingLoginOrSignupEml","sendDiscoveryEml","isSendingDiscoveryEml","formState","emailState","userSuppliedEmail","goBack","resend","Discovery","isSubmitting","EmailConfirmationView","UsePasswordButton","handleUsePassword","productsToAuthMethods","emailMagicLinks","emailOtp","passwords","oauthProvidersToAuthMethods","authMethodsToProducts","fromEntries","entries","authMethod","oauthMethodsToOauthProviders","authMethodToProduct","allOauthProviders","values","flattenConfigToAuthMethods","oauthProviders","flatMap","filter","isTruthy","useOAuthProviderConfigs","useRestrictedAuthMethods","primaryAuthMethods","primary","hasPrimaryAuthMethods","restrictedAuthMethods","Set","auth_methods","allowed_auth_methods","useEffectiveAuthConfig","oauthProviderConfigs","flattenedConfiguredAuthMethods","authMethodsToShow","restrictedAuthMethodsInUiConfig","has","productIds","productId","find","oauthProviderSettings","DEFAULT_OTP_EXPIRATION_MS","getOtpCodeExpiration","Date","now","useEmailOtpDiscoverySend","_key","otps","emailOtpOptions","codeExpiration","useEmailOtpLoginOrSignup","JIT_PROVISIONING_ERRORS","useParseErrorMessage","org","organizationName","includes","error_type","getTranslatedError","EmailForm","showPasswordButton","emailInput","setEmailInput","passwordState","parseErrorMessage","enableEml","enableOtp","providedEmail","stytchEmlLoginOrSignup","emlError","emlIsMutating","stytchOtpLoginOrSignup","otpError","otpIsMutating","handleSubmit","preventDefault","EmailMethodSelection","history","Column","gap","loading","disabled","as","onSubmit","EmailInput","setEmail","hideLabel","organization_name","EmailDiscoveryForm","stytchEmlDiscoverySend","stytchOtpDiscoverySend","EmailMethodSelectionScreen","sendDiscoveryEmlError","reset","resetSendDiscoveryEml","sendDiscoveryOtp","isSendingDiscoveryOtp","sendDiscoveryOtpError","resetSendDiscoveryOtp","sendLoginOrSignupEmlError","resetSendLoginOrSignupEml","sendLoginOrSignupOtp","isSendingLoginOrSignupOtp","sendLoginOrSignupOtpError","resetSendLoginOrSignupOtp","isSending","handleChooseMethod","displayOptions","option","handleBack","Typography","ButtonColumn","ErrorText","EmailOTPEntryScreen","otpState","resendCountdown","emailOtpDiscovery","sendError","discoveryAuthenticate","otp","authenticate","code","emailAddress","sessionDurationMinutes","session_duration_minutes","isAuthenticatingAny","errorMessage","resetAll","resp","sessionOptions","clear","handleResendOTP","SentOTPEntry","expiration","getTime","formattedDestination","LoadingScreen","ResendOTPButton","resendOTP","usePasswordInput","password","setPassword","setErrorMessage","setIsSubmitting","submitPassword","DEFAULT_SESSION_DURATION_MINUTES","passwordOptions","B2BPasswordAuthenticate","submitDiscoveryPassword","B2BPasswordDiscoveryAuthenticate","emailEligibleForJITProvisioning","email_jit_provisioning","email_allowed_domains","split","pop","handleNonMemberReset","dataLayer","resetPasswordRedirectURL","PasswordResetVerifyConfirmation","PasswordsAuthenticate","EMAIL_REGEX","onGetHelp","PasswordForgotForm","PasswordInput","PasswordsEmailForm","hideInput","setHideInput","searchManager","searchMember","member","PasswordsForgotForm","resetByEmailStart","reset_password_redirect_url","reset_password_expiration_minutes","resetPasswordExpirationMinutes","reset_password_template_id","resetPasswordTemplateId","verify_email_template_id","verifyEmailTemplateId","B2BPasswordResetByEmailStart","PasswordSetNewConfirmation","PasswordResetConfirmation","EmailActionLayout","header","description","Trans","message","components","bold","b","additionalActions","EmailProviderLink","emailProviderInfo","PasswordResetForm","useB2BBootstrap","resetToken","resetTokenType","parsed","parseAuthenticateUrl","token","tokenType","passwordError","setPasswordError","policy","updateStrengthCheck","debounce","strengthCheck","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","magic_links_token","clearStytchTokenParams","onPasswordChange","resetByEmail","password_reset_token","B2BPasswordResetByEmail","B2BDiscoveryPasswordReset","resetBySession","B2BPasswordResetBySession","LoggedIn","passwordInputProps","getNewPasswordProps","noop","PasswordError","PasswordSetNew","resendResetPassword","B2BPasswordDiscoveryResetStart","assertUnreachable","getSsoMethodKey","extractConnectionId","startsWith","slice","getButtonKey","button","getCustomScopesForProvider","oauthOptionsCustomScopes","currentCustomScopes","keys","getProviderParamsForProvider","oauthOptionsProviderParams","currentProviderParams","login_hint","SsoAndOAuthButtons","buttons","isDiscoveryFlow","authButtons","MainScreenComponent","OAuthButtons","SSOButtons","sso_active_connections","reorderedButtons","foundLastUsedOAuth","arrayUtils","moveToFront","createOAuthButton","providerProps","index","buttonComponent","SSODiscoveryEmail","useSsoDiscoveryConnection","discoverConnections","setError","isLoading","setIsLoading","tryGetConnections","connections","extractErrorMessage","SSODiscoveryFallback","setSlug","lookupOrganization","handleTryAnotherMethod","Input","value","onChange","target","placeholder","availableConnections","lastUsedSso","foundLastUsed","SSODiscoveryMenu","ssoDiscoveryState","EmailFormWithoutPassword","EmailFormWithPassword","EmailDiscoveryFormWithoutPassword","EmailDiscoveryFormWithPassword","screens","mainScreen","PasswordEmailCombined","PasswordEmailCombinedDiscovery","icons","EmailOTPEntry","ssoAndOAuthButtons","PasswordEmailForm","PasswordAuthenticate","ConfirmationScreen","useMountEffect","AuthenticateFlowComplete","Confirmation","Arrow","styles","arrow","OrganizationRow","action","organization_logo_url","logo","img","src","alt","div","role","Array","from","classNames","organizationRow","hoverTriggerClass","buttonClassNames","left","nameText","VerticalTransition","rootClassName","right","rightContent","Badge","secondary","isJoinViaJitType","DiscoverNoOrganizations","createOrganizationEnabled","stytchCreateOrganization","isCreateLoading","organizations","create","OrganizationDiscoveryClaimedDomain","Default","shouldAutomaticallyCreateOrganization","directCreateOrganizationForNoMembership","discoveryState","disableCreateOrganization","shouldAllowDirectLoginToOrganization","status","activeOrganizations","membership","hasBlockingConditions","ignoreInvites","ignoreJitProvisioning","shouldDirectLoginConfigEnabled","directLoginForSingleMembership","isExchangeInProgress","directLoginOrganization","handleDiscoveryOrganizationStart","discoveredOrganization","primary_required","allowedAuthMethods","sso_default_connection_id","startSso","stytchDiscoveryExchange","connectionId","intermediateSessions","exchange","LoggingInScreen","organizationButtons","createOrganizationButton","goBackButton","top","bottom","isButtonsComponent","component","generateProductComponentsOrdering","flowStateType","productsSet","displayEmailAndPasswordsTogether","emailPasswordCombinedComponent","productComponentsSet","reduce","add","isSsoValid","groups","i","arr","prevComponent","shouldJoinPreviousGroup","push","prevGroup","Divider","isButtonGroup","group","every","MainScreen","emailVerified","productComponentsOrdering","mainScreenComponents","title","PasswordReset","showVerifyEmailCopy","hideHeaderText","align","Component","mfaOptions","B2BMFAProducts","totp","TOTPEnrollmentQRCode","smsOtp","SMSOTPEnrollment","MFAEnrollmentSelectionScreen","mfaProductOrder","organizationMfaOptionsSupported","mfa","primaryInfo","handleNavigate","optionsToDisplay","getEnabledMethods","allMethods","B2B_MFA_METHODS","orgSupportedMethods","uiIncludedMethods","delete","RecoveryCodeEntryScreen","memberId","recoveryCode","recoveryCodes","recover","recovery_code","member_id","setRecoveryCode","input","required","autoComplete","spellCheck","CodeContainer","children","container","RecoveryCodeSaveScreen","enrollment","handleContinue","fileContent","newline","navigator","platform","blob","Blob","join","createObjectURL","filename","copied","setCopied","useTimedBoolean","handleCodesCopy","clipboard","writeText","errorToast","maxCodeLength","Math","max","TextColumn","body","font","ul","codes","li","ButtonAnchor","download","triggered","DEFAULT_COUNTRY_CODE","InvalidPhoneNumberError","StytchSDKError","SMSOTPEnrollScreen","smsOtpOptions","enrolledNumber","countryCode","setCountryCode","phoneNumber","setPhoneNumber","parsePhoneNumber","getExampleNumber","getPhoneNumberProps","clientsideServices","sendSms","parsedNumber","sms","mfa_phone_number","formattedPhoneNumber","COUNTRIES_LIST","formatNumberToIncludeCountryCode","country","isValid","number","PhoneInput","setCountry","phone","setPhone","SMSOTPEntryScreen","isEnrolling","enrolledMfaMethods","memberPhoneNumber","isAuthenticating","authenticateError","shouldCreate","handleFormatNumber","parsedPhoneNumber","national","formatNumber","isTotpAvailable","enrolledMethod","handleSwitchToTotp","TOTPEntry","resendButton","switchToTotpButton","backButton","CHUNK_SIZE","TOTPEnrollManualScreen","secret","displaySecret","toLowerCase","secretChunked","Boolean","codeRef","columnCount","useColumnCount","handleCodeCopy","selection","getSelection","empty","range","document","createRange","selectNodeContents","addRange","codeContainer","ref","part","span","chunksCount","setColumnCount","useLayoutEffect","updateRowCount","containerWidth","clientWidth","spanWidth","querySelectorAll","elem","fittedColumns","floor","fittedColumnsWithGaps","rows","ceil","evenColumns","ResizeObserver","observer","observe","disconnect","TOTPEnrollQRScreen","createError","isCreating","createTotp","handleShowManualCode","qrCode","qr","TOTPEntryScreen","isSmsOtpAvailable","handleSwitchToRecoveryCode","RecoveryCodeEntry","handleSwitchToSms","SMSOTPEntry","OTPEntry","instruction","helperContent","authTokenConfig","mutationKey","defaultError","EmailMagicLink","discovery_oauth","multi_tenant_magic_links","multi_tenant_impersonation","errorTypeMap","ad_blocker_detected","AdBlockerDetected","AppContainer","triggerError","triggerEvent","displayWatermark","theme","currentScreen","screenComponentMap","handleStytchAPIError","defaultErrorType","extractErrorType","isTokenAuthLoading","setIsTokenAuthLoading","mutate","handled","authenticateByUrl","event","finally","MainContainer","orgLogo","defaultScreenComponents","ErrorScreen","MFAEnrollmentSelection","RecoveryCodeSave","TOTPEnrollmentManual","ScreenComponent","Logo","appLogo","InternalAppContainer","callbacks","strings","setDisplayWatermark","networkClient","logEvent","name","details","getRedirectTypeFromUrl","redirectType","searchParams","get","authFlowType","RedirectURLType","ResetPassword","initialState","DEFAULT_STATE","configWithDefaults","presentationValue","usePresentationWithDefault","GlobalContextProvider","PresentationContext","Provider","I18nProviderWrapper","overrides","Container","useStytchMember","useSyncExternalStore","onStateChange","self","IDPConsentScreenImpl","initialError","initialParams","oauthAuthorizeStart","oauthAuthorizeSubmit","idp","idpConsentState","useIDPState","IDPConsent","bootstrapNotLoaded","IDPLogoutScreenImpl","navigate","oauthLogoutStart","revokeSession","session","revoke","forceClear","idpLogoutState","useLogoutState","IDPLogout","IDPConsentScreen","flow","parseIDPParams","content","EnsureMemberIsLoggedIn","params","onErrorRef","authParams","useTrustedAuthTokenParams","attesting","setAttesting","attested","setAttested","attestTrustedToken","trustedAuthToken","tokenProfileID","profile_id","attest","NoCurrentSessionError","ErrorDisplay","text","RUN_IN_DEV","internalConfig","B2BProducts","B2BIDPContainer","getIDPConsentManifest","trustedAuthTokenParams","IDPContextProvider","consentManifestGenerator","authTokenParams","createB2BComponent","Wrapped","serverRenderError","invariant","useIsMounted__INTERNAL","noProviderError","useStytchB2BClient","shadow","enableShadowDOM","root","mountPoint","setMountPoint","shadowRoot","attachShadow","mode","createElement","appendChild","injectCssIntoNode","injectGlobalStyle","element","createPortal","displayName","B2BIdentityProvider","StytchB2B","useStytchMemberShared","useStytchMemberSession","useStytchMemberSessionShared","useStytchOrganization","useStytchOrganizationShared","useStytchIsAuthorized","useStytchIsAuthorizedShared","withStytchMember","withStytchMemberShared","withStytchMemberSession","withStytchMemberSessionShared","withStytchOrganization","withStytchOrganizationShared","StytchB2BProvider","assumeHydrated","StytchB2BProviderShared","createStytchB2BUIClient","createStytchB2BClient"],"mappings":"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","x_google_ignoreList":[5]}