@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":["../../../core/src/Events.ts","../../../web/src/messages/en.ts","../../../web/src/ui/b2c/reducer.ts","../../../web/src/ui/b2c/GlobalContextProvider.tsx","../../../web/src/assets/genericWallet.tsx","../../../web/src/assets/passkeys.tsx","../../../web/src/ui/hooks/useStytchUser.ts","../../../web/src/ui/b2c/utils.ts","../../../web/src/ui/b2c/screens/IdentityProvider/IDPConsent.tsx","../../../web/src/ui/b2c/IDPContainer.tsx","../../../web/src/ui/react/b2c/StytchContext.tsx","../../../web/src/ui/react/bindings/createB2CComponent.tsx","../../../web/src/ui/react/b2c/IdentityProvider.tsx","../../../web/src/ui/hooks/useIsOnlyFloatingOneTap.ts","../../../web/src/ui/hooks/usePromptPasskey.ts","../../../web/src/ui/b2c/screens/Main/index.tsx","../../../web/src/ui/b2c/Container.tsx","../../../web/src/ui/b2c/AppContainer.tsx","../../../web/src/ui/react/b2c/StytchLogin.tsx","../../../web/src/ui/b2c/screens/Main/useLastUsedOAuth.tsx","../../../web/src/ui/b2c/components/OAuthButton.tsx","../../../web/src/ui/b2c/components/GoogleOneTap.tsx","../../../web/src/assets/logo-color/Amazon.tsx","../../../web/src/assets/logo-color/Apple.tsx","../../../web/src/assets/logo-color/Binance.tsx","../../../web/src/assets/logo-color/Bitbucket.tsx","../../../web/src/assets/logo-color/Coinbase.tsx","../../../web/src/assets/logo-color/Discord.tsx","../../../web/src/assets/logo-color/Facebook.tsx","../../../web/src/assets/logo-color/Figma.tsx","../../../web/src/assets/logo-color/Gitlab.tsx","../../../web/src/assets/logo-color/Linkedin.tsx","../../../web/src/assets/logo-color/Metamask.tsx","../../../web/src/assets/logo-color/Phantom.tsx","../../../web/src/assets/logo-color/Salesforce.tsx","../../../web/src/assets/logo-color/Snapchat.tsx","../../../web/src/assets/logo-color/Tiktok.tsx","../../../web/src/assets/logo-color/Twitch.tsx","../../../web/src/assets/logo-color/XTwitter.tsx","../../../web/src/ui/b2c/components/Icons.ts","../../../../node_modules/base-x/src/index.js","../../../../node_modules/bs58/index.js","../../../web/src/utils/crypto.tsx","../../../web/src/ui/b2c/screens/Crypto/ConnectWallet.tsx","../../../web/src/ui/b2c/screens/Crypto/Error.tsx","../../../web/src/ui/b2c/screens/Crypto/WalletButtons.tsx","../../../web/src/ui/b2c/screens/Crypto/OtherWallets.tsx","../../../web/src/ui/b2c/screens/Crypto/SetupNewWallet.tsx","../../../web/src/ui/b2c/screens/Crypto/SignMessage.tsx","../../../web/src/ui/b2c/screens/Crypto/Success.tsx","../../../../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../../node_modules/@radix-ui/react-slot/dist/index.mjs","../../../../node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../../node_modules/@radix-ui/react-context/dist/index.mjs","../../../../node_modules/@radix-ui/react-collection/dist/index.mjs","../../../../node_modules/@radix-ui/primitive/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../../node_modules/@radix-ui/react-presence/dist/index.mjs","../../../../node_modules/@radix-ui/react-id/dist/index.mjs","../../../../node_modules/@radix-ui/react-direction/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../../node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../../../../node_modules/@radix-ui/react-tabs/dist/index.mjs","../../../web/src/ui/b2c/StytchProduct.ts","../../../web/src/ui/b2c/screens/Main/LoginForm/index.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/MagicLinkForm.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/OTPForm.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/PasskeyButton.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/PasswordForm.tsx","../../../web/src/ui/b2c/screens/Main/OAuthButtons.tsx","../../../web/src/ui/b2c/screens/Passkey/PasskeyConfirmation.tsx","../../../web/src/utils/passkeys.ts","../../../web/src/ui/b2c/screens/Passkey/PasskeyRegistrationStart.tsx","../../../web/src/ui/b2c/screens/Passkey/EditableRow.tsx","../../../web/src/ui/b2c/screens/Passkey/PasskeyRegistrationSuccess.tsx","../../../web/src/ui/b2c/screens/Password/useResetResendPasswordActions.tsx","../../../web/src/ui/b2c/screens/Password/PasswordBreached.tsx","../../../web/src/ui/b2c/screens/Password/PasswordConfirmation.tsx","../../../web/src/ui/b2c/screens/Password/PasswordDedupe.tsx","../../../web/src/ui/b2c/screens/Password/PasswordForgot.tsx","../../../web/src/ui/b2c/screens/Password/PasswordSetNew.tsx","../../../web/src/ui/b2c/screens/Password/ResetPasswordScreen.tsx","../../../web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.ts","../../../web/src/ui/b2c/screens/Secondary/EmailConfirmation.tsx","../../../web/src/ui/b2c/screens/Secondary/OTPAuthenticate.tsx","../../../web/src/ui/b2c/screens/Secondary/OTPConfirmation.tsx","../../../web/src/ui/b2c/screens/Password/PasswordAuthenticate.tsx","../../../web/src/ui/b2c/screens/Password/PasswordNewUser.tsx","../../../web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.tsx","../../../web/src/ui/b2c/screens/Secondary/PasswordCreateAuthenticate.tsx","../../../web/src/ui/b2c/Products.tsx","../../../web/src/ui/b2c/PasskeyRegistrationContainer.tsx","../../../web/src/ui/react/b2c/StytchPasskeyRegistration.tsx","../../../web/src/ui/b2c/ResetPasswordContainer.tsx","../../../web/src/ui/react/b2c/StytchPasswordReset.tsx","../../src/StytchContext.tsx","../../src/index.ts"],"sourcesContent":["import { RNUIProductConfig, StytchSDKError, TokenType } from './public';\nimport { BootstrapData, CommonB2BLoginConfig, CommonLoginConfig } from './types';\n\nexport enum EmailSentType {\n LoginOrCreateEML = 'login_or_create_eml',\n LoginOrCreateOTP = 'login_or_create_otp',\n ResetPassword = 'reset_password',\n}\n\nexport type AnalyticsEvent =\n | {\n name: 'sdk_instance_instantiated';\n details: {\n event_callback_registered: boolean;\n error_callback_registered: boolean;\n success_callback_registered: boolean;\n };\n }\n | {\n name: 'b2b_sdk_instance_instantiated';\n details: {\n event_callback_registered: boolean;\n error_callback_registered: boolean;\n success_callback_registered: boolean;\n };\n }\n | {\n name: 'render_login_screen';\n details: {\n options: CommonLoginConfig | RNUIProductConfig;\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'render_b2b_login_screen';\n details: {\n options: CommonB2BLoginConfig;\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'render_idp_screen';\n details: {\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'render_b2b_idp_screen';\n details: {\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'email_sent';\n details: {\n email: string;\n type: EmailSentType;\n };\n }\n | {\n name: 'email_try_again_clicked';\n details: {\n email: string;\n type: EmailSentType;\n };\n }\n | {\n name: 'start_oauth_flow';\n details: {\n provider_type: string;\n custom_scopes?: string[];\n cname_domain: string | null;\n pkce: boolean;\n provider_params?: Record<string, string>;\n };\n }\n | {\n name: 'deeplink_handled_success';\n details: {\n token_type: TokenType;\n };\n }\n | {\n name: 'deeplink_handled_failure';\n details: {\n error: StytchSDKError | undefined;\n };\n }\n | {\n name: 'oauth_success';\n details: {\n provider_type: string;\n };\n }\n | {\n name: 'oauth_failure';\n details: {\n error: StytchSDKError | string | undefined;\n };\n }\n | {\n name: 'ui_authentication_success';\n details: {\n method: 'oauth' | 'otp' | 'magicLinks' | 'passwords';\n };\n }\n | {\n name: 'render_b2b_admin_portal_sso';\n details: Record<string, never>;\n }\n | {\n name: 'render_b2b_admin_portal_org_settings';\n details: Record<string, never>;\n }\n | {\n name: 'render_b2b_admin_portal_member_management';\n details: Record<string, never>;\n }\n | {\n name: 'render_b2b_admin_portal_scim';\n details: Record<string, never>;\n };\n","import { Messages } from '@lingui/core';\n\nimport { messages as _messages } from '../../messages/en.json';\n\nexport const messages = _messages as unknown as Messages;\n","import { AppScreens, AppState, CryptoState, OTPState, PasswordState } from './GlobalContextProvider';\n\nexport type Action =\n | { type: 'transition'; screen: AppScreens }\n | { type: 'set_magic_link_email'; email: string }\n | { type: 'update_otp_state'; otpState: OTPState }\n | { type: 'update_crypto_state'; cryptoState: CryptoState }\n | { type: 'update_password_state'; passwordState: PasswordState };\n\nexport const reducer = (state: AppState, action: Action): AppState => {\n switch (action.type) {\n case 'transition':\n return {\n ...state,\n screen: action.screen,\n };\n case 'set_magic_link_email': {\n return {\n ...state,\n formState: {\n ...state.formState,\n magicLinkState: { email: action.email },\n },\n };\n }\n case 'update_otp_state': {\n return {\n ...state,\n formState: {\n ...state.formState,\n otpState: action.otpState,\n },\n };\n }\n case 'update_crypto_state': {\n return {\n ...state,\n formState: {\n ...state.formState,\n cryptoState: action.cryptoState,\n },\n };\n }\n case 'update_password_state': {\n return {\n ...state,\n formState: {\n ...state.formState,\n passwordState: action.passwordState,\n },\n };\n }\n\n default:\n throw new Error();\n }\n};\n","import { Callbacks, OTPMethods, StytchProjectConfigurationInput, Wallets } from '@stytch/core/public';\nimport React, { useContext } from 'react';\n\nimport type { StytchClient } from '../../StytchClient';\nimport { StytchLoginConfig } from '../../types';\nimport { noop } from '../../utils';\nimport { useEvent } from '../hooks/useEvent';\nimport { Action, reducer } from './reducer';\n\n/* eslint-disable lingui/no-unlocalized-strings -- internal constants, not user-facing strings */\nexport const AppScreens = {\n Main: 'Main',\n FloatingOneTap: 'FloatingOneTap',\n PasskeyRegistrationStart: 'PasskeyRegistrationStart',\n PasskeyRegistrationSuccess: 'PasskeyRegistrationSuccess',\n PasskeyConfirmation: 'PasskeyConfirmation',\n PasswordCreateOrLogin: 'PasswordCreateOrLogin',\n PasswordResetForm: 'PasswordResetForm',\n PasswordForgot: 'PasswordForgot',\n PasswordBreached: 'PasswordBreached',\n PasswordSetNew: 'PasswordSetNew',\n PasswordDedupe: 'PasswordDedupe',\n PasswordConfirmation: 'PasswordConfirmation',\n EmailConfirmation: 'EmailConfirmation',\n OTPAuthenticate: 'OTPAuthenticate',\n OTPConfirmation: 'OTPConfirmation',\n CryptoConnect: 'CryptoConnect',\n CryptoSignMessage: 'CryptoSignMessage',\n CryptoOtherScreen: 'CryptoOtherScreen',\n CryptoSetupWallet: 'CryptoSetupWallet',\n CryptoError: 'CryptoError',\n CryptoConfirmation: 'CryptoConfirmation',\n} as const;\n/* eslint-enable lingui/no-unlocalized-strings */\n\nexport type AppScreens = keyof typeof AppScreens;\n\nexport type MagicLinkState = {\n email: string;\n};\n\nexport type OTPState = {\n type: OTPMethods;\n methodId: string;\n otpDestination: string;\n};\n\nexport type PasswordState = {\n email: string;\n type: 'new' | 'passwordless' | 'password';\n};\n\nexport type CryptoState = {\n walletAddress: string;\n walletOption: Wallets;\n walletChallenge: string;\n};\n\nexport type ResetPasswordState = {\n token: string;\n};\n\nexport type FormState = {\n magicLinkState: MagicLinkState;\n otpState: OTPState;\n cryptoState: CryptoState;\n passwordState: PasswordState;\n resetPasswordState: ResetPasswordState;\n};\n\nexport type AppState = {\n screen: AppScreens;\n formState: FormState;\n};\n\nexport type AppContext<TProjectConfiguration extends StytchProjectConfigurationInput> = {\n client: StytchClient<TProjectConfiguration>;\n config: StytchLoginConfig;\n callbacks?: Callbacks<TProjectConfiguration>;\n state: [AppState, React.Dispatch<Action>];\n};\n\nexport const DEFAULT_STATE: AppState = {\n screen: AppScreens.Main,\n formState: {\n magicLinkState: {\n email: '',\n },\n otpState: {\n type: OTPMethods.Email,\n methodId: '',\n otpDestination: '',\n },\n cryptoState: {\n walletAddress: '',\n walletOption: Wallets.Metamask,\n walletChallenge: '',\n },\n passwordState: {\n email: '',\n type: 'new',\n },\n resetPasswordState: {\n token: '',\n },\n },\n};\n\nexport const GlobalContext = React.createContext<AppContext<StytchProjectConfigurationInput>>({\n client: {} as StytchClient<StytchProjectConfigurationInput>,\n config: {} as StytchLoginConfig,\n state: [DEFAULT_STATE, () => null],\n});\n\nexport type GlobalContextProviderProps<TProjectConfiguration extends StytchProjectConfigurationInput> = {\n children: React.ReactNode;\n client: StytchClient<TProjectConfiguration>;\n config: StytchLoginConfig;\n callbacks?: Callbacks<TProjectConfiguration>;\n initialState?: AppState;\n};\n\nexport const GlobalContextProvider = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n children,\n client,\n config,\n callbacks,\n initialState,\n}: GlobalContextProviderProps<TProjectConfiguration>) => {\n const state = React.useReducer(reducer, initialState ?? DEFAULT_STATE);\n\n return <GlobalContext.Provider value={{ client, state, config, callbacks }}>{children}</GlobalContext.Provider>;\n};\n\nexport const useGlobalContext = () => useContext(GlobalContext);\nexport const useStytch = () => useGlobalContext().client;\nexport const useGlobalReducer = () => useGlobalContext().state;\nexport const useConfig = () => useGlobalContext().config;\nexport const useErrorCallback = () => useEvent(useGlobalContext().callbacks?.onError ?? noop);\nexport const useEventCallback = () => useEvent(useGlobalContext().callbacks?.onEvent ?? noop);\n","import React from 'react';\n\nimport { DEFAULT_ICON_SIZE, IconProps } from './types';\n\nexport const GenericWalletIcon = ({ size = DEFAULT_ICON_SIZE, ...props }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 20 18\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M18.5 4.28V2C18.5 0.9 17.6 0 16.5 0H2.5C1.39 0 0.5 0.9 0.5 2V16C0.5 17.1 1.39 18 2.5 18H16.5C17.6 18 18.5 17.1 18.5 16V13.72C19.09 13.37 19.5 12.74 19.5 12V6C19.5 5.26 19.09 4.63 18.5 4.28ZM17.5 6V12H10.5V6H17.5ZM2.5 16V2H16.5V4H10.5C9.4 4 8.5 4.9 8.5 6V12C8.5 13.1 9.4 14 10.5 14H16.5V16H2.5Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M13.5 10.5C14.3284 10.5 15 9.82843 15 9C15 8.17157 14.3284 7.5 13.5 7.5C12.6716 7.5 12 8.17157 12 9C12 9.82843 12.6716 10.5 13.5 10.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import React from 'react';\n\nimport { DEFAULT_ICON_SIZE, IconProps } from './types';\n\nexport const PasskeyIcon = ({ size = DEFAULT_ICON_SIZE, ...props }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M8.75 10C10.8211 10 12.5 8.32107 12.5 6.25C12.5 4.17893 10.8211 2.5 8.75 2.5C6.67893 2.5 5 4.17893 5 6.25C5 8.32107 6.67893 10 8.75 10Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M18.7501 10.0001C18.7519 9.47774 18.6134 8.96445 18.349 8.51388C18.0847 8.06332 17.7041 7.69203 17.2472 7.43881C16.7903 7.18559 16.2738 7.05973 15.7516 7.07439C15.2294 7.08905 14.7207 7.24369 14.2787 7.52214C13.8367 7.8006 13.4776 8.19265 13.239 8.65733C13.0003 9.12202 12.8908 9.64227 12.9219 10.1637C12.9531 10.6852 13.1237 11.1887 13.416 11.6217C13.7082 12.0547 14.1114 12.4012 14.5834 12.6251V17.0835L15.8334 18.3335L17.9167 16.2501L16.6667 15.0001L17.9167 13.7501L16.8834 12.7168C17.4322 12.505 17.9042 12.1323 18.2373 11.6474C18.5704 11.1626 18.7492 10.5884 18.7501 10.0001ZM15.8334 10.0001C15.6686 10.0001 15.5075 9.95126 15.3704 9.85969C15.2334 9.76812 15.1266 9.63797 15.0635 9.4857C15.0004 9.33343 14.9839 9.16587 15.0161 9.00422C15.0482 8.84257 15.1276 8.69409 15.2441 8.57754C15.3607 8.461 15.5092 8.38163 15.6708 8.34948C15.8325 8.31732 16 8.33383 16.1523 8.3969C16.3046 8.45997 16.4347 8.56678 16.5263 8.70382C16.6179 8.84086 16.6667 9.00198 16.6667 9.1668C16.6667 9.38781 16.5789 9.59977 16.4227 9.75605C16.2664 9.91233 16.0544 10.0001 15.8334 10.0001Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12.0333 11.6833C11.3934 11.398 10.7007 11.2504 10 11.25H7.5C6.17392 11.25 4.90215 11.7768 3.96447 12.7145C3.02678 13.6521 2.5 14.9239 2.5 16.25V17.9167H13.3333V13.325C12.7713 12.8933 12.3248 12.3293 12.0333 11.6833Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import { User } from '@stytch/core/public';\nimport { useSyncExternalStore } from 'react';\n\nimport { useStytch } from '../b2c/GlobalContextProvider';\n\n// useStytchUser 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 useStytchUser = (): User | null => {\n const stytch = useStytch();\n return useSyncExternalStore(stytch.onStateChange, () => stytch.user.getSync());\n};\n","import { BootstrapData } from '@stytch/core';\nimport { useEffect, useMemo, useState } from 'react';\n\nimport { readB2CInternals } from '../../utils/internal';\nimport { useStytch } from './GlobalContextProvider';\nimport { ProductId, StytchProduct } from './StytchProduct';\n\nexport const useBootstrap = (): { bootstrap: BootstrapData; fromCache: boolean } => {\n const stytchClient = useStytch();\n const [bootstrap, setBootstrap] = useState({\n bootstrap: readB2CInternals(stytchClient).bootstrap.getSync(),\n fromCache: true,\n });\n\n useEffect(() => {\n readB2CInternals(stytchClient)\n .bootstrap.getAsync()\n .then((data) =>\n setBootstrap({\n bootstrap: data,\n fromCache: false,\n }),\n );\n }, [stytchClient]);\n\n return bootstrap;\n};\n\nexport function hasProduct(products: StytchProduct[], product: ProductId) {\n return products.some((p) => p.id === product);\n}\n\nexport function useProductComponents<Type extends 'screens' | 'tabs' | 'mainScreen'>(\n products: StytchProduct[],\n screenType: Type,\n) {\n return useMemo(() => {\n const map = {} as Required<StytchProduct[Type]>;\n for (const product of products) {\n if (product[screenType]) Object.assign(map, product[screenType]);\n }\n return map;\n }, [products, screenType]);\n}\n\n/**\n * In B2C, ResetPassword and PasskeyRegistration always need passwords and passkey products respectively,\n * so we inject these into config just in case the customer don't have it. If they are missing the components\n * just crash immediately.\n */\nexport function addProduct<Config extends { products?: StytchProduct[] }>(\n config: Config | undefined,\n product: StytchProduct,\n): Config {\n if (config?.products?.includes(product)) return config;\n\n const products = config?.products ?? [];\n return {\n ...(config ?? {}),\n products: [...products, product],\n } as Config;\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 { useStytchUser } from '../../../hooks/useStytchUser';\nimport { useErrorCallback, useEventCallback, useStytch } from '../../GlobalContextProvider';\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 const { bootstrap, fromCache: bootstrapNotLoaded } = useBootstrap();\n\n const idpConsentInfo = useIDPState({\n initialError,\n initialParams,\n oauthAuthorizeStart,\n oauthAuthorizeSubmit,\n onError,\n onEvent,\n });\n\n return <IDPConsent bootstrap={bootstrap} bootstrapNotLoaded={bootstrapNotLoaded} {...idpConsentInfo}></IDPConsent>;\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, fromCache: bootstrapNotLoaded } = 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={bootstrapNotLoaded} />;\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 <EnsureUserIsLoggedIn>\n <IDPConsentScreenImpl initialError={error} initialParams={flow.params} />\n </EnsureUserIsLoggedIn>\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 EnsureUserIsLoggedIn = ({ children }: { children: ReactNode }) => {\n const { t } = useLingui();\n const user = useStytchUser();\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 if (stytchClient.user.getSync()) {\n await stytchClient.session.revoke({ forceClear: true });\n }\n\n try {\n await stytchClient.session.attest({\n token,\n profile_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 (user) return;\n onErrorRef.current(new NoCurrentSessionError());\n }, [user]);\n\n if (attesting) {\n return <LoadingScreen />;\n } else if (user) {\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/en';\nimport { DeprecatedSDKConfig, IDPSDKConfig, StytchLoginConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { IDPContextProvider } from '../components/organisms/IDPContextProvider';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { IDPConsentScreen } from './screens/IdentityProvider/IDPConsent';\n\nexport const IDPContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n presentation,\n callbacks,\n strings,\n styles,\n getIDPConsentManifest,\n authTokenParams,\n}: IDPSDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const presentationValue = usePresentationWithDefault(presentation, false, { products: [] });\n\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2CInternals(client).networkClient.logEvent({\n name: 'render_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://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n return (\n <GlobalContextProvider\n client={client}\n config={{} as StytchLoginConfig}\n callbacks={callbacks}\n initialState={DEFAULT_STATE}\n >\n <IDPContextProvider consentManifestGenerator={getIDPConsentManifest} authTokenParams={authTokenParams}>\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","'use client';\n\nimport { PermissionsMap, Session, StytchProjectConfigurationInput, User } from '@stytch/core/public';\nimport { mergeWithStableProps } from '@stytch/js-utils';\nimport React, {\n ComponentType,\n createContext,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\n\nimport { StytchClient } from '../../../StytchClient';\nimport { isStytchSSRProxy } from '../bindings/StytchSSRProxy';\nimport { useAsyncState } from '../utils/async';\nimport { noProviderError, providerMustBeUniqueError } from '../utils/errors';\nimport { invariant } from '../utils/invariant';\n\n// There's no user facing strings in this file\n/* eslint-disable lingui/no-unlocalized-strings */\n\ntype StytchContext<TProjectConfiguration extends StytchProjectConfigurationInput> =\n | {\n isMounted: false;\n }\n | {\n isMounted: true;\n client: StytchClient<TProjectConfiguration>;\n };\n\ntype SWRUserUninitialized = {\n /**\n * Either the active {@link User} object, or null if the user is not logged in.\n */\n user: null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: false;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: false;\n};\n\ntype SWRUserInitialized = {\n /**\n * Either the active {@link User} object, or null if the user is not logged in.\n */\n user: User | null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: boolean;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: true;\n};\n\ntype SWRUser<TAlwaysInitialized extends boolean = boolean> = TAlwaysInitialized extends true\n ? SWRUserInitialized\n : SWRUserInitialized | SWRUserUninitialized;\n\nconst initialUser: SWRUserUninitialized = {\n user: null,\n fromCache: false,\n isInitialized: false,\n};\n\ntype SWRSessionUninitialized = {\n /**\n * Either the active {@link Session} object, or null if the user is not logged in.\n */\n session: null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: false;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: false;\n};\n\ntype SWRSessionInitialized = {\n /**\n * Either the active {@link Session} object, or null if the user is not logged in.\n */\n session: Session | null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: boolean;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: true;\n};\n\ntype SWRSession<TAlwaysInitialized extends boolean = boolean> = TAlwaysInitialized extends true\n ? SWRSessionInitialized\n : SWRSessionInitialized | SWRSessionUninitialized;\n\nconst initialSession: SWRSessionUninitialized = {\n session: null,\n fromCache: false,\n isInitialized: false,\n};\n\nconst StytchContext = createContext<StytchContext<StytchProjectConfigurationInput>>({ isMounted: false });\nconst StytchUserContext = createContext<SWRUser>(initialUser);\nconst StytchSessionContext = createContext<SWRSession>(initialSession);\n\nexport const useIsMounted__INTERNAL = (): boolean => useContext(StytchContext).isMounted;\n\n/**\n * Returns the active User.\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 user data is from persistent storage.\n * @example\n * const {user, isInitialized, fromCache} = useStytchUser();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return (<h1>Welcome, {user.name.first_name}</h1>);\n */\nexport const useStytchUser = <TAssumeHydrated extends boolean = false>(): SWRUser<TAssumeHydrated> => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useStytchUser'));\n return useContext(StytchUserContext) as SWRUser<TAssumeHydrated>;\n};\n\n/**\n * Returns the active user's Stytch 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} = useStytchSession();\n * useEffect(() => {\n * if (!isInitialized) {\n * return;\n * }\n * if (!session) {\n * router.replace('/login')\n * }\n * }, [session, isInitialized]);\n */\nexport const useStytchSession = <TAssumeHydrated extends boolean = false>(): SWRSession<TAssumeHydrated> => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useStytchSession'));\n return useContext(StytchSessionContext) as SWRSession<TAssumeHydrated>;\n};\n\n/**\n * Returns the Stytch client stored in the Stytch context.\n *\n * @example\n * const stytch = useStytch();\n * useEffect(() => {\n * stytch.magicLinks.authenticate('...')\n * }, [stytch]);\n */\nexport const useStytch = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>(): StytchClient<TProjectConfiguration> => {\n const ctx = useContext(StytchContext);\n invariant(ctx.isMounted, noProviderError('useStytch'));\n return ctx.client as StytchClient<TProjectConfiguration>;\n};\n\nexport const withStytch = <\n T extends object,\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>(\n Component: ComponentType<T & { stytch: StytchClient<TProjectConfiguration> }>,\n): ComponentType<T> => {\n const WithStytch: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('withStytch'));\n return <Component {...props} stytch={useStytch()} />;\n };\n WithStytch.displayName = `withStytch(${Component.displayName || Component.name || 'Component'})`;\n return WithStytch;\n};\n\nexport const withStytchUser = <T extends object, TAssumeHydrated extends boolean = false>(\n Component: ComponentType<\n T & { stytchUser: User | null; stytchUserIsInitialized: boolean; stytchUserIsFromCache: boolean }\n >,\n): ComponentType<T> => {\n const WithStytchUser: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('withStytchUser'));\n const { user, isInitialized, fromCache } = useStytchUser<TAssumeHydrated>();\n return (\n <Component\n {...props}\n stytchUser={user}\n stytchUserIsInitialized={isInitialized}\n stytchUserIsFromCache={fromCache}\n />\n );\n };\n WithStytchUser.displayName = `withStytchUser(${Component.displayName || Component.name || 'Component'})`;\n return WithStytchUser;\n};\n\nexport const withStytchSession = <T extends object, TAssumeHydrated extends boolean = false>(\n Component: ComponentType<\n T & { stytchSession: Session | null; stytchSessionIsInitialized: boolean; stytchSessionIsFromCache: boolean }\n >,\n): ComponentType<T> => {\n const WithStytchSession: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('withStytchSession'));\n const { session, isInitialized, fromCache } = useStytchSession<TAssumeHydrated>();\n return (\n <Component\n {...props}\n stytchSession={session}\n stytchSessionIsInitialized={isInitialized}\n stytchSessionIsFromCache={fromCache}\n />\n );\n };\n WithStytchSession.displayName = `withStytchSession(${Component.displayName || Component.name || 'Component'})`;\n return WithStytchSession;\n};\n\ntype SWRIsAuthorizedUninitialized = {\n /**\n * Whether the logged-in user is allowed to perform the specified action on the specified resource.\n */\n isAuthorized: false;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: false;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: false;\n};\n\ntype SWRIsAuthorizedInitialized = {\n /**\n * Whether the logged-in user is allowed to perform the specified action on the specified resource.\n */\n isAuthorized: boolean;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: boolean;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: boolean;\n};\n\ntype SWRIsAuthorized<TAlwaysInitialized extends boolean> = TAlwaysInitialized extends true\n ? SWRIsAuthorizedInitialized\n : SWRIsAuthorizedInitialized | SWRIsAuthorizedUninitialized;\n\n/**\n * Determines whether the logged-in user is allowed to perform the specified action on the specified resource.\n * Returns `true` if the user can perform the action, `false` otherwise.\n *\n * If the user 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 = <TAssumeHydrated extends boolean = false>(\n resourceId: string,\n action: string,\n): SWRIsAuthorized<TAssumeHydrated> => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useStytchIsAuthorized', 'StytchProvider'));\n const client = useStytch();\n const { user } = useStytchUser();\n const [isAuthorized, setIsAuthorized] = useAsyncState<SWRIsAuthorized<boolean>>({\n isInitialized: false,\n fromCache: false,\n isAuthorized: false,\n });\n\n useEffect(() => {\n if (isStytchSSRProxy(client)) {\n return;\n }\n\n setIsAuthorized({\n isInitialized: true,\n fromCache: true,\n isAuthorized: client.rbac.isAuthorizedSync(resourceId, action),\n });\n }, [action, client, resourceId, setIsAuthorized]);\n\n useEffect(() => {\n if (isStytchSSRProxy(client)) {\n return;\n }\n client.rbac.isAuthorized(resourceId, action).then((isAuthorized) => {\n setIsAuthorized({ isAuthorized, fromCache: false, isInitialized: true });\n });\n }, [client, user?.roles, resourceId, action, setIsAuthorized]);\n\n return isAuthorized;\n};\n\ntype permissionsLoaded<Permissions extends Record<string, string>> =\n | {\n loaded: false;\n value: null;\n }\n | {\n loaded: true;\n value: PermissionsMap<Permissions>;\n };\n\n/**\n * Wrap your component with this HOC in order to receive the permissions for the logged-in user.\n * Evaluates all permissions granted to the logged-in user.\n * Returns a Record<RoleId, Record<Action, boolean>> response indicating the user's permissions.\n * Each boolean will be `true` if the user can perform the action, `false` otherwise.\n *\n * If the user is not logged in, all values will be false.\n *\n * Remember - authorization checks for sensitive actions should always occur on the backend as well.\n * @example\n * type Permissions = {\n * document: 'create' | 'read' | 'write\n * image: 'create' | 'read'\n * }\n *\n * const MyComponent = (props) => {\n * const canEditDocuments = props.stytchPermissions.document.edit;\n * const canReadImages = props.stytchPermissions.image.read;\n * }\n * return withStytchPermissions<Permissions>(MyComponent)\n */\nexport const withStytchPermissions = <Permissions extends Record<string, string>, T extends object>(\n Component: ComponentType<T & { stytchPermissions: PermissionsMap<Permissions> }>,\n): ComponentType<T> => {\n const WithStytchPermissions: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useRBACPermissions', 'StytchProvider'));\n const client = useStytch();\n const { user } = useStytchUser();\n const [permissions, setPermissions] = useAsyncState<permissionsLoaded<Permissions>>({ loaded: false, value: null });\n\n useEffect(() => {\n client.rbac.allPermissions<Permissions>().then((permissions) => {\n setPermissions({ loaded: true, value: permissions });\n });\n }, [client, user?.roles, setPermissions]);\n\n if (!permissions.loaded) {\n return null;\n }\n return <Component {...props} stytchPermissions={permissions.value} />;\n };\n WithStytchPermissions.displayName = `withStytchPermissions(${\n Component.displayName || Component.name || 'Component'\n })`;\n return WithStytchPermissions;\n};\n\nexport interface StytchProviderProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n /**\n * A Stytch client instance, created using either {@link createStytchHeadlessClient} or {@link createStytchClient}\n */\n stytch: StytchClient<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 * This value defaults to `false` in `@stytch/nextjs`.\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 = createStytchClient('public-token-<find yours in the stytch dashboard>')\n *\n * return (\n * <StytchProvider stytch={stytch}>\n * <App />\n * </StytchProvider>\n * )\n */\nexport const StytchProvider = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>({\n stytch,\n children,\n assumeHydrated = false,\n}: StytchProviderProps<TProjectConfiguration>) => {\n invariant(!useIsMounted__INTERNAL(), providerMustBeUniqueError);\n invariant(\n !assumeHydrated || typeof window !== 'undefined',\n 'The `assumeHydrated` prop must be set to `false` when using StytchProvider in a server environment.',\n );\n\n const ctx = useMemo(() => ({ client: stytch, isMounted: true }), [stytch]);\n\n type ClientState<TAlwaysInitialized extends boolean> = {\n session: SWRSession<TAlwaysInitialized>;\n user: SWRUser<TAlwaysInitialized>;\n };\n\n const getHydratedState = useCallback(() => {\n return {\n session: { ...stytch.session.getInfo(), isInitialized: true },\n user: { ...stytch.user.getInfo(), isInitialized: true },\n } satisfies ClientState<true>;\n }, [stytch]);\n\n const getInitialState = () => {\n return {\n session: initialSession,\n user: initialUser,\n } satisfies ClientState<false>;\n };\n\n const [{ user, session }, setClientState] = useAsyncState<ClientState<boolean>>(() =>\n assumeHydrated ? getHydratedState() : (getInitialState() as ClientState<boolean>),\n );\n\n // Store the initial value of `assumeHydrated` in a ref, because it is\n // logically only relevant for the first render\n const assumeHydratedRef = useRef(assumeHydrated);\n useEffect(() => {\n if (isStytchSSRProxy(stytch)) {\n return;\n }\n\n const updateState = () => {\n setClientState((oldState) => mergeWithStableProps(oldState, getHydratedState()));\n };\n\n if (!assumeHydratedRef.current) {\n updateState();\n }\n\n return stytch.onStateChange(updateState);\n }, [getHydratedState, setClientState, stytch]);\n\n return (\n <StytchContext.Provider value={ctx}>\n <StytchUserContext.Provider value={user}>\n <StytchSessionContext.Provider value={session}>{children}</StytchSessionContext.Provider>\n </StytchUserContext.Provider>\n </StytchContext.Provider>\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 { StytchClient } from '../../../StytchClient';\nimport { PresentationConfig, StytchLoginConfig } from '../../../types';\nimport { useIsMounted__INTERNAL, useStytch } from '../b2c/StytchContext';\nimport { noProviderError, serverRenderError } from '../utils/errors';\nimport { invariant } from '../utils/invariant';\n\n// Mirrors createB2BComponent and createWebComponent\nexport function createB2CComponent<\n Props extends {\n client: StytchClient<TProjectConfiguration>;\n config?: StytchLoginConfig;\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 = useStytch<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, IDPConsentManifestGenerator } from '../../../types';\nimport { IDPContainer } from '../../b2c/IDPContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\nimport { StytchProps } from './StytchLogin';\n\nexport type IdentityProviderProps = Omit<StytchProps, 'config'> & {\n /**\n * Optional {@link IDPConsentManifestGenerator} to customize the consent screen.\n */\n getIDPConsentManifest?: IDPConsentManifestGenerator;\n /**\n * Optional {@link AuthTokenParams} to provide a trusted auth token to provide for attestation prior to running OAuth flow.\n */\n authTokenParams?: AuthTokenParams;\n};\n\n/**\n * The Stytch 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 UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <IdentityProvider\n * presentation={{\n * theme: { primary: '#ff00f7' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const IdentityProvider = /* @__PURE__ */ createB2CComponent('IdentityProvider', IDPContainer);\n","import { OAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { getShouldRenderFloatingOneTap } from '../../oneTap/positionModes';\nimport { StytchLoginConfig } from '../../types';\nimport { hasProduct } from '../b2c/utils';\n\nexport const useIsOnlyFloatingOneTap = (config: StytchLoginConfig) => {\n return useMemo(() => {\n const position = config.oauthOptions?.providers[0].position;\n return (\n config.products.length === 1 &&\n hasProduct(config.products, 'oauth') &&\n config.oauthOptions?.providers.length === 1 &&\n config.oauthOptions?.providers[0].type === OAuthProviders.Google &&\n config.oauthOptions?.providers[0].one_tap === true &&\n getShouldRenderFloatingOneTap(position)\n );\n }, [config]);\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchEventType, StytchProjectConfigurationInput, WebAuthnAuthenticateResponse } from '@stytch/core/public';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { extractErrorMessage } from '../../utils/extractErrorMessage';\nimport { extractErrorType } from '../../utils/extractErrorType';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../b2c/GlobalContextProvider';\nimport { hasProduct } from '../b2c/utils';\n\nconst MAX_ATTEMPTS = 5;\n\nexport type StartPasskeyAuth = () => Promise<WebAuthnAuthenticateResponse<StytchProjectConfigurationInput>>;\n\nexport const usePromptPasskey = ({\n canAutofill,\n shadowDOM,\n}: {\n canAutofill: boolean;\n shadowDOM: boolean;\n}): [startPasskeyAuth: StartPasskeyAuth, error: string | undefined] => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const [, dispatch] = useGlobalReducer();\n\n const [error, setError] = useState<string>();\n\n const startPasskeyAuth = useCallback(\n async ({\n conditionalMediation = false,\n abortController,\n }: {\n conditionalMediation?: boolean;\n abortController?: AbortController;\n } = {}) => {\n try {\n const resp = await stytchClient.webauthn.authenticate({\n domain: config.passkeyOptions?.domain,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n conditional_mediation: conditionalMediation,\n is_passkey: true,\n signal: abortController?.signal,\n disable_input_check: shadowDOM,\n });\n\n if (!resp) {\n throw new Error('Empty response');\n }\n\n onEvent({ type: StytchEventType.PasskeyAuthenticate, data: resp });\n dispatch({ type: 'transition', screen: AppScreens.PasskeyConfirmation });\n return resp;\n } catch (e) {\n if (extractErrorType(e) === 'webauthn_registration_not_found') {\n setError(\n t({\n id: 'error.passkeyRegistrationNotFound',\n message:\n 'Passkey registration not found. You may have deleted the passkey from your account but not password manager. Please try again.',\n }),\n );\n } else if (e instanceof Error && e.name === 'StytchAPIError') {\n setError(\n t({\n id: 'error.passkeyUnknown',\n message: 'Unknown error occurred during passkey authentication. Please try again.',\n }),\n );\n }\n\n const message = extractErrorMessage(e);\n if (message) {\n onError({ message });\n }\n\n throw e;\n }\n },\n [\n shadowDOM,\n config.passkeyOptions?.domain,\n config.sessionOptions?.sessionDurationMinutes,\n dispatch,\n onError,\n onEvent,\n stytchClient.webauthn,\n t,\n ],\n );\n\n useEffect(() => {\n if (!hasPasskeys || !canAutofill) {\n return;\n }\n\n // Skip passkey authentication in Storybook environment\n if (process.env.STORYBOOK) {\n return;\n }\n\n const abortController = new AbortController();\n (async () => {\n if (!(await stytchClient.webauthn.browserSupportsAutofill())) {\n return;\n }\n\n for (let i = 0; i < MAX_ATTEMPTS; ++i) {\n if (abortController.signal.aborted) {\n return;\n }\n\n try {\n await startPasskeyAuth({ abortController, conditionalMediation: true });\n return;\n } catch (e) {\n // User denied permission\n if (e instanceof DOMException && e.name === 'NotAllowedError') {\n return;\n }\n\n // Otherwise swallow error\n }\n }\n })();\n\n return () => {\n abortController.abort();\n };\n }, [canAutofill, hasPasskeys, startPasskeyAuth, stytchClient.webauthn]);\n\n return [startPasskeyAuth, error];\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEV } from '@stytch/core';\nimport React, { useEffect, useState } from 'react';\n\nimport { isTruthy } from '../../../../utils/isTruthy';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport Divider from '../../../components/molecules/Divider';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { usePresentation } from '../../../components/PresentationConfig';\nimport { usePromptPasskey } from '../../../hooks/usePromptPasskey';\nimport { useConfig, useStytch } from '../../GlobalContextProvider';\nimport { MainScreenGroup, MainScreenKey } from '../../StytchProduct';\nimport { hasProduct, useProductComponents } from '../../utils';\n\nexport const MainScreen = () => {\n const stytchClient = useStytch();\n const config = useConfig();\n\n const { options } = usePresentation();\n const { t } = useLingui();\n const [mainScreenGroups, setMainScreenGroups] = useState<MainScreenGroup[]>([]);\n\n const { products, oauthOptions } = config;\n const hasButtons = (hasProduct(products, 'oauth') && oauthOptions) || hasProduct(products, 'crypto');\n const hasPasskeys = hasProduct(products, 'passkeys');\n const hasInput =\n hasProduct(products, 'emailMagicLinks') || hasProduct(products, 'otp') || hasProduct(products, 'passwords');\n\n const [startPasskeyAuth, passkeyError] = usePromptPasskey({\n canAutofill: hasInput,\n shadowDOM: Boolean(options.enableShadowDOM),\n });\n const productComponents = useProductComponents(products, 'mainScreen')!;\n\n useEffect(() => {\n const loadProductComponents = async () => {\n // Deduplicate components mapped from products\n const keys = Array.from(\n new Set<MainScreenKey>(\n products\n .map((product) => {\n switch (product.id) {\n case 'oauth':\n case 'crypto':\n return product.id;\n case 'emailMagicLinks':\n case 'otp':\n case 'passwords':\n return 'login-form';\n }\n })\n .filter(isTruthy),\n ),\n );\n\n const showDivider = hasButtons && hasInput;\n if (keys.length > 1 && showDivider) {\n keys.splice(-1, 0, 'divider');\n }\n\n // Add a passkey button if the user has configured passkeys, don't have a login form,\n // or the browser does not support autofill\n if (hasPasskeys && (!hasInput || !(await stytchClient.webauthn.browserSupportsAutofill()))) {\n keys.unshift('passkey-button');\n }\n\n // Group Wallet and Oauth buttons (basically going from [Password, Wallet, OAuth] to [Password, [Wallet, OAuth]])\n // This reassignment is only there to make TS happy - .splice mutates, and groups === keys\n // so it is not really needed\n const groups: MainScreenGroup[] = keys;\n const walletIndex = keys.indexOf('crypto');\n const oauthIndex = keys.indexOf('oauth');\n if (walletIndex !== -1 && oauthIndex !== -1 && Math.abs(walletIndex - oauthIndex) === 1) {\n const index = Math.min(walletIndex, oauthIndex);\n groups.splice(index, 0, keys.splice(index, 2));\n }\n\n setMainScreenGroups(groups);\n };\n\n loadProductComponents();\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, []);\n\n if (hasPasskeys && products.length === 1)\n return (\n <Typography variant=\"helper\" color=\"destructive\">\n {DEV('Error: Cannot use Passkeys by itself, please add another product to the config.')}\n </Typography>\n );\n\n const props = { startPasskeyAuth };\n const renderComponent = (key: MainScreenGroup, index: number) => {\n if (Array.isArray(key)) {\n return (\n <Column gap={2} key={index}>\n {key.map(renderComponent)}\n </Column>\n );\n }\n\n if (key === 'divider') {\n return <Divider key={index} />;\n }\n\n const Component = productComponents[key];\n return <Component key={key} {...props} />;\n };\n\n return (\n <Column gap={6}>\n {!options.hideHeaderText && (\n <Typography variant=\"header\" align=\"center\">\n {t({ id: 'login.title', message: 'Sign up or log in' })}\n </Typography>\n )}\n\n {passkeyError && <ErrorText>{passkeyError}</ErrorText>}\n\n {mainScreenGroups.map(renderComponent)}\n </Column>\n );\n};\n","import React, { ReactNode } from 'react';\n\nimport Logo from '../components/atoms/Logo';\nimport MainContainer from '../components/molecules/MainContainer';\nimport { usePresentation } from '../components/PresentationConfig';\nimport { useIsOnlyFloatingOneTap } from '../hooks/useIsOnlyFloatingOneTap';\nimport { AppScreens, useConfig, useGlobalReducer } from './GlobalContextProvider';\nimport { MainScreen } from './screens/Main';\nimport { useProductComponents } from './utils';\n\nconst AppContainer: () => null | ReactNode = () => {\n const [state] = useGlobalReducer();\n const config = useConfig();\n const { displayWatermark, theme, options } = usePresentation();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap(config);\n const currentScreen = state.screen;\n\n const screenComponentMap = useProductComponents(config.products, 'screens');\n\n if (isOnlyFloatingOneTap) {\n const { FloatingOneTap } = screenComponentMap;\n return <FloatingOneTap />;\n }\n\n // MainScreen is omitted from StytchProduct since it's used by everything\n const ScreenComponent = currentScreen === AppScreens.Main ? MainScreen : screenComponentMap[currentScreen];\n return (\n <MainContainer theme={theme} displayWatermark={displayWatermark}>\n {options.logo && <Logo appLogo={options.logo} />}\n\n <ScreenComponent />\n </MainContainer>\n );\n};\n\nexport default AppContainer;\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, SDKConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { GlobalContextProvider } from './GlobalContextProvider';\n\nexport const AppContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n config,\n presentation,\n callbacks,\n strings,\n styles,\n}: SDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n // Read the watermark out of sync storage, then read it out of async storage\n const [displayWatermark, setDisplayWatermark] = useState(() => {\n const { displayWatermark } = readB2CInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2CInternals(client).networkClient.logEvent({\n name: 'render_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 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://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n const presentationValue = usePresentationWithDefault(presentation, displayWatermark, config, 'Products');\n\n return (\n <GlobalContextProvider client={client} config={config} callbacks={callbacks}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { Callbacks, StringsOptions, StytchProjectConfigurationInput } from '@stytch/core/public';\n\nimport { PresentationConfig, StytchLoginConfig } from '../../../types';\nimport { AppContainer } from '../../b2c/AppContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\n\nexport interface StytchProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> extends StringsOptions {\n /**\n * A {@link StytchLoginConfig} object. Add products and product-specific config to this object to change the login methods shown.\n *\n * @example\n * {\n * products: [Products.crypto, Products.otp]\n * }\n *\n * @example\n * {\n * products: [Products.emailMagicLinks]\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * }\n * }\n *\n * @example\n * {\n * products: [Products.oauth]\n * oauthOptions: {\n * providers: [\n * { type: 'google', one_tap: true, position: 'embedded' },\n * { type: 'microsoft' },\n * { type: 'apple' },\n * { type: 'facebook' },\n * ],\n * }\n * }\n */\n config: StytchLoginConfig;\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 login screen error', message)\n * }\n * }\n *\n * @example\n * {\n * onEvent: ({type, data}) => {\n * if(type === StytchEventType.CryptoWalletAuthenticate) {\n * console.log('Logged in with crypto wallet', data);\n * }\n * }\n * }\n */\n callbacks?: Callbacks<TProjectConfiguration>;\n}\n\n/**\n * The Stytch Login Screen component.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <StytchLogin\n * config={{\n * products: [Products.emailMagicLinks, Products.oauth],\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * oauthOptions: {\n * providers: [{ type: OAuthProviders.Google }, { type: OAuthProviders.Microsoft }],\n * },\n * }}\n * presentation={{\n * theme: { primary: '#0577CA' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchLogin = /* @__PURE__ */ createB2CComponent('StytchLogin', AppContainer);\n","import { OAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { readB2CInternals } from '../../../../utils/internal';\nimport { safeLocalStorage } from '../../../../utils/storage';\nimport { useStytch } from '../../GlobalContextProvider';\n\nexport function useLastUsedOAuth() {\n const stytch = useStytch();\n const { publicToken } = readB2CInternals(stytch);\n\n const lastUsedOAuth = useMemo(() => safeLocalStorage.getItem(publicToken, 'b2c_last_used_oauth'), [publicToken]);\n const setLastUsedOAuth = (providerType: OAuthProviders) => {\n safeLocalStorage.setItem(publicToken, 'b2c_last_used_oauth', providerType);\n };\n\n return [lastUsedOAuth, setLastUsedOAuth] as const;\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 { OAuthProviders } 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 { useStytch } from '../GlobalContextProvider';\nimport type { oauthIcons } from './Icons';\n\ninterface ProviderInfo {\n messageDescriptor: MessageDescriptor;\n}\n\nconst providerInfo = {\n [OAuthProviders.Google]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGoogle', message: 'Continue with Google' }),\n },\n [OAuthProviders.Microsoft]: {\n messageDescriptor: msg({ id: 'oauth.continueWithMicrosoft', message: 'Continue with Microsoft' }),\n },\n [OAuthProviders.Apple]: {\n messageDescriptor: msg({ id: 'oauth.continueWithApple', message: 'Continue with Apple' }),\n },\n [OAuthProviders.Github]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGitHub', message: 'Continue with GitHub' }),\n },\n [OAuthProviders.GitLab]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGitLab', message: 'Continue with GitLab' }),\n },\n [OAuthProviders.Facebook]: {\n messageDescriptor: msg({ id: 'oauth.continueWithFacebook', message: 'Continue with Facebook' }),\n },\n [OAuthProviders.Discord]: {\n messageDescriptor: msg({ id: 'oauth.continueWithDiscord', message: 'Continue with Discord' }),\n },\n [OAuthProviders.Salesforce]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSalesforce', message: 'Continue with Salesforce' }),\n },\n [OAuthProviders.Slack]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSlack', message: 'Continue with Slack' }),\n },\n [OAuthProviders.Amazon]: {\n messageDescriptor: msg({ id: 'oauth.continueWithAmazon', message: 'Continue with Amazon' }),\n },\n [OAuthProviders.Bitbucket]: {\n messageDescriptor: msg({ id: 'oauth.continueWithBitbucket', message: 'Continue with Bitbucket' }),\n },\n [OAuthProviders.LinkedIn]: {\n messageDescriptor: msg({ id: 'oauth.continueWithLinkedIn', message: 'Continue with LinkedIn' }),\n },\n [OAuthProviders.Coinbase]: {\n messageDescriptor: msg({ id: 'oauth.continueWithCoinbase', message: 'Continue with Coinbase' }),\n },\n [OAuthProviders.Twitch]: {\n messageDescriptor: msg({ id: 'oauth.continueWithTwitch', message: 'Continue with Twitch' }),\n },\n [OAuthProviders.Twitter]: {\n messageDescriptor: msg({ id: 'oauth.continueWithX', message: 'Continue with X' }),\n },\n [OAuthProviders.TikTok]: {\n messageDescriptor: msg({ id: 'oauth.continueWithTikTok', message: 'Continue with TikTok' }),\n },\n [OAuthProviders.Snapchat]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSnapchat', message: 'Continue with Snapchat' }),\n },\n [OAuthProviders.Figma]: {\n messageDescriptor: msg({ id: 'oauth.continueWithFigma', message: 'Continue with Figma' }),\n },\n [OAuthProviders.Yahoo]: {\n messageDescriptor: msg({ id: 'oauth.continueWithYahoo', message: 'Continue with Yahoo' }),\n },\n} satisfies Record<OAuthProviders, ProviderInfo>;\n\ntype Props = {\n providerType: StringLiteralFromEnum<OAuthProviders>;\n loginRedirectUrl?: string;\n signupRedirectUrl?: string;\n customScopes?: string[];\n providerParams?: Record<string, string>;\n onSuccess?: () => void;\n};\n\nexport const OAuthButton = ({\n providerType,\n loginRedirectUrl,\n signupRedirectUrl,\n customScopes,\n providerParams,\n onSuccess,\n}: Props) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const presentation = usePresentation();\n const iconRegistry: IconRegistry<keyof typeof oauthIcons> = 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\n const iconName = providerType === 'twitter' ? 'xTwitter' : providerType;\n const Icon = iconRegistry[iconName];\n\n label = t(messageDescriptor);\n icon = <Icon />;\n }\n\n const onButtonClick = async () => {\n await stytchClient.oauth[providerType].start({\n login_redirect_url: loginRedirectUrl,\n signup_redirect_url: signupRedirectUrl,\n custom_scopes: customScopes,\n provider_params: providerParams,\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, StringLiteralFromEnum } from '@stytch/core';\nimport { OAuthProviders, OneTapPositions } from '@stytch/core/public';\nimport classNames from 'classnames';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { GoogleOneTapClient } from '../../../oneTap/GoogleOneTapClient';\nimport { OneTapProvider } from '../../../oneTap/OneTapProvider';\nimport { getRenderedOneTapMode } from '../../../oneTap/positionModes';\nimport { readB2CInternals } from '../../../utils/internal';\nimport { CircularProgress } from '../../components/atoms/CircularProgress';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { ErrorMessages, OneTapErrors } from '../../components/organisms/OneTapError';\nimport { usePresentation } from '../../components/PresentationConfig';\nimport { useIsUnmounted } from '../../hooks/useIsMounted';\nimport { useIsOnlyFloatingOneTap } from '../../hooks/useIsOnlyFloatingOneTap';\nimport { useConfig, useStytch } from '../GlobalContextProvider';\nimport { useLastUsedOAuth } from '../screens/Main/useLastUsedOAuth';\nimport styles from './GoogleOneTap.module.css';\nimport { OAuthButton } from './OAuthButton';\n\ntype Props = {\n position?: StringLiteralFromEnum<OneTapPositions>;\n customScopes?: string[];\n providerParams?: Record<string, string>;\n cancelOnTapOutside?: boolean;\n};\n\nconst OAUTH_BUTTON_HEIGHT = 38;\n\n// See WebComponents.tsx - when using shadow DOM, the Google script cannot see the\n// mount point, so we render it outside and use slot to bring it back in\nconst OneTapMountNode = ({ enableShadowDOM }: { enableShadowDOM: boolean | undefined }) =>\n enableShadowDOM ? (\n <slot name=\"one-tap\"></slot>\n ) : (\n <div data-prompt_parent_id=\"g_id_onload\" id=\"google-parent-prompt\" />\n );\n\nexport const GoogleOneTap = ({ position, customScopes, providerParams, cancelOnTapOutside }: Props) => {\n const oneTapRenderMode = getRenderedOneTapMode(position);\n const shouldRenderEmbeddedOneTap = oneTapRenderMode === 'embedded';\n const shouldRenderOneTap = !!oneTapRenderMode;\n\n const config = useConfig();\n const stytch = useStytch();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap(config);\n const [pending, setPending] = useState(shouldRenderEmbeddedOneTap);\n const [canDisplayOneTap, setCanDisplayOneTap] = useState(true);\n const [height, setHeight] = useState(OAUTH_BUTTON_HEIGHT);\n const [oneTapError, setOneTapError] = useState<OneTapErrors>();\n const resizeCount = useRef(0);\n const timeout = useRef<number>();\n const isUnmounted = useIsUnmounted();\n const [lastUsedMethod, setLastUsedOAuth] = useLastUsedOAuth();\n const { options } = usePresentation();\n\n /*\n * Begin One Tap Render Smoothing Logic\n */\n // Gets height of rendered one-tap UI, and sets the container height to that.\n // Animation is added for a smoother transition,\n const onResize = useCallback<ResizeObserverCallback>(([el]) => {\n if (timeout.current != null) {\n clearTimeout(timeout.current);\n }\n // On initial load, the one-tap ui rapidly changes heights 3 times. Checking\n // the resizeCount lets us debounce the first 2 resizes, so they will get\n // cancelled, but if they don't, it will resize after the short delay.\n if (resizeCount.current > 1) {\n // While setting the height, if the contentRect height is 0, it could also mean that the\n // oauthOptions props are being changed, and in that scenario if we can continue to display\n // one tap, we are setting the container height to the current height. If one tap cannot display\n // one tap, we will set the container height to the height of the button component.\n // Else we will set the height to the contentRect height.\n setHeight((currentHeight) =>\n el.contentRect.height === 0 ? (canDisplayOneTap ? currentHeight : OAUTH_BUTTON_HEIGHT) : el.contentRect.height,\n );\n } else {\n timeout.current = window.setTimeout(\n () =>\n setHeight((currentHeight) =>\n el.contentRect.height === 0\n ? canDisplayOneTap\n ? currentHeight\n : OAUTH_BUTTON_HEIGHT\n : el.contentRect.height,\n ),\n 100,\n );\n }\n resizeCount.current++;\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, []);\n\n // If we are in embedded mode, initialize the resize observer and bind it to the React callback\n useEffect(() => {\n if (shouldRenderEmbeddedOneTap) {\n const el = document.getElementById('google-parent-prompt');\n if (el) {\n const resizeObserver = new ResizeObserver(onResize);\n resizeObserver.observe(el);\n return () => resizeObserver.disconnect();\n }\n }\n }, [onResize, shouldRenderEmbeddedOneTap]);\n /*\n * End One Tap Render Smoothing Logic\n */\n\n /*\n * Begin One Tap Loading / Initialization Logic\n */\n //\n const attemptToLoadOneTap = useCallback(async () => {\n if (!shouldRenderOneTap) {\n return;\n }\n\n const { oneTap } = readB2CInternals(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 === 'no_signup_redirect_urls_set') {\n setOneTapError(OneTapErrors.NoConfiguredSignupRedirectUrls);\n } else if (clientResult.reason === 'no_login_redirect_urls_set') {\n setOneTapError(OneTapErrors.NoConfiguredLoginRedirectUrls);\n } else {\n logger.error('Unable to load One Tap settings for project', clientResult);\n }\n return;\n }\n const { client } = clientResult;\n\n const onOneTapCancelled = (showError?: boolean) => {\n setCanDisplayOneTap(false);\n setHeight(OAUTH_BUTTON_HEIGHT);\n if (showError) {\n setOneTapError(OneTapErrors.OriginNotAllowedForClient);\n }\n };\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.\n * If the element does not exist, 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 const renderResult = await client.render({\n callback: oneTap.createOnSuccessHandler({\n loginRedirectUrl: config.oauthOptions?.loginRedirectURL,\n signupRedirectUrl: config.oauthOptions?.signupRedirectURL,\n onSuccess: oneTap.redirectOnSuccess,\n }),\n onOneTapCancelled,\n style: { position },\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 setCanDisplayOneTap(renderResult.success);\n setPending(false);\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 shouldRenderOneTap,\n stytch,\n isUnmounted,\n config.oauthOptions?.loginRedirectURL,\n config.oauthOptions?.signupRedirectURL,\n position,\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 setCanDisplayOneTap(false);\n setPending(false);\n });\n return () => client?.cancel();\n }, [attemptToLoadOneTap]);\n /*\n * End One Tap Loading / Initialization Logic\n */\n\n // Fallback Google auth button in case One Tap cannot be displayed\n const fallbackButton = (\n <OAuthButton\n providerType={OAuthProviders.Google}\n loginRedirectUrl={config.oauthOptions?.loginRedirectURL}\n signupRedirectUrl={config.oauthOptions?.signupRedirectURL}\n customScopes={customScopes}\n providerParams={providerParams}\n onSuccess={() => setLastUsedOAuth(OAuthProviders.Google)}\n />\n );\n\n const fallbackWithLastUsed =\n lastUsedMethod === OAuthProviders.Google ? <LastUsed>{fallbackButton}</LastUsed> : fallbackButton;\n\n if (isOnlyFloatingOneTap) {\n return <OneTapMountNode enableShadowDOM={options.enableShadowDOM} />;\n }\n\n if (oneTapError) {\n return (\n <>\n {DEV(<ErrorMessages error={oneTapError} />)}\n {fallbackWithLastUsed}\n </>\n );\n }\n\n if (shouldRenderEmbeddedOneTap && OneTapProvider.willGoogleOneTapShowEmbedded()) {\n return (\n <div className={classNames(styles.container, { [styles.pending]: pending })} style={{ height: height + 'px' }}>\n {pending && <CircularProgress size={25} />}\n {canDisplayOneTap ? <OneTapMountNode enableShadowDOM={options.enableShadowDOM} /> : fallbackButton}\n </div>\n );\n }\n\n return fallbackWithLastUsed;\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 AmazonIcon = (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=\"#F90\"\n d=\"M16.5 15.53C9.2 19 4.69 16.1 1.8 14.33c-.19-.1-.5.03-.23.34.97 1.17 4.13 3.98 8.25 3.98s6.59-2.25 6.9-2.64c.3-.4.08-.6-.22-.48m2.04-1.13c-.2-.25-1.19-.3-1.81-.22s-1.57.45-1.49.68c.04.09.13.05.56.01s1.64-.2 1.9.14c.25.33-.4 1.9-.51 2.16s.04.32.25.15.6-.6.85-1.23c.25-.62.4-1.5.25-1.69\"\n />\n <path\n fill=\"#000\"\n fillRule=\"evenodd\"\n d=\"M11.6 8.46c0 .9.02 1.67-.44 2.47-.37.66-.96 1.06-1.62 1.06-.9 0-1.42-.68-1.42-1.69 0-1.99 1.79-2.35 3.48-2.35zm2.35 5.69a.5.5 0 0 1-.55.05c-.78-.64-.91-.94-1.34-1.55-1.28 1.3-2.19 1.7-3.85 1.7-1.96 0-3.5-1.22-3.5-3.64 0-1.9 1.03-3.19 2.5-3.82 1.26-.56 3.03-.66 4.39-.81v-.3c0-.56.04-1.22-.29-1.7-.28-.43-.83-.6-1.3-.6-.9 0-1.7.45-1.89 1.4-.04.21-.19.42-.4.43l-2.27-.25c-.19-.04-.4-.2-.34-.49C5.63 1.83 8.1 1 10.33 1c1.13 0 2.62.3 3.52 1.16 1.13 1.06 1.02 2.48 1.02 4.02v3.64c0 1.1.46 1.57.88 2.16.16.21.19.47 0 .63-.48.4-1.33 1.13-1.8 1.55z\"\n clipRule=\"evenodd\"\n className={_styles.darkInvert}\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 AppleIcon = (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=\"#000\"\n d=\"M16.55 7.14c-.1.08-1.86 1.12-1.86 3.43A4 4 0 0 0 17 14.2c0 .06-.35 1.3-1.18 2.56-.74 1.1-1.5 2.21-2.67 2.21s-1.47-.7-2.82-.7c-1.32 0-1.79.73-2.86.73S5.66 17.97 4.8 16.7c-1-1.48-1.8-3.78-1.8-5.96C3 7.25 5.17 5.4 7.31 5.4c1.14 0 2.09.78 2.8.78.68 0 1.74-.83 3.03-.83.5 0 2.26.05 3.41 1.79m-4.02-3.27c.53-.66.91-1.59.91-2.5q0-.22-.03-.37c-.87.03-1.9.6-2.53 1.36-.49.59-.95 1.5-.95 2.44 0 .14.03.28.04.33l.23.02c.78 0 1.76-.54 2.33-1.28\"\n className={_styles.darkInvert}\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 BinanceIcon = (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=\"#F3BA2F\"\n d=\"m6.43 8.56 3.5-3.5 3.49 3.5 2.03-2.03L9.92 1 4.4 6.53zM4.99 10 2.96 7.97.92 10l2.04 2.03zM6.43 11.44l3.5 3.5 3.49-3.5 2.03 2.03L9.92 19 4.4 13.47zM16.89 12.03 18.92 10 16.9 7.97 14.85 10z\"\n />\n <path fill=\"#F3BA2F\" d=\"M11.99 10 9.92 7.93 8.4 9.46l-.18.18-.36.36 2.06 2.07z\" />\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 BitbucketIcon = (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=\"#1868DB\"\n d=\"m17.96 9.14-1.34 8.08a.9.9 0 0 1-.93.78H4.3a.9.9 0 0 1-.93-.78L1.02 2.81c-.1-.5.17-.81.64-.81h16.68c.47 0 .73.32.64.8l-.64 3.8c-.09.55-.4.78-.93.78H7.37q-.23 0-.2.26l.79 4.78q.05.18.23.2h3.62q.17-.02.23-.2l.56-3.46c.05-.43.35-.6.75-.6h3.94c.58 0 .76.29.67.78\"\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 CoinbaseIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path fill=\"#0052FF\" d=\"M10.02 14.5a4.5 4.5 0 1 1 4.44-5.25H19a9 9 0 1 0 0 1.5h-4.54a4.5 4.5 0 0 1-4.44 3.75\" />\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 DiscordIcon = (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=\"#5865F2\"\n d=\"M12.53 3q-.26.44-.47.92a15 15 0 0 0-4.12 0q-.21-.47-.48-.92-1.93.3-3.72 1.1a13.8 13.8 0 0 0-2.66 9.72Q3.15 15.28 5.63 16q.56-.72.98-1.5a10 10 0 0 1-1.54-.7l.38-.27c2.88 1.3 6.22 1.3 9.1 0q.19.15.38.27a10 10 0 0 1-1.54.7q.41.8.98 1.5 2.48-.7 4.55-2.18c.38-3.69-.64-6.89-2.67-9.73a15 15 0 0 0-3.71-1.08zm-5.52 8.86c-.89 0-1.62-.77-1.62-1.72 0-.94.7-1.71 1.62-1.71.9 0 1.63.77 1.62 1.71-.02.95-.72 1.72-1.62 1.72m5.98 0c-.89 0-1.62-.77-1.62-1.72 0-.94.7-1.71 1.62-1.71.91 0 1.63.77 1.62 1.71-.02.95-.72 1.72-1.62 1.72\"\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 FacebookIcon = (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=\"#0866FF\"\n d=\"M19 10a9 9 0 1 0-11.17 8.73v-5.98H5.97V10h1.86V8.81c0-3.06 1.38-4.48 4.39-4.48.57 0 1.55.11 1.96.23v2.49q-.35-.03-1.04-.03c-1.48 0-2.05.55-2.05 2V10h2.94l-.5 2.75h-2.44v6.18A9 9 0 0 0 19 10\"\n />\n <path\n fill=\"#fff\"\n d=\"m13.53 12.75.5-2.75h-2.94v-.97c0-1.46.57-2.01 2.05-2.01q.7 0 1.04.03v-2.5a10 10 0 0 0-1.96-.22c-3 0-4.4 1.42-4.4 4.48V10H5.98v2.75h1.86v5.98a9 9 0 0 0 3.26.2v-6.18z\"\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 FigmaIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path fill=\"#24CB71\" d=\"M4 16a3 3 0 0 1 3-3h3v3a3 3 0 0 1-6 0\" />\n <path fill=\"#FF7237\" d=\"M10 1v6h3a3 3 0 0 0 0-6z\" />\n <path fill=\"#00B6FF\" d=\"M12.98 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" />\n <path fill=\"#FF3737\" d=\"M4 4a3 3 0 0 0 3 3h3V1H7a3 3 0 0 0-3 3\" />\n <path fill=\"#874FFF\" d=\"M4 10a3 3 0 0 0 3 3h3V7H7a3 3 0 0 0-3 3\" />\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 GitlabIcon = (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=\"#E24329\"\n d=\"m18.7 8.2-.03-.07-2.45-6.4A.65.65 0 0 0 15 1.8l-1.65 5.07h-6.7L5 1.8a.64.64 0 0 0-.97-.37.6.6 0 0 0-.25.3l-2.45 6.4-.03.06a4.55 4.55 0 0 0 1.51 5.26l.03.02 3.73 2.8 1.85 1.4 1.12.84c.27.21.65.21.92 0l1.12-.84 1.85-1.4 3.75-2.81.01-.01a4.55 4.55 0 0 0 1.5-5.26\"\n />\n <path\n fill=\"#FC6D26\"\n d=\"m18.7 8.2-.03-.07a8 8 0 0 0-3.29 1.48L10 13.68l3.43 2.59 3.75-2.81.01-.01a4.55 4.55 0 0 0 1.5-5.26\"\n />\n <path\n fill=\"#FCA326\"\n d=\"m6.57 16.27 1.85 1.4 1.12.84c.27.21.65.21.92 0l1.12-.84 1.85-1.4s-1.6-1.2-3.43-2.6c-1.83 1.4-3.43 2.6-3.43 2.6\"\n />\n <path\n fill=\"#FC6D26\"\n d=\"M4.62 9.61a8 8 0 0 0-3.3-1.48l-.02.06a4.55 4.55 0 0 0 1.51 5.26l.03.02 3.73 2.8s1.6-1.2 3.43-2.6z\"\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 LinkedinIcon = (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=\"#007EBB\"\n fillRule=\"evenodd\"\n d=\"M3 19h14a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H3a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2\"\n clipRule=\"evenodd\"\n />\n <path\n fill=\"#fff\"\n fillRule=\"evenodd\"\n d=\"M16.5 16.5h-2.67v-4.55c0-1.25-.48-1.94-1.46-1.94-1.08 0-1.64.72-1.64 1.94v4.55H8.16V7.83h2.57V9s.78-1.43 2.62-1.43c1.83 0 3.15 1.12 3.15 3.44zM5.09 6.7A1.6 1.6 0 0 1 3.5 5.1c0-.88.71-1.6 1.59-1.6.87 0 1.58.72 1.58 1.6s-.7 1.6-1.58 1.6m-1.33 9.8h2.68V7.83H3.76z\"\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 MetamaskIcon = (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=\"#FF5C16\"\n d=\"m17.82 18.08-3.88-1.15-2.92 1.75H8.98l-2.93-1.75-3.87 1.15L1 14.1 2.18 9.7 1 5.95l1.18-4.63 6.05 3.62h3.54l6.05-3.62L19 5.95 17.82 9.7 19 14.1z\"\n />\n <path\n fill=\"#FF5C16\"\n d=\"m2.18 1.32 6.06 3.62-.25 2.49zM6.06 14.1l2.66 2.03-2.66.8zM8.5 10.75 8 7.43 4.71 9.69V12l1.33-1.26zM17.82 1.32l-6.05 3.62.24 2.49zM13.95 14.1l-2.67 2.03 2.67.8zM15.29 9.69 12 7.43l-.52 3.32h2.46L15.28 12z\"\n />\n <path\n fill=\"#E34807\"\n d=\"m6.05 16.93-3.87 1.15L1 14.1h5.05zM8.5 10.75l.75 4.8-1.03-2.67-3.5-.87 1.33-1.26zM13.95 16.93l3.87 1.15L19 14.1h-5.05zM11.5 10.75l-.75 4.8 1.03-2.67 3.5-.87-1.33-1.26z\"\n />\n <path\n fill=\"#FF8D5D\"\n d=\"M1 14.1 2.18 9.7H4.7L4.72 12l3.5.87 1.03 2.66-.53.6-2.67-2.04zM19 14.1 17.82 9.7H15.3L15.28 12l-3.5.87-1.03 2.66.53.6 2.67-2.04z\"\n />\n <path fill=\"#FF8D5D\" d=\"M11.77 4.94H8.23L8 7.43l1.26 8.11h1.5l1.26-8.11z\" />\n <path\n fill=\"#661800\"\n d=\"M2.18 1.32 1 5.95 2.18 9.7H4.7L8 7.43zM7.77 11.71H6.62l-.62.61 2.22.56zM17.82 1.32 19 5.95 17.82 9.7H15.3L12 7.43zM12.23 11.71h1.15l.62.62-2.22.55zM11.02 17.1l.26-.97-.53-.58h-1.5l-.53.58.26.96\"\n />\n <path fill=\"#C0C4CD\" d=\"M11.02 17.1v1.58H8.98v-1.59z\" />\n <path fill=\"#E7EBF6\" d=\"m6.06 16.93 2.92 1.75v-1.59l-.26-.96zM13.95 16.93l-2.93 1.75v-1.59l.26-.96z\" />\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 PhantomIcon = (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=\"#AB9FF2\"\n d=\"M3.13 17.5c2.3 0 4.02-2 5.05-3.58q-.19.53-.2 1.04c0 .92.54 1.58 1.58 1.58 1.44 0 2.97-1.26 3.76-2.62a2 2 0 0 0-.08.55c0 .64.36 1.04 1.1 1.04 2.32 0 4.66-4.12 4.66-7.73 0-2.8-1.42-5.28-4.98-5.28C7.75 2.5 1 10.16 1 15.11c0 1.94 1.04 2.39 2.13 2.39m8.73-10.02c0-.7.39-1.2.96-1.2s.95.5.95 1.2-.4 1.2-.95 1.2c-.57 0-.96-.5-.96-1.2m2.98 0c0-.7.39-1.2.96-1.2.55 0 .94.5.94 1.2s-.38 1.2-.94 1.2c-.57 0-.96-.5-.96-1.2\"\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 SalesforceIcon = (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=\"#00A1E0\"\n fillRule=\"evenodd\"\n d=\"M8.49 4.92a3.1 3.1 0 0 1 2.28-1.01c1.2 0 2.22.68 2.78 1.7q.75-.35 1.57-.35c2.14 0 3.88 1.8 3.88 4.04a3.96 3.96 0 0 1-4.65 3.96c-.49.9-1.42 1.5-2.47 1.5q-.65 0-1.25-.3a3.2 3.2 0 0 1-2.97 2.04c-1.4 0-2.58-.9-3.04-2.18q-.3.06-.62.06c-1.66 0-3-1.4-3-3.13 0-1.16.6-2.17 1.5-2.71a4 4 0 0 1-.29-1.44c0-1.99 1.57-3.6 3.5-3.6 1.13 0 2.15.56 2.78 1.42\"\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 SnapchatIcon = (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=\"#fff\"\n d=\"M17.72 14.26c-2.78-1.35-3.23-3.43-3.25-3.59-.02-.18-.05-.33.16-.52.2-.19 1.08-.73 1.32-.9q.63-.41.46-.92c-.1-.24-.32-.33-.56-.33l-.22.03c-.44.1-.87.32-1.12.38h-.1q-.19.02-.17-.21c.03-.49.1-1.44.02-2.32a3.7 3.7 0 0 0-.96-2.36A4.3 4.3 0 0 0 10 2.14a4.3 4.3 0 0 0-3.3 1.37 3.7 3.7 0 0 0-.96 2.36c-.08.89 0 1.84.02 2.33q.01.22-.17.22l-.1-.02c-.24-.06-.68-.28-1.12-.38L4.15 8c-.24 0-.46.1-.55.33-.14.35.04.63.45.91.24.17 1.13.72 1.33.9.2.2.18.34.15.53-.02.16-.46 2.24-3.25 3.59-.16.08-.44.24.05.51.77.43 1.28.38 1.68.64.34.22.14.69.38.86.3.2 1.2-.02 2.35.36.96.32 1.55 1.22 3.26 1.22s2.32-.9 3.27-1.22c1.15-.38 2.04-.16 2.34-.36.25-.17.05-.64.39-.86.4-.26.9-.21 1.68-.64.48-.26.2-.43.04-.5\"\n className={_styles.darkInvert}\n />\n <path\n fill=\"#000\"\n d=\"M18.94 14.1a1.3 1.3 0 0 0-.64-.67l-.14-.07-.24-.13a5.4 5.4 0 0 1-1.97-1.68 4 4 0 0 1-.33-.6q-.06-.16-.01-.23l.1-.12.82-.53q.52-.36.74-.8a1.6 1.6 0 0 0 .08-1.3c-.23-.6-.8-.98-1.5-.98a2 2 0 0 0-.54.08q.01-.64-.04-1.29a4.83 4.83 0 0 0-2.44-3.93A5.6 5.6 0 0 0 10 1.15a5.6 5.6 0 0 0-2.82.72 4.8 4.8 0 0 0-2.44 3.93q-.06.66-.04 1.28a3 3 0 0 0-.55-.08 1.54 1.54 0 0 0-1.6 1.65q.01.33.18.64.23.43.74.8l.42.27.38.25q.08.04.12.12.05.07-.01.24-.14.3-.33.59a5.4 5.4 0 0 1-1.91 1.65c-.43.23-.89.39-1.08.9-.14.4-.05.84.32 1.21q.2.21.46.35.53.3 1.12.45.13.03.23.1c.13.12.12.3.3.55q.13.2.33.34c.37.26.78.27 1.23.3.4 0 .85.02 1.37.2q.3.11.7.36c.61.38 1.46.9 2.88.9s2.27-.52 2.9-.9q.37-.25.68-.36c.52-.17.97-.2 1.37-.2.44-.02.86-.04 1.23-.3q.24-.16.38-.41c.13-.22.13-.37.25-.47l.21-.1a5 5 0 0 0 1.14-.46q.28-.15.48-.37v-.01c.35-.37.44-.8.3-1.18m-1.27.68c-.77.42-1.28.38-1.67.64-.34.21-.14.68-.39.85-.3.21-1.2-.01-2.34.37-.95.31-1.56 1.21-3.27 1.21-1.7 0-2.3-.9-3.27-1.22-1.15-.38-2.04-.15-2.34-.36-.25-.17-.05-.64-.38-.86-.4-.25-.91-.2-1.68-.63-.5-.27-.21-.44-.05-.52 2.79-1.35 3.23-3.43 3.25-3.58.02-.2.05-.34-.16-.53-.2-.18-1.08-.73-1.32-.9-.4-.28-.59-.57-.46-.91.1-.25.32-.34.56-.34l.22.03c.44.1.87.32 1.12.38l.1.01q.19 0 .17-.22c-.03-.49-.1-1.43-.02-2.32.1-1.22.5-1.83.96-2.36A4.3 4.3 0 0 1 10 2.15a4.3 4.3 0 0 1 3.3 1.36c.46.54.86 1.14.96 2.36.08.89.01 1.84-.02 2.33q-.01.23.17.22l.1-.02c.24-.06.68-.28 1.12-.38l.22-.02c.24 0 .46.1.56.33q.17.5-.46.91c-.24.17-1.13.72-1.32.9-.21.2-.18.34-.16.53.02.16.46 2.24 3.25 3.59.17.08.44.25-.05.52\"\n className={_styles.darkInvert}\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 TiktokIcon = (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=\"#161823\"\n fillRule=\"evenodd\"\n d=\"M11.38 1.79h2.3A4.42 4.42 0 0 0 18 5.3v.68l.01 2.41a7.6 7.6 0 0 1-4.39-1.38v6.28c0 3.14-2.6 5.7-5.8 5.7a6 6 0 0 1-3.33-1.03A5.7 5.7 0 0 1 2 13.3a5.76 5.76 0 0 1 6.59-5.64v3.16q-.37-.11-.78-.12a2.63 2.63 0 0 0-2.66 2.6c0 1 .58 1.87 1.43 2.3q.55.3 1.23.3c1.42 0 2.59-1.1 2.64-2.5V1h3.16q0 .4.08.79z\"\n clipRule=\"evenodd\"\n className={_styles.darkInvert}\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 TwitchIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path fill=\"#fff\" d=\"m16.25 9.36-2.5 2.57h-2.5l-2.19 2.25v-2.25H6.25V2.29h10z\" />\n <path\n fill=\"#9146FF\"\n d=\"M5.63 1 2.5 4.21V15.8h3.75V19l3.13-3.21h2.5L17.5 10V1zm10.62 8.36-2.5 2.57h-2.5l-2.19 2.25v-2.25H6.25V2.29h10z\"\n />\n <path fill=\"#9146FF\" d=\"M14.38 4.54h-1.26v3.85h1.26zM10.94 4.54H9.69v3.85h1.25z\" />\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 XTwitterIcon = (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=\"#000\"\n d=\"M11.67 8.62 18.23 1h-1.55l-5.7 6.61L6.44 1H1.2l6.87 10-6.87 8h1.55l6.01-7 4.8 7h5.24zm-2.12 2.47-.7-1-5.54-7.92H5.7l4.47 6.4.7 1 5.8 8.3H14.3z\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import {\n AmazonIcon,\n AppleIcon,\n BinanceIcon,\n BitbucketIcon,\n CoinbaseIcon,\n DiscordIcon,\n FacebookIcon,\n FigmaIcon,\n GithubIcon,\n GitlabIcon,\n GmailIcon,\n GoogleIcon,\n LinkedinIcon,\n MetamaskIcon,\n MicrosoftIcon,\n OutlookIcon,\n PhantomIcon,\n SalesforceIcon,\n SlackIcon,\n SnapchatIcon,\n TiktokIcon,\n TwitchIcon,\n XTwitterIcon,\n YahooIcon,\n} from '../../../assets/logo-color';\nimport type { IconRegistry } from '../../components/IconRegistry';\n\nexport const oauthIcons = {\n amazon: AmazonIcon,\n apple: AppleIcon,\n bitbucket: BitbucketIcon,\n coinbase: CoinbaseIcon,\n discord: DiscordIcon,\n facebook: FacebookIcon,\n figma: FigmaIcon,\n github: GithubIcon,\n gitlab: GitlabIcon,\n google: GoogleIcon,\n linkedin: LinkedinIcon,\n microsoft: MicrosoftIcon,\n salesforce: SalesforceIcon,\n slack: SlackIcon,\n snapchat: SnapchatIcon,\n tiktok: TiktokIcon,\n twitch: TwitchIcon,\n xTwitter: XTwitterIcon,\n yahoo: YahooIcon,\n} satisfies IconRegistry<string>;\n\nexport const cryptoIcons = {\n phantom: PhantomIcon,\n metamask: MetamaskIcon,\n binance: BinanceIcon,\n coinbase: CoinbaseIcon,\n} satisfies IconRegistry<string>;\n\nexport const emailIcons = {\n gmail: GmailIcon,\n outlook: OutlookIcon,\n yahoo: YahooIcon,\n} satisfies IconRegistry<string>;\n\nexport type IconNames =\n | keyof typeof oauthIcons //\n | keyof typeof cryptoIcons\n | keyof typeof emailIcons;\n","'use strict'\n// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n var BASE_MAP = new Uint8Array(256)\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i)\n var xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n var zeroes = 0\n var length = 0\n var pbegin = 0\n var pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n var size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n var b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n var carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n var i = 0\n for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n var it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n var str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n var psz = 0\n // Skip and count leading '1's.\n var zeroes = 0\n var length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n var b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Find code of next character\n var charCode = source.charCodeAt(psz)\n // Base map can not be indexed using char code\n if (charCode > 255) { return }\n // Decode character\n var carry = BASE_MAP[charCode]\n // Invalid character\n if (carry === 255) { return }\n var i = 0\n for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n var it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n var vch = new Uint8Array(zeroes + (size - it4))\n var j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\nmodule.exports = base\n","const basex = require('base-x')\nconst ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\nmodule.exports = basex(ALPHABET)\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { Wallets } from '@stytch/core/public';\nimport { encode } from 'bs58';\n\nimport { GenericWalletIcon } from '../assets';\nimport { cryptoIcons } from '../ui/b2c/components/Icons';\nimport { IconRegistry } from '../ui/components/IconRegistry';\nimport { getButtonId, usePresentation } from '../ui/components/PresentationConfig';\n\ntype ProviderRequest = ({\n method,\n params,\n}: {\n method: 'eth_requestAccounts' | 'personal_sign';\n params?: string[];\n}) => string[] | string;\n\ntype ETHProvider = {\n isMetaMask?: boolean;\n isCoinbaseWallet?: boolean;\n request: ProviderRequest;\n};\n\ndeclare global {\n interface Window {\n solana: {\n isPhantom?: boolean;\n connect: () => { publicKey: { toString: () => string } };\n request: ({\n method,\n params,\n }: {\n method: 'signMessage';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n params: Record<string, any>;\n }) => { signature: Uint8Array };\n };\n\n ethereum: {\n isMetaMask?: boolean;\n isCoinbaseWallet?: boolean;\n request?: ({ method, params }: { method: string; params?: string[] }) => string[] | string;\n providers?: ETHProvider[];\n };\n\n BinanceChain: { request: ProviderRequest };\n }\n}\n\nconst hasMultipleEthereumWallets = () => !!window.ethereum?.providers;\n\nconst hasMetaMask = () =>\n !!(hasMultipleEthereumWallets()\n ? window.ethereum.providers?.find((wallet) => wallet.isMetaMask)\n : window.ethereum.isMetaMask);\n\nconst hasCoinbaseWallet = () =>\n !!(hasMultipleEthereumWallets()\n ? window.ethereum.providers?.find((wallet) => wallet.isCoinbaseWallet)\n : window.ethereum?.isCoinbaseWallet);\n\nconst hasOtherEthereumWallet = () => !hasMetaMask() && !hasCoinbaseWallet() && !!window.ethereum;\n\nconst getMetaMaskProvider = () =>\n hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet) => wallet.isMetaMask) : window.ethereum;\n\nconst getCoinbaseProvider = () =>\n hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet) => wallet.isCoinbaseWallet) : window.ethereum;\n\nconst getOtherInjectedProvider = () =>\n window.ethereum.providers?.find((wallet) => !wallet.isCoinbaseWallet && !wallet.isMetaMask);\n\ntype CryptoIcon = keyof typeof cryptoIcons;\nexport const walletIcons: Partial<Record<Wallets, CryptoIcon>> = {\n [Wallets.Phantom]: 'phantom',\n [Wallets.Binance]: 'binance',\n [Wallets.Coinbase]: 'coinbase',\n [Wallets.Metamask]: 'metamask',\n};\n\nexport const useCryptoButtonProps = () => {\n const presentation = usePresentation();\n const iconRegistry: IconRegistry<CryptoIcon> = presentation.iconRegistry;\n\n return {\n getIcon: (wallet: Wallets) => {\n const iconName = walletIcons[wallet];\n return iconName ? iconRegistry[iconName] : GenericWalletIcon;\n },\n getId: (wallet: Wallets) => getButtonId(`wallet-${wallet}`, presentation.options),\n };\n};\n\nexport const WalletToText: Record<Wallets, MessageDescriptor> = {\n [Wallets.Phantom]: msg({ id: 'crypto.wallet.phantom', message: 'Phantom' }),\n [Wallets.Binance]: msg({ id: 'crypto.wallet.binance', message: 'Binance' }),\n [Wallets.Coinbase]: msg({ id: 'crypto.wallet.coinbase', message: 'Coinbase' }),\n [Wallets.Metamask]: msg({ id: 'crypto.wallet.metamask', message: 'Metamask' }),\n [Wallets.GenericEthereumWallet]: msg({ id: 'crypto.wallet.otherEthereum', message: 'Other Ethereum Wallet' }),\n [Wallets.GenericSolanaWallet]: msg({ id: 'crypto.wallet.otherSolana', message: 'Other Solana Wallet' }),\n};\n\nexport const isWalletVisible = (wallet: Wallets): boolean => {\n switch (wallet) {\n case Wallets.Metamask:\n return !!window.ethereum && hasMetaMask();\n case Wallets.Phantom:\n return (!!window.solana && window.solana?.isPhantom) ?? false;\n case Wallets.Binance:\n return !!window.BinanceChain;\n case Wallets.Coinbase:\n return !!window.ethereum && hasCoinbaseWallet();\n case Wallets.GenericEthereumWallet:\n return !!window.ethereum && hasOtherEthereumWallet();\n case Wallets.GenericSolanaWallet:\n return !!window.solana && !window.solana.isPhantom;\n default:\n return false;\n }\n};\n\nconst connectWithEthereumProvider = async (request: ProviderRequest): Promise<string> => {\n const [address] = await request({\n method: 'eth_requestAccounts',\n });\n return address;\n};\n\nexport const connectWithWallet = async ({ wallet }: { wallet: Wallets }): Promise<string> => {\n switch (wallet) {\n case Wallets.Metamask: {\n const provider = getMetaMaskProvider();\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.Phantom: {\n const connectResp = await window.solana.connect();\n return connectResp.publicKey.toString();\n }\n case Wallets.Binance: {\n const provider = window.BinanceChain;\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.Coinbase: {\n const provider = getCoinbaseProvider();\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.GenericEthereumWallet: {\n const provider = getOtherInjectedProvider();\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.GenericSolanaWallet: {\n const connectResp = await window.solana.connect();\n return connectResp.publicKey.toString();\n }\n default:\n return '';\n }\n};\n\nconst signMessageWithSolanaProvider = async (message: string): Promise<string> => {\n const encodedMessage = new TextEncoder().encode(message);\n const signResp = await window.solana.request({\n method: 'signMessage',\n params: {\n message: encodedMessage,\n display: 'utf8',\n },\n });\n return encode(signResp.signature);\n};\n\nconst signMessageWithEthereumProvider = async (\n request: ProviderRequest,\n message: string,\n address: string,\n): Promise<string> => {\n const signature = await request({\n method: 'personal_sign',\n params: [message, address],\n });\n return signature as string;\n};\n\nexport const signMessageWithWallet = async ({\n wallet,\n message,\n address,\n}: {\n wallet: Wallets;\n message: string;\n address: string;\n}): Promise<string> => {\n switch (wallet) {\n case Wallets.Phantom:\n case Wallets.GenericSolanaWallet:\n return signMessageWithSolanaProvider(message);\n case Wallets.Metamask: {\n const provider = getMetaMaskProvider();\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n case Wallets.Binance: {\n const provider = window.BinanceChain;\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n case Wallets.Coinbase: {\n const provider = getCoinbaseProvider();\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n case Wallets.GenericEthereumWallet: {\n const provider = getOtherInjectedProvider();\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n default:\n return '';\n }\n};\n\nexport const isSolanaWallet = (wallet: Wallets) => {\n const solanaWallets: Wallets[] = [Wallets.Phantom, Wallets.GenericSolanaWallet];\n return solanaWallets.includes(wallet);\n};\n\nexport const isEthereumWallet = (wallet: Wallets) => {\n const ethWallets: Wallets[] = [Wallets.Binance, Wallets.GenericEthereumWallet, Wallets.Coinbase, Wallets.Metamask];\n return ethWallets.includes(wallet);\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { connectWithWallet, isSolanaWallet } from '../../../../utils/crypto';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport {\n AppScreens,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const ConnectWallet = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const handleError = () => {\n // eslint-disable-next-line lingui/no-unlocalized-strings -- This is not shown in the UI, just sent to the error callback\n onError({ message: '[Error] Could not connect to wallet' });\n dispatch({ type: 'transition', screen: AppScreens.CryptoError });\n };\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const walletOption = state.formState.cryptoState.walletOption;\n const walletType = isSolanaWallet(walletOption) ? 'solana' : 'ethereum';\n\n const onConnectWallet = async () => {\n const address = await connectWithWallet({ wallet: walletOption });\n stytchClient.cryptoWallets\n .authenticateStart({\n crypto_wallet_address: address,\n crypto_wallet_type: walletType,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.CryptoWalletAuthenticateStart, data });\n dispatch({\n type: 'update_crypto_state',\n cryptoState: {\n walletAddress: address,\n walletChallenge: data.challenge,\n walletOption: walletOption,\n },\n });\n\n dispatch({ type: 'transition', screen: AppScreens.CryptoSignMessage });\n })\n .catch(handleError);\n };\n\n useMountEffect(() => {\n onConnectWallet();\n });\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.connectWallet.title', message: 'Connecting to your wallet...' })}\n body={t({\n id: 'crypto.connectWallet.instructionPopup',\n message: 'Complete sign in by connecting through the wallet pop up in the right corner of your screen.',\n })}\n helper={t({\n id: 'crypto.troubleHelp',\n message: 'If you are having trouble, go back to the main screen and try logging in again.',\n })}\n />\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\n\nexport const Error = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.error.title', message: 'Looks like there was an error' })}\n body={t({\n id: 'crypto.error.content',\n message: 'Your sign in request could not be completed. Go back to the main screen and try logging in again.',\n })}\n />\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { Wallets } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport { GenericWalletIcon } from '../../../../assets';\nimport { isWalletVisible, useCryptoButtonProps, WalletToText } from '../../../../utils/crypto';\nimport Button from '../../../components/atoms/Button';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport { AppScreens, useConfig, useGlobalReducer } from '../../GlobalContextProvider';\n\nconst MAX_BUTTONS = 6;\n\nconst walletMessages = {\n [Wallets.Phantom]: msg({ id: 'crypto.wallet.continueWithPhantom', message: 'Continue with Phantom' }),\n [Wallets.Binance]: msg({ id: 'crypto.wallet.continueWithBinance', message: 'Continue with Binance' }),\n [Wallets.Coinbase]: msg({ id: 'crypto.wallet.continueWithCoinbase', message: 'Continue with Coinbase' }),\n [Wallets.Metamask]: msg({ id: 'crypto.wallet.continueWithMetamask', message: 'Continue with Metamask' }),\n [Wallets.GenericEthereumWallet]: msg({\n id: 'crypto.wallet.continueWithEthereum',\n message: 'Continue with Other Ethereum Wallet',\n }),\n [Wallets.GenericSolanaWallet]: msg({\n id: 'crypto.wallet.continueWithSolana',\n message: 'Continue with Other Solana Wallet',\n }),\n} satisfies Record<Wallets, MessageDescriptor>;\n\nexport const CryptoWalletButtons = ({ type }: { type: 'main' | 'other' }) => {\n const { t } = useLingui();\n const [state, dispatch] = useGlobalReducer();\n const config = useConfig();\n\n const { getIcon, getId } = useCryptoButtonProps();\n\n const oAuthOptions = config.oauthOptions?.providers.length ?? 0;\n\n // Crypto Buttons on screen = Maximum Buttons - OAuth Buttons - 1 (Other crypto or set up new wallet)\n const cryptoButtonsOnMainScreen = MAX_BUTTONS - oAuthOptions - 1;\n const onWalletStart = (wallet: Wallets) => {\n dispatch({\n type: 'update_crypto_state',\n cryptoState: {\n ...state.formState.cryptoState,\n walletOption: wallet,\n },\n });\n dispatch({ type: 'transition', screen: AppScreens.CryptoConnect });\n };\n\n const allDetectedWallets = (Object.keys(Wallets) as (keyof typeof Wallets)[]).filter((wallet) =>\n isWalletVisible(Wallets[wallet]),\n );\n\n const renderOtherScreenButton = allDetectedWallets.length > cryptoButtonsOnMainScreen;\n\n const mainWallets = allDetectedWallets.slice(0, cryptoButtonsOnMainScreen);\n const otherWallet = allDetectedWallets.slice(cryptoButtonsOnMainScreen);\n\n const walletsToRender = type === 'main' ? mainWallets : otherWallet;\n\n return (\n <ButtonColumn>\n {walletsToRender.map((wallet) => {\n const walletEnum = Wallets[wallet];\n const Icon = getIcon(walletEnum);\n return (\n <Button\n key={wallet}\n variant=\"outline\"\n icon={<Icon />}\n onClick={() => onWalletStart(walletEnum)}\n id={getId(walletEnum)}\n >\n {type === 'main' ? t(walletMessages[walletEnum]) : t(WalletToText[walletEnum])}\n </Button>\n );\n })}\n\n {renderOtherScreenButton && type === 'main' ? (\n <Button\n variant=\"outline\"\n icon={<GenericWalletIcon />}\n onClick={() => dispatch({ type: 'transition', screen: AppScreens.CryptoOtherScreen })}\n id={getId(Wallets.GenericEthereumWallet)}\n >\n {t(msg({ id: 'crypto.wallet.continueWithOtherWallet', message: 'Continue with other Crypto Wallet' }))}\n </Button>\n ) : (\n <Button\n variant=\"outline\"\n onClick={() => dispatch({ type: 'transition', screen: AppScreens.CryptoSetupWallet })}\n >\n {t(msg({ id: 'crypto.wallet.setupNewWallet', message: 'Set up a new crypto wallet' }))}\n </Button>\n )}\n </ButtonColumn>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React 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 { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\nimport { CryptoWalletButtons } from './WalletButtons';\n\nexport const OtherCryptoWallets = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'crypto.continueWithOtherWallet.title', message: 'Continue with other wallet' })}\n </Typography>\n\n <ButtonColumn>\n <CryptoWalletButtons type=\"other\" />\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 { useLingui } from '@lingui/react/macro';\nimport { Wallets } from '@stytch/core/public';\nimport React from 'react';\n\nimport { useCryptoButtonProps, WalletToText } from '../../../../utils/crypto';\nimport Button, { ButtonAnchor } from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\n\nexport const SetupNewWallet = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n const { getIcon, getId } = useCryptoButtonProps();\n const walletsToRender = [Wallets.Metamask, Wallets.Phantom, Wallets.Coinbase, Wallets.Binance];\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.setupNewWallet.title', message: 'Set up a new crypto wallet' })}\n body={t({\n id: 'crypto.setupNewWallet.content',\n message: 'Get started by downloading any Ethereum or Solana wallet.',\n })}\n helper={t({\n id: 'crypto.setupNewWallet.instruction',\n message:\n 'We’ve included a few examples of wallet extensions you can find below. Once you’ve set up your wallet, click “Go back” to use it and sign in.',\n })}\n />\n\n <ButtonColumn>\n {walletsToRender.map((wallet) => {\n const Icon = getIcon(wallet);\n return (\n <ButtonAnchor\n key={wallet}\n variant=\"outline\"\n target=\"_blank\"\n rel=\"noreferrer\"\n icon={<Icon />}\n href=\"https://metamask.io/\"\n id={getId(wallet)}\n >\n {t(WalletToText[wallet])}\n </ButtonAnchor>\n );\n })}\n\n <Button variant=\"primary\" 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 { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { isSolanaWallet, signMessageWithWallet } from '../../../../utils/crypto';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const SignMessage = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const handleError = () => {\n // eslint-disable-next-line lingui/no-unlocalized-strings -- This is not shown in the UI, just sent to the error callback\n onError({ message: '[Error] Could not sign message' });\n dispatch({ type: 'transition', screen: AppScreens.CryptoError });\n };\n const stytchClient = useStytch();\n const config = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const { walletChallenge, walletAddress, walletOption } = state.formState.cryptoState;\n const walletType = isSolanaWallet(walletOption) ? 'solana' : 'ethereum';\n\n const onSignWallet = async () => {\n const signature = await signMessageWithWallet({\n wallet: walletOption,\n message: walletChallenge,\n address: walletAddress,\n });\n\n stytchClient.cryptoWallets\n .authenticate({\n crypto_wallet_address: walletAddress,\n crypto_wallet_type: walletType,\n signature,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.CryptoWalletAuthenticate, data });\n dispatch({ type: 'transition', screen: AppScreens.CryptoConfirmation });\n })\n .catch(handleError);\n };\n\n useMountEffect(() => {\n onSignWallet();\n });\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.signMessage.title', message: 'Completing signature request...' })}\n body={t({\n id: 'crypto.signMessage.instruction',\n message: 'Complete the signature request through the wallet pop up in the right corner of your screen.',\n })}\n helper={t({\n id: 'crypto.troubleHelp',\n message: 'If you are having trouble, go back to the main screen and try logging in again.',\n })}\n />\n\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport { Confirmation } from '../../../components/molecules/Confirmation';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\n\nexport const Success = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n return (\n <Column gap={6}>\n <Confirmation\n header={t({ id: 'crypto.success.title', message: 'Success!' })}\n text={t({ id: 'crypto.success.content', message: 'You have successfully connected your wallet.' })}\n />\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/collection-legacy.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\n\n// src/collection.tsx\nimport React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n #keys;\n constructor(entries) {\n super(entries);\n this.#keys = [...super.keys()];\n __instanciated.set(this, true);\n }\n set(key, value) {\n if (__instanciated.get(this)) {\n if (this.has(key)) {\n this.#keys[this.#keys.indexOf(key)] = key;\n } else {\n this.#keys.push(key);\n }\n }\n super.set(key, value);\n return this;\n }\n insert(index, key, value) {\n const has = this.has(key);\n const length = this.#keys.length;\n const relativeIndex = toSafeInteger(index);\n let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n this.set(key, value);\n return this;\n }\n const size = this.size + (has ? 0 : 1);\n if (relativeIndex < 0) {\n actualIndex++;\n }\n const keys = [...this.#keys];\n let nextValue;\n let shouldSkip = false;\n for (let i = actualIndex; i < size; i++) {\n if (actualIndex === i) {\n let nextKey = keys[i];\n if (keys[i] === key) {\n nextKey = keys[i + 1];\n }\n if (has) {\n this.delete(key);\n }\n nextValue = this.get(nextKey);\n this.set(key, value);\n } else {\n if (!shouldSkip && keys[i - 1] === key) {\n shouldSkip = true;\n }\n const currentKey = keys[shouldSkip ? i : i - 1];\n const currentValue = nextValue;\n nextValue = this.get(currentKey);\n this.delete(currentKey);\n this.set(currentKey, currentValue);\n }\n }\n return this;\n }\n with(index, key, value) {\n const copy = new _OrderedDict(this);\n copy.insert(index, key, value);\n return copy;\n }\n before(key) {\n const index = this.#keys.indexOf(key) - 1;\n if (index < 0) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position before the given key.\n */\n setBefore(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index, newKey, value);\n }\n after(key) {\n let index = this.#keys.indexOf(key);\n index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n if (index === -1) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position after the given key.\n */\n setAfter(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index + 1, newKey, value);\n }\n first() {\n return this.entryAt(0);\n }\n last() {\n return this.entryAt(-1);\n }\n clear() {\n this.#keys = [];\n return super.clear();\n }\n delete(key) {\n const deleted = super.delete(key);\n if (deleted) {\n this.#keys.splice(this.#keys.indexOf(key), 1);\n }\n return deleted;\n }\n deleteAt(index) {\n const key = this.keyAt(index);\n if (key !== void 0) {\n return this.delete(key);\n }\n return false;\n }\n at(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return this.get(key);\n }\n }\n entryAt(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return [key, this.get(key)];\n }\n }\n indexOf(key) {\n return this.#keys.indexOf(key);\n }\n keyAt(index) {\n return at(this.#keys, index);\n }\n from(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.at(dest);\n }\n keyFrom(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.keyAt(dest);\n }\n find(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return entry;\n }\n index++;\n }\n return void 0;\n }\n findIndex(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return index;\n }\n index++;\n }\n return -1;\n }\n filter(predicate, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n entries.push(entry);\n }\n index++;\n }\n return new _OrderedDict(entries);\n }\n map(callbackfn, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n index++;\n }\n return new _OrderedDict(entries);\n }\n reduce(...args) {\n const [callbackfn, initialValue] = args;\n let index = 0;\n let accumulator = initialValue ?? this.at(0);\n for (const entry of this) {\n if (index === 0 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n index++;\n }\n return accumulator;\n }\n reduceRight(...args) {\n const [callbackfn, initialValue] = args;\n let accumulator = initialValue ?? this.at(-1);\n for (let index = this.size - 1; index >= 0; index--) {\n const entry = this.at(index);\n if (index === this.size - 1 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n }\n return accumulator;\n }\n toSorted(compareFn) {\n const entries = [...this.entries()].sort(compareFn);\n return new _OrderedDict(entries);\n }\n toReversed() {\n const reversed = new _OrderedDict();\n for (let index = this.size - 1; index >= 0; index--) {\n const key = this.keyAt(index);\n const element = this.get(key);\n reversed.set(key, element);\n }\n return reversed;\n }\n toSpliced(...args) {\n const entries = [...this.entries()];\n entries.splice(...args);\n return new _OrderedDict(entries);\n }\n slice(start, end) {\n const result = new _OrderedDict();\n let stop = this.size - 1;\n if (start === void 0) {\n return result;\n }\n if (start < 0) {\n start = start + this.size;\n }\n if (end !== void 0 && end > 0) {\n stop = end - 1;\n }\n for (let index = start; index <= stop; index++) {\n const key = this.keyAt(index);\n const element = this.get(key);\n result.set(key, element);\n }\n return result;\n }\n every(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return false;\n }\n index++;\n }\n return true;\n }\n some(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return true;\n }\n index++;\n }\n return false;\n }\n};\nfunction at(array, index) {\n if (\"at\" in Array.prototype) {\n return Array.prototype.at.call(array, index);\n }\n const actualIndex = toSafeIndex(array, index);\n return actualIndex === -1 ? void 0 : array[actualIndex];\n}\nfunction toSafeIndex(array, index) {\n const length = array.length;\n const relativeIndex = toSafeInteger(index);\n const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\nfunction toSafeInteger(number) {\n return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction createCollection2(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n {\n collectionElement: null,\n collectionRef: { current: null },\n collectionRefObject: { current: null },\n itemMap: new OrderedDict(),\n setItemMap: () => void 0\n }\n );\n const CollectionProvider = ({ state, ...props }) => {\n return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const CollectionInit = (props) => {\n const state = useInitCollection();\n return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n };\n CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n const CollectionProviderImpl = (props) => {\n const { scope, children, state } = props;\n const ref = React2.useRef(null);\n const [collectionElement, setCollectionElement] = React2.useState(\n null\n );\n const composeRefs = useComposedRefs2(ref, setCollectionElement);\n const [itemMap, setItemMap] = state;\n React2.useEffect(() => {\n if (!collectionElement) return;\n const observer = getChildListObserver(() => {\n });\n observer.observe(collectionElement, {\n childList: true,\n subtree: true\n });\n return () => {\n observer.disconnect();\n };\n }, [collectionElement]);\n return /* @__PURE__ */ jsx2(\n CollectionContextProvider,\n {\n scope,\n itemMap,\n setItemMap,\n collectionRef: composeRefs,\n collectionRefObject: ref,\n collectionElement,\n children\n }\n );\n };\n CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n const CollectionSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);\n const CollectionItemSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React2.useRef(null);\n const [element, setElement] = React2.useState(null);\n const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n const { setItemMap } = context;\n const itemDataRef = React2.useRef(itemData);\n if (!shallowEqual(itemDataRef.current, itemData)) {\n itemDataRef.current = itemData;\n }\n const memoizedItemData = itemDataRef.current;\n React2.useEffect(() => {\n const itemData2 = memoizedItemData;\n setItemMap((map) => {\n if (!element) {\n return map;\n }\n if (!map.has(element)) {\n map.set(element, { ...itemData2, element });\n return map.toSorted(sortByDocumentPosition);\n }\n return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n });\n return () => {\n setItemMap((map) => {\n if (!element || !map.has(element)) {\n return map;\n }\n map.delete(element);\n return new OrderedDict(map);\n });\n };\n }, [element, memoizedItemData, setItemMap]);\n return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useInitCollection() {\n return React2.useState(new OrderedDict());\n }\n function useCollection(scope) {\n const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n return itemMap;\n }\n const functions = {\n createCollectionScope,\n useCollection,\n useInitCollection\n };\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n functions\n ];\n}\nfunction shallowEqual(a, b) {\n if (a === b) return true;\n if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n if (a == null || b == null) return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n if (a[key] !== b[key]) return false;\n }\n return true;\n}\nfunction isElementPreceding(a, b) {\n return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\nfunction sortByDocumentPosition(a, b) {\n return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\nfunction getChildListObserver(callback) {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n callback();\n return;\n }\n }\n });\n return observer;\n}\nexport {\n createCollection,\n createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nfunction getOwnerWindow(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access window outside of the DOM\");\n }\n return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access document outside of the DOM\");\n }\n return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nexport {\n canUseDOM,\n composeEventHandlers,\n getActiveElement,\n getOwnerDocument,\n getOwnerWindow,\n isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (true) {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n const isControlled = controlledState !== void 0;\n const onChange = useEffectEvent(onChangeProp);\n if (true) {\n const isControlledRef = React2.useRef(controlledState !== void 0);\n React2.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const args = [{ ...initialArg, state: defaultProp }];\n if (init) {\n args.push(init);\n }\n const [internalState, dispatch] = React2.useReducer(\n (state2, action) => {\n if (action.type === SYNC_STATE) {\n return { ...state2, state: action.state };\n }\n const next = reducer(state2, action);\n if (isControlled && !Object.is(next.state, state2.state)) {\n onChange(next.state);\n }\n return next;\n },\n ...args\n );\n const uncontrolledState = internalState.state;\n const prevValueRef = React2.useRef(uncontrolledState);\n React2.useEffect(() => {\n if (prevValueRef.current !== uncontrolledState) {\n prevValueRef.current = uncontrolledState;\n if (!isControlled) {\n onChange(uncontrolledState);\n }\n }\n }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n const state = React2.useMemo(() => {\n const isControlled2 = controlledState !== void 0;\n if (isControlled2) {\n return { ...internalState, state: controlledState };\n }\n return internalState;\n }, [internalState, controlledState]);\n React2.useEffect(() => {\n if (isControlled && !Object.is(controlledState, internalState.state)) {\n dispatch({ type: SYNC_STATE, state: controlledState });\n }\n }, [controlledState, internalState.state, isControlled]);\n return [state, dispatch];\n}\nexport {\n useControllableState,\n useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = getActiveElement();\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (getActiveElement() !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\nfunction getActiveElement(root = document) {\n const activeElement = root.activeElement;\n return activeElement && activeElement.shadowRoot ? getActiveElement(activeElement.shadowRoot) : activeElement;\n}\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tabs.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n dir,\n activationMode = \"automatic\",\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: TABS_NAME\n });\n return /* @__PURE__ */ jsx(\n TabsProvider,\n {\n scope: __scopeTabs,\n baseId: useId(),\n value,\n onValueChange: setValue,\n orientation,\n dir: direction,\n activationMode,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n \"data-orientation\": orientation,\n ...tabsProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabs.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: context.orientation,\n dir: context.dir,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"tablist\",\n \"aria-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabsList.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: isSelected,\n children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n id: triggerId,\n ...triggerProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n const isAutomaticActivation = context.activationMode !== \"manual\";\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })\n }\n )\n }\n );\n }\n);\nTabsTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-orientation\": context.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": triggerId,\n hidden: !present,\n id: contentId,\n tabIndex: 0,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n },\n children: present && children\n }\n ) });\n }\n);\nTabsContent.displayName = CONTENT_NAME;\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nvar Root2 = Tabs;\nvar List = TabsList;\nvar Trigger = TabsTrigger;\nvar Content = TabsContent;\nexport {\n Content,\n List,\n Root2 as Root,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Trigger,\n createTabsScope\n};\n//# sourceMappingURL=index.mjs.map\n","import type { OTPMethods } from '@stytch/core/public';\nimport type { ComponentType } from 'react';\n\nimport type { Values } from '../../utils/types';\nimport type { IconRegistry } from '../components/IconRegistry';\nimport type { StartPasskeyAuth } from '../hooks/usePromptPasskey';\nimport type { IconNames } from './components/Icons';\nimport type { AppScreens } from './GlobalContextProvider';\n\nexport type ProductId =\n | 'emailMagicLinks'\n | 'oauth'\n | 'otp'\n | 'crypto'\n | 'passwords'\n | 'passkeys'\n | 'passkeyRegistration';\n\n// tabs types\nexport const MagicLinkMethods = {\n Email: 'emailMagicLinks',\n} as const;\nexport type MagicLinkMethods = Values<typeof MagicLinkMethods>;\n\nexport const PasswordMethods = {\n Email: 'passwords',\n} as const;\nexport type PasswordMethods = Values<typeof PasswordMethods>;\n\nexport type TabMethods = OTPMethods | MagicLinkMethods | PasswordMethods;\n\n// mainScreen types\nexport type MainScreenKey = 'oauth' | 'crypto' | 'login-form' | 'divider' | 'passkey-button';\nexport type MainScreenGroup = MainScreenKey | MainScreenKey[];\n\nexport type MainScreenChildProps = {\n startPasskeyAuth: StartPasskeyAuth;\n};\n\nexport type StytchProduct = Readonly<{\n id: ProductId;\n\n screens: Partial<Record<AppScreens, ComponentType>>;\n tabs?: Partial<Record<TabMethods, ComponentType>>;\n mainScreen?: Partial<Record<MainScreenKey, ComponentType<MainScreenChildProps>>>;\n icons?: Partial<IconRegistry<IconNames>>;\n}>;\n","import type { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { DEV } from '@stytch/core';\nimport { OTPMethods } from '@stytch/core/public';\nimport classNames from 'classnames';\nimport { Tabs } from 'radix-ui';\nimport React from 'react';\n\nimport { buttonClassNames } from '../../../../components/atoms/Button';\nimport Typography from '../../../../components/atoms/Typography';\nimport { useConfig } from '../../../GlobalContextProvider';\nimport { MagicLinkMethods, PasswordMethods, StytchProduct, TabMethods } from '../../../StytchProduct';\nimport { hasProduct, useProductComponents } from '../../../utils';\nimport styles from './index.module.css';\n\nexport const OTPTabHeaders: Record<TabMethods, MessageDescriptor> = {\n [OTPMethods.SMS]: msg({ id: 'tab.text', message: 'Text' }),\n [OTPMethods.WhatsApp]: msg({ id: 'tab.whatsapp', message: 'WhatsApp' }),\n [OTPMethods.Email]: msg({ id: 'tab.email', message: 'Email' }),\n [MagicLinkMethods.Email]: msg({ id: 'tab.email', message: 'Email' }),\n [PasswordMethods.Email]: msg({ id: 'tab.email', message: 'Email' }),\n};\n\nexport const getTabMethods = (products: StytchProduct[], otpMethods: OTPMethods[]) => {\n const hasPassword = hasProduct(products, 'passwords');\n const tabMethods = new Set<TabMethods>();\n for (const { id } of products) {\n if (id === 'emailMagicLinks') {\n tabMethods.add(hasPassword ? PasswordMethods.Email : MagicLinkMethods.Email);\n } else if (id === 'passwords') {\n tabMethods.add(PasswordMethods.Email);\n } else if (id === 'otp') {\n for (const method of otpMethods) {\n tabMethods.add(method === OTPMethods.Email && hasPassword ? PasswordMethods.Email : method);\n }\n }\n }\n return Array.from(tabMethods);\n};\n\nexport const LoginForm = () => {\n const { t } = useLingui();\n const { otpOptions, products } = useConfig();\n const productsIncludesOtp = hasProduct(products, 'otp');\n const otpMethods = productsIncludesOtp ? (otpOptions?.methods ?? []) : [];\n const hasEmailMagicLink = hasProduct(products, 'emailMagicLinks');\n const hasOTPEmail = productsIncludesOtp && otpMethods.includes(OTPMethods.Email);\n\n const tabMethods = getTabMethods(products, otpMethods);\n const tabMethodComponents = useProductComponents(products, 'tabs');\n\n if (hasEmailMagicLink && hasOTPEmail)\n return (\n <Typography variant=\"helper\" color=\"destructive\">\n {DEV('Error: Cannot use both EML and Email OTP')}\n </Typography>\n );\n\n return (\n <Tabs.Root defaultValue={tabMethods[0]}>\n {tabMethods.length > 1 && (\n <Tabs.List className={styles.tabRow} aria-label={t({ message: 'Select login method', id: 'tab.listLabel' })}>\n {tabMethods.map((method) => (\n <Tabs.Trigger\n value={method}\n key={method}\n className={classNames(buttonClassNames({ variant: 'outline', block: true }), styles.tab)}\n >\n {t(OTPTabHeaders[method])}\n </Tabs.Trigger>\n ))}\n </Tabs.List>\n )}\n\n {tabMethods.map((method) => {\n const Component = tabMethodComponents![method];\n if (tabMethods.length > 1) {\n return (\n // We override tabIndex here because each tab will have some interactive element\n // > It is recommended that all tabpanel elements in a tab set are focusable if there are any panels in\n // > the set that contain content where the first element in the panel is not focusable.\n // - From: https://www.w3.org/WAI/ARIA/apg/patterns/tabs/examples/tabs-automatic/#accessibilityfeatures\n <Tabs.Content value={method} key={method} tabIndex={-1}>\n <Component />\n </Tabs.Content>\n );\n } else {\n return <Component key={method} />;\n }\n })}\n </Tabs.Root>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { EmailSentType } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { convertMagicLinkOptions, EMAIL_REGEX } from '../../../../../utils';\nimport { getTranslatedError } from '../../../../../utils/getTranslatedError';\nimport { readB2CInternals } from '../../../../../utils/internal';\nimport Button from '../../../../components/atoms/Button';\nimport Column from '../../../../components/atoms/Column';\nimport EmailInput from '../../../../components/molecules/EmailInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../../GlobalContextProvider';\nimport { hasProduct } from '../../../utils';\n\nexport const MagicLinkEmailForm = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n const emailMagicLinksOptions = config.emailMagicLinksOptions;\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const [email, setEmail] = useState('');\n const [errorMessage, setErrorMessage] = useState<string>('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n const submittingEmail = email;\n if (!submittingEmail.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmail', message: 'Email format is invalid.' }));\n } else {\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.magicLinks.email\n .loginOrCreate(submittingEmail, convertMagicLinkOptions(emailMagicLinksOptions))\n .then((data) => {\n onEvent({ type: StytchEventType.MagicLinkLoginOrCreateEvent, data: { ...data, email: submittingEmail } });\n setIsSubmitting(false);\n dispatch({ type: 'set_magic_link_email', email: submittingEmail });\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: submittingEmail, type: EmailSentType.LoginOrCreateEML },\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n }\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} hasPasskeys={hasPasskeys} hideLabel error={errorMessage} />\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.emailLogin', message: 'Continue with email' })}\n </Button>\n </Column>\n );\n};\n","import { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { CountryCode, DEFAULT_OTP_EXPIRATION_MINUTES, EmailSentType } from '@stytch/core';\nimport { OTPMethods, StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../../../utils';\nimport { getTranslatedError } from '../../../../../utils/getTranslatedError';\nimport { formatNumberToIncludeCountryCode } from '../../../../../utils/handleParsePhoneNumber';\nimport { readB2CInternals } from '../../../../../utils/internal';\nimport Button from '../../../../components/atoms/Button';\nimport Column from '../../../../components/atoms/Column';\nimport EmailInput from '../../../../components/molecules/EmailInput';\nimport PhoneInput, { getPhoneNumberProps } from '../../../../components/molecules/PhoneInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../../GlobalContextProvider';\nimport { hasProduct } from '../../../utils';\n\nexport const OTPButtonText = {\n [OTPMethods.SMS]: msg({ id: 'button.sms', message: 'Continue with text message' }),\n [OTPMethods.WhatsApp]: msg({ id: 'button.whatsapp', message: 'Continue with WhatsApp' }),\n [OTPMethods.Email]: msg({ id: 'button.emailLogin', message: 'Continue with email' }),\n};\n\nexport const OTPEmailForm = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const stytchClient = useStytch();\n const config = useConfig();\n const [, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const stopSubmit = (errorText: string) => {\n onError({ message: errorText });\n setIsSubmitting(false);\n return setErrorMessage(errorText);\n };\n\n const handleEmailSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setIsSubmitting(true);\n\n if (!email.match(EMAIL_REGEX))\n return stopSubmit(t({ id: 'errors.invalidEmail', message: 'Invalid email address.' }));\n\n setErrorMessage('');\n setIsSubmitting(true);\n\n stytchClient.otps.email\n .loginOrCreate(email, {\n expiration_minutes: config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n login_template_id: config.otpOptions?.loginTemplateId,\n signup_template_id: config.otpOptions?.signupTemplateId,\n locale: config.otpOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: OTPMethods.Email,\n methodId: data.method_id,\n otpDestination: email,\n },\n });\n dispatch({ type: 'transition', screen: AppScreens.OTPAuthenticate });\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_sent',\n details: { email: email, type: EmailSentType.LoginOrCreateOTP },\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleEmailSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} hasPasskeys={hasPasskeys} hideLabel error={errorMessage} />\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t(OTPButtonText[OTPMethods.Email])}\n </Button>\n </Column>\n );\n};\n\nexport const PhoneForm = ({ method }: { method: OTPMethods }) => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const stytchClient = useStytch();\n const config = useConfig();\n const [, dispatch] = useGlobalReducer();\n const [phoneNumber, setPhoneNumber] = useState('');\n // eslint-disable-next-line lingui/no-unlocalized-strings\n const [country, setCountry] = useState<CountryCode>('US');\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const stopSubmit = (errorText: string) => {\n onError({ message: errorText });\n setIsSubmitting(false);\n setErrorMessage(errorText);\n };\n\n const { parsePhoneNumber, getExampleNumber } = getPhoneNumberProps(readB2CInternals(stytchClient).clientsideServices);\n\n const handlePhoneSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n\n const parsedNumber = await formatNumberToIncludeCountryCode({\n parsePhoneNumber,\n phoneNumber,\n country,\n });\n\n if (!parsedNumber.isValid) {\n return stopSubmit(\n 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\n setIsSubmitting(true);\n setErrorMessage('');\n\n stytchClient.otps[method]\n .loginOrCreate(parsedNumber.number, {\n expiration_minutes: config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: method,\n methodId: data.method_id,\n otpDestination: parsedNumber.number,\n },\n });\n dispatch({ type: 'transition', screen: AppScreens.OTPAuthenticate });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n return (\n <Column as=\"form\" gap={4} onSubmit={handlePhoneSubmit}>\n <PhoneInput\n phone={phoneNumber}\n setPhone={setPhoneNumber}\n country={country}\n setCountry={setCountry}\n parsePhoneNumber={parsePhoneNumber}\n getExampleNumber={getExampleNumber}\n hasPasskeys={hasPasskeys}\n error={errorMessage}\n />\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t(OTPButtonText[method])}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport { PasskeyIcon } from '../../../../../assets';\nimport Button from '../../../../components/atoms/Button';\nimport { StartPasskeyAuth } from '../../../../hooks/usePromptPasskey';\n\nexport const PasskeyButton = ({ startPasskeyAuth }: { startPasskeyAuth: StartPasskeyAuth }) => {\n const { t } = useLingui();\n\n return (\n <Button icon={<PasskeyIcon />} variant=\"outline\" onClick={startPasskeyAuth}>\n {t({ id: 'button.loginWithPasskey', message: 'Login with a Passkey' })}\n </Button>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { EmailSentType } from '@stytch/core';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../../../utils';\nimport { getTranslatedError } from '../../../../../utils/getTranslatedError';\nimport { readB2CInternals } from '../../../../../utils/internal';\nimport Button from '../../../../components/atoms/Button';\nimport Column from '../../../../components/atoms/Column';\nimport EmailInput from '../../../../components/molecules/EmailInput';\nimport { AppScreens, useConfig, useErrorCallback, useGlobalReducer, useStytch } from '../../../GlobalContextProvider';\nimport { hasProduct } from '../../../utils';\n\nexport const PasswordsEmailForm = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n const config = useConfig();\n const stytch = useStytch();\n const onError = useErrorCallback();\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const [email, setEmail] = useState('');\n const [errorMessage, setErrorMessage] = useState<string>('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmail', message: 'Email format is invalid.' }));\n } else {\n setErrorMessage('');\n setIsSubmitting(true);\n\n readB2CInternals(stytch)\n .searchManager.searchUser(email)\n .then(({ userType }) => {\n dispatch({ type: 'update_password_state', passwordState: { email, type: userType } });\n dispatch({ type: 'transition', screen: AppScreens.PasswordCreateOrLogin });\n readB2CInternals(stytch).networkClient.logEvent({\n name: 'email_sent',\n details: { email: email, type: EmailSentType.ResetPassword },\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n }\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} hasPasskeys={hasPasskeys} hideLabel error={errorMessage} />\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.emailLogin', message: 'Continue with email' })}\n </Button>\n </Column>\n );\n};\n","import { arrayUtils } from '@stytch/core';\nimport React from 'react';\n\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport LastUsed from '../../../components/molecules/LastUsed';\nimport { GoogleOneTap } from '../../components/GoogleOneTap';\nimport { OAuthButton } from '../../components/OAuthButton';\nimport { useConfig } from '../../GlobalContextProvider';\nimport { useLastUsedOAuth } from './useLastUsedOAuth';\n\nexport const OAuthButtons = () => {\n const config = useConfig();\n const [lastUsedOAuth, setLastUsedOAuth] = useLastUsedOAuth();\n\n if (!config.oauthOptions) return <></>;\n const { providers, loginRedirectURL, signupRedirectURL } = config.oauthOptions;\n\n const [reorderedProviders, foundLastUsed] = arrayUtils.moveToFront(\n providers,\n (provider) => provider.type === lastUsedOAuth,\n );\n\n return (\n <ButtonColumn>\n {reorderedProviders.map((provider, index) => {\n const providerProps = {\n customScopes: provider.custom_scopes,\n providerParams: provider.provider_params,\n };\n\n if (provider.one_tap) {\n return (\n <GoogleOneTap\n position={provider.position}\n key={`oauth-${provider.type}`}\n {...providerProps}\n cancelOnTapOutside={provider.cancel_on_tap_outside}\n />\n );\n }\n\n const button = (\n <OAuthButton\n key={`oauth-${provider.type}`}\n providerType={provider.type}\n loginRedirectUrl={loginRedirectURL}\n signupRedirectUrl={signupRedirectURL}\n onSuccess={() => setLastUsedOAuth(provider.type)}\n {...providerProps}\n />\n );\n\n return foundLastUsed && index === 0 ? <LastUsed>{button}</LastUsed> : button;\n })}\n </ButtonColumn>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { 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 PasskeyConfirmation = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return (\n <Confirmation\n text={t({ id: 'passkey.success.content', message: 'Your Passkey has been successfully authenticated.' })}\n />\n );\n};\n","export enum Device {\n DESKTOP = 'Desktop device',\n MOBILE = 'Mobile device',\n UNKNOWN = 'Unknown device',\n}\n\nexport const determineDeviceType = (userAgent: string): Device => {\n // TODO: Add more device types/ make more fine grained\n if (userAgent === '') {\n return Device.UNKNOWN;\n }\n\n // eslint-disable-next-line lingui/no-unlocalized-strings\n const mobileKeywords = ['mobile', 'android', 'iphone', 'ipad', 'windows phone'];\n userAgent = userAgent.toLowerCase();\n for (const keyword of mobileKeywords) {\n if (userAgent.includes(keyword)) {\n return Device.MOBILE;\n }\n }\n\n return Device.DESKTOP;\n};\n\n// This commonly occurs when a user tries to register a Passkey using a QR code on a separate device\n// but the Passkey has already been sync'd to that device (e.g. the user registers an Apple passkey on their Macbook,\n// it then syncs to their iPhone, and then they try to register the same Passkey on their iPhone). At some point we\n// may be able to remove this logic when this is handled within the browser Passkeys UI.\nexport const SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE =\n 'At least one credential matches an entry of the excludeCredentials list in the platform attached authenticator.';\nexport const CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE =\n 'The user attempted to register an authenticator that contains one of the credentials already registered with the relying party.';\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, useState } from 'react';\n\nimport {\n CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE,\n SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE,\n} from '../../../../utils/passkeys';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { LoadingScreen } from '../../../components/molecules/Loading';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const PasskeyRegistrationStart = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const [userState, setUserState] = useState<'noUser' | 'hasUser' | 'loading'>(() =>\n // We'll optimistically say if the user has a cached session then they are logged in, otherwise we try loading first\n stytchClient.user.getSync() != null ? 'hasUser' : 'loading',\n );\n const [error, setError] = useState<string>();\n const config = useConfig();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n useEffect(() => {\n stytchClient.user\n .get()\n .then(() => {\n setUserState('hasUser');\n })\n .catch((e: StytchAPIError) => {\n setUserState('noUser');\n onError(e);\n });\n }, [onError, stytchClient]);\n\n const [, dispatch] = useGlobalReducer();\n\n const onCreatePasskey = () => {\n setError(undefined);\n\n stytchClient.webauthn\n .register({\n domain: config.passkeyOptions?.domain,\n is_passkey: true,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.PasskeyRegister, data });\n dispatch({ type: 'transition', screen: AppScreens.PasskeyRegistrationSuccess });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n\n if (\n e.message.includes(SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE) ||\n e.message.includes(CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE)\n ) {\n setError(\n t({\n id: 'error.duplicatePasskey',\n message:\n 'The Passkey cannot be created as it seems to be already registered. It is possible this Passkey was registered on another device but has synced cross-device.',\n }),\n );\n return;\n } else {\n setError(\n t({\n id: 'error.passkeyNotCreated',\n message:\n 'Your Passkey was not created. Click “Create a Passkey” to try again or skip without adding a Passkey.',\n }),\n );\n }\n });\n };\n\n const onSkip = () => {\n onEvent({ type: StytchEventType.PasskeySkip, data: {} });\n dispatch({ type: 'transition', screen: AppScreens.PasskeyRegistrationSuccess });\n };\n\n if (userState === 'loading') {\n return <LoadingScreen />;\n }\n\n if (userState === 'noUser') {\n return (\n <ErrorText>\n {t({\n id: 'passkey.registrationStart.error.noUser',\n message: 'Error: Cannot use PasskeyRegistration component without active user authenticated.',\n })}\n </ErrorText>\n );\n }\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({\n id: 'passkey.registrationStart.title',\n message: 'Set up a new Passkey',\n })}\n body={t({\n id: 'passkey.registrationStart.subtitle',\n message: \"With Passkeys you don't need to remember complex passwords.\",\n })}\n helper={t({\n id: 'passkey.registrationStart.description',\n message:\n 'Passkeys are encrypted digital keys you create using your fingerprint, face, or screen lock. Creating a Passkey will allow you to easily and securely log in to your account.',\n })}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={() => onCreatePasskey()}>\n {t({\n id: 'button.createPasskey',\n message: 'Create a Passkey',\n })}\n </Button>\n\n {error && <ErrorText>{error}</ErrorText>}\n\n <Button variant=\"ghost\" onClick={() => onSkip()}>\n {t({\n id: 'button.skip',\n message: 'Skip',\n })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport classNames from 'classnames';\nimport React, { useEffect, useRef } from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Typography from '../../../components/atoms/Typography';\nimport Input from '../../../components/molecules/Input';\nimport styles from './EditableRow.module.css';\n\nexport type EditableRowState =\n | { type: 'viewing' } //\n | { type: 'editing'; id: string; newName: string }\n | { type: 'deleting'; id: string };\n\nconst commonButtonProps = {\n block: false,\n variant: 'ghost',\n} as const;\n\ntype Props = {\n id: string;\n name: string;\n className?: string;\n state: EditableRowState;\n updateState: (newState: EditableRowState) => void;\n handleEdit: (id: string, newName: string) => void;\n};\n\nexport const EditableRow = ({ id, name, className, state, updateState, handleEdit }: Props) => {\n const { t } = useLingui();\n\n const isEditing = isEditingRow(id, state);\n const othersEditing = state.type !== 'viewing' && state.id !== id;\n\n const inputRef = useRef<HTMLInputElement>(null);\n useEffect(() => {\n if (isEditing) {\n inputRef.current?.focus();\n }\n }, [isEditing]);\n\n return (\n <form\n className={classNames(styles.row, className)}\n onSubmit={(evt) => {\n evt.preventDefault();\n if (isEditing) {\n handleEdit(id, state.newName);\n }\n }}\n data-testid={testId(id)}\n >\n <div className={styles.input}>\n {isEditing ? (\n <Input\n id={`passkey-name-${id}`}\n ref={inputRef}\n label={t({ id: 'passkey.editing.label', message: 'Passkey name' })}\n hideLabel\n value={isEditing ? state.newName : name}\n onChange={(e) => {\n if (isEditing) {\n updateState({ ...state, newName: e.target.value });\n }\n }}\n />\n ) : (\n <Typography color=\"muted\">{name}</Typography>\n )}\n </div>\n\n {(() => {\n if (state.type === 'deleting') return null;\n\n if (isEditing) {\n return (\n <div className={styles.actions}>\n <Button key=\"submit\" type=\"submit\" {...commonButtonProps}>\n {t({ id: 'button.save', message: 'Save' })}\n </Button>\n <Button onClick={() => updateState({ type: 'viewing' })} {...commonButtonProps}>\n {t({ id: 'button.cancel', message: 'Cancel' })}\n </Button>\n </div>\n );\n }\n\n if (state.type === 'viewing' || othersEditing) {\n return (\n <div className={styles.actions}>\n <Button\n // key required to workaround a React/Preact issue when button type is updated on re-render\n key=\"edit\"\n onClick={() => updateState({ type: 'editing', id, newName: name })}\n disabled={othersEditing}\n {...commonButtonProps}\n >\n {t({ id: 'button.edit', message: 'Edit' })}\n </Button>\n <Button\n onClick={() => updateState({ type: 'deleting', id })}\n disabled={othersEditing}\n {...commonButtonProps}\n >\n {t({ id: 'button.delete', message: 'Delete' })}\n </Button>\n </div>\n );\n }\n })()}\n </form>\n );\n};\n\nexport function isEditingRow(\n id: string,\n state: EditableRowState,\n): state is Extract<EditableRowState, { type: 'editing' }> {\n return state.type === 'editing' && state.id === id;\n}\n\nexport function testId(id: string) {\n return `editable-row-${id}`;\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { logger } from '@stytch/core';\nimport { errorToStytchError, StytchEventType, WebAuthnRegistration } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\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 ErrorText from '../../../components/molecules/ErrorText';\nimport { useStytchUser } from '../../../hooks/useStytchUser';\nimport { AppScreens, useEventCallback, useGlobalReducer, useStytch } from '../../GlobalContextProvider';\nimport { EditableRow, EditableRowState } from './EditableRow';\nimport styles from './PasskeyRegistrationSuccess.module.css';\n\n// TODO: Add some type of device icon once we have better insight into that.\n// const deviceTypeToIcon: Partial<Record<Device, React.JSX.Element>> = {\n// [Device.DESKTOP]: <Computer />,\n// [Device.MOBILE]: <Mobile />,\n// };\n\ntype OptimisticUpdate = {\n registrations: WebAuthnRegistration[];\n update: Promise<unknown>;\n};\n\nexport const PasskeyRegistrationSuccess = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const user = useStytchUser();\n\n const [optimisticRegistrations, setOptimisticRegistrations] = useState<OptimisticUpdate>();\n const webAuthnRegistrations = optimisticRegistrations?.registrations ?? user?.webauthn_registrations;\n\n const [editableRowState, setEditableRowState] = useState<EditableRowState>({ type: 'viewing' });\n\n const onEvent = useEventCallback();\n const [, dispatch] = useGlobalReducer();\n\n const onSetUpANewPasskey = async () => {\n await optimisticRegistrations?.update;\n dispatch({ type: 'transition', screen: AppScreens.PasskeyRegistrationStart });\n };\n\n const onDone = async () => {\n await optimisticRegistrations?.update;\n onEvent({ type: StytchEventType.PasskeyDone, data: {} });\n };\n\n const startOptimisticUpdate = (registrations: WebAuthnRegistration[], update: Promise<unknown>) => {\n const prevEditableRowState = { ...editableRowState };\n\n setOptimisticRegistrations({ registrations, update });\n setEditableRowState({ type: 'viewing' });\n\n update\n .catch((error) => {\n logger.error(error);\n errorToast({ message: errorToStytchError(error).message });\n setEditableRowState(prevEditableRowState);\n })\n .then(() => {\n setOptimisticRegistrations(undefined);\n });\n };\n\n const deleteReg = (id: string) => {\n if (!user) return;\n\n startOptimisticUpdate(\n user.webauthn_registrations.filter((r) => r.webauthn_registration_id !== id),\n stytchClient.user.deleteWebauthnRegistration(id),\n );\n };\n\n const updateReg = (id: string, name: string) => {\n if (!user) return;\n\n startOptimisticUpdate(\n user.webauthn_registrations.map((r) => (r.webauthn_registration_id === id ? { ...r, name } : r)),\n stytchClient.webauthn.update({ webauthn_registration_id: id, name }).then(() => stytchClient.user.get()),\n );\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({\n id: 'passkey.registrationSuccess.title',\n message: 'Passkey successfully created!',\n })}\n </Typography>\n\n {webAuthnRegistrations && webAuthnRegistrations.length > 0 && (\n <Column gap={4}>\n <Typography weight=\"medium\">\n {t({\n id: 'passkey.registrationSuccess.existingPasskeys',\n message: 'Existing Passkeys',\n })}\n </Typography>\n\n <Column className={styles.existing}>\n {webAuthnRegistrations.map((registration: WebAuthnRegistration) => (\n // TODO: Add some type of device icon once we have better insight into that.\n // deviceTypeToIcon[determineDeviceType(registration.user_agent)]\n <EditableRow\n className={styles.passkeyRow}\n key={registration.webauthn_registration_id}\n id={registration.webauthn_registration_id}\n name={registration.name}\n state={editableRowState}\n updateState={setEditableRowState}\n handleEdit={updateReg}\n />\n ))}\n </Column>\n </Column>\n )}\n\n <ButtonColumn>\n {editableRowState.type === 'deleting' ? (\n <>\n <Button\n variant=\"destructive\"\n onClick={() => {\n deleteReg(editableRowState.id);\n }}\n >\n {t({\n id: 'button.delete',\n message: 'Delete',\n })}\n </Button>\n\n <ErrorText\n // alert role to ensure this gets read out when the row delete button is clicked\n role=\"alert\"\n >\n {t({\n id: 'passkey.registrationSuccess.deleteWarning',\n message: 'Once deleted, the passkey cannot be restored.',\n })}\n </ErrorText>\n\n <Button\n variant=\"ghost\"\n onClick={() => {\n setEditableRowState({ type: 'viewing' });\n }}\n >\n {t({\n id: 'button.cancel',\n message: 'Cancel',\n })}\n </Button>\n </>\n ) : (\n <>\n <Button variant=\"primary\" disabled={editableRowState.type === 'editing'} onClick={onSetUpANewPasskey}>\n {t({\n id: 'passkey.registrationSuccess.setupAnother',\n message: 'Set up another Passkey',\n })}\n </Button>\n\n <Button variant=\"ghost\" disabled={editableRowState.type === 'editing'} onClick={onDone}>\n {t({\n id: 'button.done',\n message: 'Done',\n })}\n </Button>\n </>\n )}\n </ButtonColumn>\n </Column>\n );\n};\n","import { convertMagicLinkOptions, convertPasswordResetOptions } from '../../../../utils';\nimport { AppScreens, useConfig, useGlobalReducer, useStytch } from '../../GlobalContextProvider';\n\n/**\n * Handle the common behavior part of email actions, used in conjunction with <EmailActionLayout>\n */\nexport function useResetResendPasswordActions() {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const email = state.formState.passwordState.email;\n const { emailMagicLinksOptions, passwordOptions } = useConfig();\n\n return {\n email,\n\n resendResetPassword: () =>\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)),\n\n sendMagicLink: async () => {\n const result = await stytchClient.magicLinks.email.loginOrCreate(\n email,\n convertMagicLinkOptions(emailMagicLinksOptions),\n );\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n return result;\n },\n\n goBack: () => dispatch({ type: 'transition', screen: AppScreens.Main }),\n };\n}\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordBreached = () => {\n const { t } = useLingui();\n\n const { email, resendResetPassword, sendMagicLink, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.breached.title',\n message: 'Check your email to set a new password',\n })}\n description={\n <Trans\n id=\"password.breached.content\"\n message=\"A different site where you use the same password had a security issue recently. For your safety, an email was sent to you at <bold>{email}</bold> to reset your password.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={resendResetPassword}\n sendMagicLink={sendMagicLink}\n goBack={goBack}\n />\n );\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 PasswordConfirmation = () => {\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return <Confirmation />;\n};\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordDedupe = () => {\n const { t } = useLingui();\n\n const { email, resendResetPassword, sendMagicLink, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.resetRequired.title',\n message: 'Check your email to set a new password',\n })}\n description={\n <Trans\n id=\"password.resetRequired.content\"\n message=\"We want to make sure your account is secure and that it's really you logging in! A login link was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={resendResetPassword}\n sendMagicLink={sendMagicLink}\n goBack={goBack}\n />\n );\n};\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport { EmailSentType } from '@stytch/core';\nimport React from 'react';\n\nimport { readB2CInternals } from '../../../../utils/internal';\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useStytch } from '../../GlobalContextProvider';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordForgot = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n\n const { email, resendResetPassword, sendMagicLink, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({ id: 'password.forgot.title', message: 'Forgot your password?' })}\n description={\n <Trans\n id=\"password.forgot.content\"\n message=\"A link to reset your password was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={() => {\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: email, type: EmailSentType.ResetPassword },\n });\n\n return resendResetPassword();\n }}\n sendMagicLink={sendMagicLink}\n goBack={goBack}\n />\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 { useErrorCallback, useEventCallback } from '../../GlobalContextProvider';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordSetNew = () => {\n const { t } = useLingui();\n const onError = useErrorCallback();\n const onEvent = useEventCallback();\n\n const { email, resendResetPassword, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.setNew.title',\n message: 'Check your email',\n })}\n description={\n <Trans\n id=\"password.setNew.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={async () => {\n try {\n const data = await resendResetPassword();\n onEvent({ type: StytchEventType.PasswordResetByEmailStart, data });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n onError(e);\n throw e;\n }\n }}\n goBack={goBack}\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 { debounce } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport VerticalTransition from '../../../components/atoms/VerticalTransition';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { getNewPasswordProps, PasswordError, PasswordErrorProps } from '../../../components/molecules/PasswordError';\nimport { PasswordInput } from '../../../components/molecules/PasswordInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\nimport { useBootstrap } from '../../utils';\n\nexport const ResetPasswordScreen = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const { bootstrap } = useBootstrap();\n const [state, dispatch] = useGlobalReducer();\n const passwordToken = state.formState.resetPasswordState.token;\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const resetTokenType = useMemo(() => {\n const parsed = stytchClient.parseAuthenticateUrl();\n return parsed?.tokenType ?? '';\n }, [stytchClient]);\n\n const [password, setPassword] = useState('');\n const [passwordError, setPasswordError] = useState<PasswordErrorProps>({ policy: 'notLoaded' });\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n // Passwordless login states\n const [loginErrorMessage, setLoginErrorMessage] = useState('');\n const [isLoggingIn, setIsLoggingIn] = useState(false);\n\n const updateStrengthCheck = useMemo(\n () =>\n debounce((password: string) => {\n setErrorMessage('');\n return stytchClient.passwords\n .strengthCheck({ password })\n .then(({ score, feedback, valid_password, 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: feedback.warning,\n passwordSuggestions: feedback.suggestions,\n });\n } else if (strength_policy === 'luds') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n missingCharacters: feedback.luds_requirements.missing_characters,\n missingComplexity: feedback.luds_requirements.missing_complexity,\n });\n }\n });\n }),\n [stytchClient.passwords],\n );\n\n useEffect(() => {\n if (resetTokenType === 'login') {\n stytchClient.magicLinks\n .authenticate(passwordToken, {\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: Error) => {\n onError(e);\n });\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 stytchClient.passwords\n .resetByEmail({\n token: passwordToken,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.PasswordResetByEmail, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n };\n\n const handlePasswordlessLogin = () => {\n setLoginErrorMessage('');\n setIsLoggingIn(true);\n stytchClient.magicLinks\n .authenticate(passwordToken, {\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setLoginErrorMessage(getTranslatedError(e, t));\n })\n .finally(() => {\n setIsLoggingIn(false);\n });\n };\n\n if (resetTokenType === 'login') {\n return (\n // Same as <LoggingInScreen>, but use its own string ID\n <Typography variant=\"header\" align=\"center\">\n {t({\n id: 'password.reset.loggingInProgress',\n message: 'Logging in...',\n })}\n </Typography>\n );\n }\n\n const passwordInputProps = getNewPasswordProps(bootstrap, passwordError.policy);\n\n return (\n <form onSubmit={handleSubmit}>\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({\n id: 'password.reset.title',\n message: 'Reset your password',\n })}\n </Typography>\n\n <Column gap={2}>\n <PasswordInput\n password={password}\n setPassword={onPasswordChange}\n error={errorMessage}\n {...passwordInputProps}\n />\n\n <div>\n {errorMessage && <ErrorText>{errorMessage}</ErrorText>}\n <PasswordError bootstrap={bootstrap} {...passwordError} />\n </div>\n </Column>\n\n <ButtonColumn\n top={\n <Button\n variant=\"primary\"\n loading={isSubmitting}\n type=\"submit\"\n disabled={passwordError.policy === 'notLoaded' || passwordError.passwordInvalid}\n >\n {t({\n id: 'button.continue',\n message: 'Continue',\n })}\n </Button>\n }\n bottom={\n <Column gap={2}>\n <Button variant=\"outline\" disabled={isLoggingIn} onClick={handlePasswordlessLogin} loading={isLoggingIn}>\n <VerticalTransition\n primary={t({\n id: 'password.reset.loginWithoutPassword',\n message: 'Login without a password',\n })}\n secondary={t({\n id: 'login.loading',\n message: 'Logging in...',\n })}\n triggered={isLoggingIn}\n />\n </Button>\n\n {loginErrorMessage && <ErrorText>{loginErrorMessage}</ErrorText>}\n </Column>\n }\n />\n </Column>\n </form>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_OTP_EXPIRATION_MINUTES } from '@stytch/core';\nimport { OTPMethods, StytchEventType, StytchSDKAPIError } from '@stytch/core/public';\nimport { useState } from 'react';\n\nimport { convertMagicLinkOptions } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport { errorToast } from '../../../components/atoms/Toast';\nimport {\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport function usePasswordlessAuthenticate() {\n const { t } = useLingui();\n\n const stytchClient = useStytch();\n const { emailMagicLinksOptions, otpOptions } = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const email = state.formState.passwordState.email;\n\n const sendLink = async () => {\n setIsSubmitting(true);\n\n try {\n const data = await stytchClient.magicLinks.email.loginOrCreate(\n email,\n convertMagicLinkOptions(emailMagicLinksOptions),\n );\n onEvent({ type: StytchEventType.MagicLinkLoginOrCreateEvent, data: { ...data, email } });\n dispatch({ type: 'set_magic_link_email', email: email });\n } catch (e) {\n onError(e as StytchSDKAPIError);\n errorToast({ message: getTranslatedError(e as StytchSDKAPIError, t) });\n throw e;\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const sendCode = async () => {\n setIsSubmitting(true);\n\n try {\n const data = await stytchClient.otps.email.loginOrCreate(email, {\n expiration_minutes: otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n locale: otpOptions?.locale,\n });\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: OTPMethods.Email,\n methodId: data.method_id,\n otpDestination: email,\n },\n });\n } catch (e) {\n onError(e as StytchSDKAPIError);\n errorToast({ message: getTranslatedError(e as StytchSDKAPIError, t) });\n throw e;\n } finally {\n setIsSubmitting(false);\n }\n };\n\n return {\n sendLink,\n sendCode,\n isSubmitting,\n };\n}\n","import { EmailSentType } from '@stytch/core';\nimport React, { useEffect, useState } from 'react';\n\nimport { readB2CInternals } from '../../../../utils/internal';\nimport { useCountdown } from '../../../components/atoms/Countdown';\nimport { EmailConfirmationView } from '../../../components/organisms/EmailConfirmationView';\nimport { AppScreens, useConfig, useGlobalReducer, useStytch } from '../../GlobalContextProvider';\nimport { usePasswordlessAuthenticate } from './usePasswordlessAuthenticate';\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 } = readB2CInternals(stytch).bootstrap.getSync();\n return emailDomains;\n });\n\n useEffect(() => {\n readB2CInternals(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\nexport const EmailConfirmation = ({ showGoBack = true }: { showGoBack?: boolean }) => {\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const emailDomain = useEmailDomain();\n const countdown = useCountdown();\n const { sendLink, isSubmitting } = usePasswordlessAuthenticate();\n\n const email =\n state.formState.magicLinkState.email !== ''\n ? state.formState.magicLinkState.email\n : state.formState.passwordState.email;\n\n const goBack = () => {\n dispatch({ type: 'set_magic_link_email', email: '' });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: email, type: EmailSentType.LoginOrCreateEML },\n });\n };\n\n return (\n <EmailConfirmationView\n emailDomain={emailDomain}\n email={email}\n goBack={showGoBack ? goBack : undefined}\n resend={sendLink}\n countdown={countdown}\n isSubmitting={isSubmitting}\n />\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_OTP_EXPIRATION_MINUTES, DEFAULT_SESSION_DURATION_MINUTES, EmailSentType } from '@stytch/core';\nimport { OTPMethods, StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport { formatNumber } from '../../../../utils/handleParsePhoneNumber';\nimport { readB2CInternals } from '../../../../utils/internal';\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 { ResendOTPButton } from '../../../components/organisms/ResendOTPButton';\nimport { SentOTPEntry } from '../../../components/organisms/SentOTPEntry';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const OTPAuthenticate = ({ hideBackButton = false }: { hideBackButton?: boolean }) => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const stytchClient = useStytch();\n const config = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const destination = state.formState.otpState.otpDestination;\n const selectionMethod = state.formState.otpState.type;\n const [errorMessage, setErrorMessage] = useState('');\n const [formattedDestination, setFormattedDestination] = useState(destination);\n\n const calculateExpiration = () =>\n Date.now() + 1000 * 60 * (config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES);\n\n useEffect(() => {\n const parseDestination = async () => {\n const parsePhoneNumber = (phoneNumber: string) =>\n readB2CInternals(stytchClient).clientsideServices.parsedPhoneNumber({ phoneNumber });\n\n const national = await formatNumber({\n parsePhoneNumber,\n phoneNumber: destination,\n });\n\n setFormattedDestination(selectionMethod === OTPMethods.Email ? destination : national);\n };\n\n parseDestination();\n }, [selectionMethod, destination, stytchClient]);\n\n const [expiration, setExpiration] = useState(calculateExpiration);\n const resendCountdown = useCountdown();\n\n const resendOTP = async () => {\n if (selectionMethod === OTPMethods.Email) {\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: destination, type: EmailSentType.LoginOrCreateOTP },\n });\n }\n\n try {\n const data = await stytchClient.otps[selectionMethod].loginOrCreate(destination, {\n expiration_minutes: config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n });\n\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n setExpiration(calculateExpiration());\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: selectionMethod,\n methodId: data.method_id,\n otpDestination: destination,\n },\n });\n } catch (e: unknown) {\n onError(e as StytchAPIError);\n setErrorMessage(getTranslatedError(e as StytchAPIError, t));\n throw e;\n }\n };\n\n const handleSubmit = async (otp: string) => {\n setIsSubmitting(true);\n stytchClient.otps\n .authenticate(otp, state.formState.otpState.methodId, {\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.OTPsAuthenticate, data });\n setIsSubmitting(false);\n dispatch({\n type: 'transition',\n screen: AppScreens.OTPConfirmation,\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n resendCountdown.clear();\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n\n return (\n <Column gap={6}>\n <SentOTPEntry\n expiration={expiration}\n formattedDestination={formattedDestination}\n isSubmitting={isSubmitting}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n />\n\n <ButtonColumn>\n <ResendOTPButton countdown={resendCountdown} resendOTP={resendOTP} isSubmitting={isSubmitting} />\n\n {!hideBackButton && (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\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 { 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 OTPConfirmation = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return (\n <Confirmation text={t({ id: 'otp.success.content', message: 'Your passcode has been successfully verified.' })} />\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, { useState } from 'react';\n\nimport { convertPasswordResetOptions } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport EmailInput from '../../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../../components/molecules/PasswordInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const PasswordAuthenticate = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const passwordOptions = config.passwordOptions;\n const [state, dispatch] = useGlobalReducer();\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\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.passwords\n .authenticate({\n email,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.PasswordAuthenticate, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n if (e.error_type === 'reset_password') {\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)).then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordDedupe });\n });\n } else {\n setErrorMessage(getTranslatedError(e, t));\n }\n setIsSubmitting(false);\n });\n };\n\n const onForgot = () => {\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)).then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgot });\n });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} disabled />\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={onForgot}>\n {t({ id: 'button.forgotPassword', message: 'Forgot your password?' })}\n </Button>\n </ButtonColumn>\n </Column>\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, { useMemo, useState } from 'react';\n\nimport { convertPasswordResetOptions, debounce, noop } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport EmailInput from '../../../components/molecules/EmailInput';\nimport { getNewPasswordProps, PasswordError, PasswordErrorProps } from '../../../components/molecules/PasswordError';\nimport { PasswordInput } from '../../../components/molecules/PasswordInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\nimport { useBootstrap } from '../../utils';\n\nexport const PasswordNewUser = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const { bootstrap } = useBootstrap();\n const config = useConfig();\n const passwordOptions = config.passwordOptions;\n\n const [state, dispatch] = useGlobalReducer();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const email = state.formState.passwordState.email;\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((email: string, password: string) => {\n setErrorMessage('');\n stytchClient.passwords\n .strengthCheck({ email, password })\n .then(({ score, feedback, valid_password, 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: feedback.warning,\n passwordSuggestions: feedback.suggestions,\n });\n } else if (strength_policy === 'luds') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n missingCharacters: feedback.luds_requirements.missing_characters,\n missingComplexity: feedback.luds_requirements.missing_complexity,\n });\n }\n })\n .catch((e: StytchAPIError) => {\n setErrorMessage(getTranslatedError(e, t));\n });\n }),\n [stytchClient.passwords, t],\n );\n\n const onPasswordChange = (password: string) => {\n setPassword(password);\n updateStrengthCheck(email, password);\n };\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.passwords\n .create({\n email,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.PasswordCreate, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n if (e.error_type === 'reset_password') {\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)).then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordDedupe });\n });\n } else {\n setErrorMessage(getTranslatedError(e, t));\n }\n setIsSubmitting(false);\n });\n };\n\n const passwordInputProps = getNewPasswordProps(bootstrap, passwordError.policy);\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={noop} disabled />\n\n <PasswordInput password={password} setPassword={onPasswordChange} error={errorMessage} {...passwordInputProps} />\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({\n id: 'button.continue',\n message: 'Continue',\n })}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { convertPasswordResetOptions } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Divider from '../../../components/molecules/Divider';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\nimport { EmailConfirmation } from './EmailConfirmation';\nimport { OTPAuthenticate } from './OTPAuthenticate';\nimport { usePasswordlessAuthenticate } from './usePasswordlessAuthenticate';\n\ntype PasswordlessAuthenticateProps = {\n secondaryType: 'eml' | 'otp' | undefined;\n};\n\nexport const PasswordlessAuthenticate = ({ secondaryType }: PasswordlessAuthenticateProps) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [errorMessage, setErrorMessage] = useState('');\n\n const { sendLink, sendCode } = usePasswordlessAuthenticate();\n const passwordOptions = config.passwordOptions;\n\n const email = state.formState.passwordState.email;\n\n const resetPassword = () => {\n stytchClient.passwords\n .resetByEmailStart(convertPasswordResetOptions(email, passwordOptions))\n .then((data) => {\n onEvent({ type: StytchEventType.PasswordResetByEmailStart, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNew });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n\n useMountEffect(() => {\n switch (secondaryType) {\n case 'eml':\n sendLink().catch(() => {\n // Swallow error to avoid unhandled promise errors, sendLink() will already show error toast\n });\n return;\n\n case 'otp':\n sendCode().catch(() => {\n // Swallow error to avoid unhandled promise errors, sendLink() will already show error toast\n });\n return;\n\n default:\n stytchClient.passwords\n .resetByEmailStart(convertPasswordResetOptions(email, passwordOptions))\n .then((data) => {\n onEvent({ type: StytchEventType.PasswordResetByEmailStart, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNew });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n });\n return;\n }\n });\n\n if (!secondaryType) {\n return null;\n }\n\n return (\n <>\n {secondaryType === 'eml' ? <EmailConfirmation showGoBack={false} /> : <OTPAuthenticate hideBackButton />}\n\n <Divider />\n\n <Column gap={2}>\n <Button onClick={resetPassword} variant=\"outline\">\n {t({ id: 'button.createPasswordInstead', message: 'Create a password instead' })}\n </Button>\n {errorMessage && <ErrorText>{errorMessage}</ErrorText>}\n </Column>\n </>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { OTPMethods } from '@stytch/core/public';\nimport React, { Dispatch } from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport Divider from '../../../components/molecules/Divider';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { AppScreens, useConfig, useGlobalReducer } from '../../GlobalContextProvider';\nimport { Action } from '../../reducer';\nimport { hasProduct } from '../../utils';\nimport { PasswordAuthenticate } from '../Password/PasswordAuthenticate';\nimport { PasswordNewUser } from '../Password/PasswordNewUser';\nimport { PasswordlessAuthenticate } from './PasswordlessAuthenticate';\nimport { usePasswordlessAuthenticate } from './usePasswordlessAuthenticate';\n\nexport const PasswordCreateAuthenticate = () => {\n const { t } = useLingui();\n const { emailMagicLinksOptions, otpOptions, products } = useConfig();\n const [state, dispatch] = useGlobalReducer();\n\n const otpMethods = otpOptions?.methods ?? [];\n const hasEmailMagicLink = hasProduct(products, 'emailMagicLinks') && !!emailMagicLinksOptions;\n const hasOTPEmail = otpMethods.includes(OTPMethods.Email);\n const secondaryType = hasOTPEmail ? 'otp' : hasEmailMagicLink ? 'eml' : undefined;\n const userType = state.formState.passwordState.type;\n\n const secondaryAuth = useSecondaryAuthenticate(secondaryType, { dispatch });\n\n return (\n <Column gap={2}>\n {(() => {\n switch (userType) {\n case 'new':\n return (\n <Column gap={6}>\n {secondaryAuth ? (\n <TextColumn\n header={t({ id: 'password.createAccount.title', message: 'Create an account' })}\n body={t({\n id: 'createAccount.title',\n message: 'Choose how you would like to create your account.',\n })}\n />\n ) : (\n <TextColumn\n header={t({ id: 'password.setPassword.title', message: 'Set a password' })}\n body={t({\n id: 'password.createAccount.content',\n message: 'Finish creating your account by setting a password.',\n })}\n />\n )}\n\n {secondaryAuth && (\n <Button variant=\"primary\" onClick={secondaryAuth.handle} loading={secondaryAuth.isSubmitting}>\n {secondaryAuth.buttonText}\n </Button>\n )}\n\n {secondaryAuth && <Divider />}\n\n <PasswordNewUser />\n </Column>\n );\n\n case 'password':\n return (\n <Column gap={6}>\n <Typography variant=\"header\">{t({ id: 'password.login.title', message: 'Log in' })}</Typography>\n\n <PasswordAuthenticate />\n\n {secondaryAuth && <Divider />}\n\n {secondaryAuth && (\n <Button variant=\"outline\" onClick={secondaryAuth.handle} loading={secondaryAuth.isSubmitting}>\n {secondaryAuth.buttonText}\n </Button>\n )}\n </Column>\n );\n\n case 'passwordless':\n return <PasswordlessAuthenticate secondaryType={secondaryType} />;\n }\n })()}\n\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n\nfunction useSecondaryAuthenticate(\n secondaryType: 'eml' | 'otp' | undefined,\n {\n dispatch,\n }: {\n dispatch: Dispatch<Action>;\n },\n) {\n const { t } = useLingui();\n const { sendLink, sendCode, isSubmitting } = usePasswordlessAuthenticate();\n\n if (secondaryType == null) {\n return undefined;\n }\n\n const buttonText =\n secondaryType === 'eml'\n ? t({\n id: 'button.emailMagicLink',\n message: 'Email me a login link',\n })\n : t({\n id: 'button.emailOTP',\n message: 'Email me a login code',\n });\n\n const handle =\n secondaryType === 'eml'\n ? async () => {\n await sendLink();\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n }\n : async () => {\n await sendCode();\n dispatch({ type: 'transition', screen: AppScreens.OTPAuthenticate });\n };\n\n return {\n buttonText,\n handle,\n isSubmitting,\n };\n}\n","'use client';\n\nimport { OneTapPositions, OTPMethods } from '@stytch/core/public';\nimport React from 'react';\n\nimport { GoogleOneTap } from './components/GoogleOneTap';\nimport { cryptoIcons, emailIcons, oauthIcons } from './components/Icons';\nimport { AppScreens } from './GlobalContextProvider';\nimport { ConnectWallet } from './screens/Crypto/ConnectWallet';\nimport { Error } from './screens/Crypto/Error';\nimport { OtherCryptoWallets } from './screens/Crypto/OtherWallets';\nimport { SetupNewWallet } from './screens/Crypto/SetupNewWallet';\nimport { SignMessage } from './screens/Crypto/SignMessage';\nimport { Success } from './screens/Crypto/Success';\nimport { CryptoWalletButtons } from './screens/Crypto/WalletButtons';\nimport { LoginForm } from './screens/Main/LoginForm';\nimport { MagicLinkEmailForm } from './screens/Main/LoginForm/MagicLinkForm';\nimport { OTPEmailForm, PhoneForm } from './screens/Main/LoginForm/OTPForm';\nimport { PasskeyButton } from './screens/Main/LoginForm/PasskeyButton';\nimport { PasswordsEmailForm } from './screens/Main/LoginForm/PasswordForm';\nimport { OAuthButtons } from './screens/Main/OAuthButtons';\nimport { PasskeyConfirmation } from './screens/Passkey/PasskeyConfirmation';\nimport { PasskeyRegistrationStart } from './screens/Passkey/PasskeyRegistrationStart';\nimport { PasskeyRegistrationSuccess } from './screens/Passkey/PasskeyRegistrationSuccess';\nimport { PasswordBreached } from './screens/Password/PasswordBreached';\nimport { PasswordConfirmation } from './screens/Password/PasswordConfirmation';\nimport { PasswordDedupe } from './screens/Password/PasswordDedupe';\nimport { PasswordForgot } from './screens/Password/PasswordForgot';\nimport { PasswordSetNew } from './screens/Password/PasswordSetNew';\nimport { ResetPasswordScreen } from './screens/Password/ResetPasswordScreen';\nimport { EmailConfirmation } from './screens/Secondary/EmailConfirmation';\nimport { OTPAuthenticate } from './screens/Secondary/OTPAuthenticate';\nimport { OTPConfirmation } from './screens/Secondary/OTPConfirmation';\nimport { PasswordCreateAuthenticate } from './screens/Secondary/PasswordCreateAuthenticate';\nimport { MagicLinkMethods, PasswordMethods, StytchProduct } from './StytchProduct';\n\nconst PhoneFormSMS = () => <PhoneForm method={OTPMethods.SMS} />;\nconst PhoneFormWhatsApp = () => <PhoneForm method={OTPMethods.WhatsApp} />;\nconst MainWalletButtons = () => <CryptoWalletButtons type=\"main\" />;\nconst FloatingOneTap = () => <GoogleOneTap position={OneTapPositions.floating} />;\n\nexport const emailMagicLinks: StytchProduct = {\n id: 'emailMagicLinks',\n screens: {\n [AppScreens.EmailConfirmation]: EmailConfirmation,\n },\n tabs: {\n [MagicLinkMethods.Email]: MagicLinkEmailForm,\n },\n mainScreen: {\n 'login-form': LoginForm,\n },\n icons: emailIcons,\n};\n\nexport const oauth: StytchProduct = {\n id: 'oauth',\n screens: {\n [AppScreens.FloatingOneTap]: FloatingOneTap,\n },\n mainScreen: {\n oauth: OAuthButtons,\n },\n icons: oauthIcons,\n};\n\nexport const otp: StytchProduct = {\n id: 'otp',\n screens: {\n [AppScreens.OTPAuthenticate]: OTPAuthenticate,\n [AppScreens.OTPConfirmation]: OTPConfirmation,\n },\n tabs: {\n [OTPMethods.Email]: OTPEmailForm,\n [OTPMethods.SMS]: PhoneFormSMS,\n [OTPMethods.WhatsApp]: PhoneFormWhatsApp,\n },\n mainScreen: {\n 'login-form': LoginForm,\n },\n icons: emailIcons,\n};\n\nexport const passwords: StytchProduct = {\n id: 'passwords',\n screens: {\n [AppScreens.PasswordCreateOrLogin]: PasswordCreateAuthenticate,\n [AppScreens.PasswordResetForm]: ResetPasswordScreen,\n [AppScreens.PasswordForgot]: PasswordForgot,\n [AppScreens.PasswordBreached]: PasswordBreached,\n [AppScreens.PasswordSetNew]: PasswordSetNew,\n [AppScreens.PasswordDedupe]: PasswordDedupe,\n [AppScreens.PasswordConfirmation]: PasswordConfirmation,\n },\n tabs: {\n [PasswordMethods.Email]: PasswordsEmailForm,\n },\n mainScreen: {\n 'login-form': LoginForm,\n },\n icons: emailIcons,\n};\n\nexport const passkeys: StytchProduct = {\n id: 'passkeys',\n screens: {\n [AppScreens.PasskeyConfirmation]: PasskeyConfirmation,\n },\n mainScreen: {\n 'passkey-button': PasskeyButton,\n },\n};\n\nexport const passkeyRegistration: StytchProduct = {\n id: 'passkeyRegistration',\n screens: {\n [AppScreens.PasskeyRegistrationStart]: PasskeyRegistrationStart,\n [AppScreens.PasskeyRegistrationSuccess]: PasskeyRegistrationSuccess,\n },\n};\n\nexport const crypto: StytchProduct = {\n id: 'crypto',\n screens: {\n [AppScreens.CryptoConnect]: ConnectWallet,\n [AppScreens.CryptoSignMessage]: SignMessage,\n [AppScreens.CryptoOtherScreen]: OtherCryptoWallets,\n [AppScreens.CryptoSetupWallet]: SetupNewWallet,\n [AppScreens.CryptoError]: Error,\n [AppScreens.CryptoConfirmation]: Success,\n },\n mainScreen: {\n crypto: MainWalletButtons,\n },\n icons: cryptoIcons,\n};\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, SDKConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { AppScreens, AppState, DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { passkeyRegistration } from './Products';\nimport { addProduct } from './utils';\n\nexport const PasskeyRegistrationContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n config: rawConfig,\n presentation,\n callbacks,\n strings,\n styles,\n}: SDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const config = addProduct(rawConfig, passkeyRegistration);\n\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 } = readB2CInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then(({ displayWatermark }) => {\n setDisplayWatermark(displayWatermark);\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://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n const initialState: AppState = {\n ...DEFAULT_STATE,\n screen: AppScreens.PasskeyRegistrationStart,\n formState: {\n ...DEFAULT_STATE.formState,\n },\n };\n\n const presentationValue = usePresentationWithDefault(presentation, displayWatermark, config, 'Products');\n\n return (\n <GlobalContextProvider client={client} config={config} callbacks={callbacks} initialState={initialState}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { PasskeyRegistrationContainer } from '../../b2c/PasskeyRegistrationContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\n\n/**\n * The Stytch Passkey Registration component.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <StytchPasskeyRegistration\n * presentation={{\n * theme: { primary: '#ff00f7' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchPasskeyRegistration = /* @__PURE__ */ createB2CComponent(\n 'StytchPasskeyRegistration',\n PasskeyRegistrationContainer,\n);\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, ResetPasswordSDKConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { AppScreens, AppState, DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { passwords } from './Products';\nimport { addProduct } from './utils';\n\nexport const ResetPasswordContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n config: rawConfig,\n presentation,\n callbacks,\n strings,\n styles,\n passwordResetToken: rawToken,\n}: ResetPasswordSDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const config = addProduct(rawConfig, passwords);\n\n // Default to reading token from URL if not provided\n let token = rawToken;\n if (!token) {\n const result = client.parseAuthenticateUrl();\n if (result?.tokenType === 'reset_password' || result?.tokenType === 'login') {\n token = result.token;\n }\n }\n\n // Read the watermark out of sync storage, then read it out of async storage\n const [displayWatermark, setDisplayWatermark] = useState(() => {\n const { displayWatermark } = readB2CInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then(({ displayWatermark }) => {\n setDisplayWatermark(displayWatermark);\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://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n const initialState: AppState = {\n ...DEFAULT_STATE,\n screen: AppScreens.PasswordResetForm,\n formState: {\n ...DEFAULT_STATE.formState,\n resetPasswordState: {\n token: token!,\n },\n },\n };\n\n const presentationValue = usePresentationWithDefault(presentation, displayWatermark, config, 'Products');\n\n return (\n <GlobalContextProvider client={client} config={config} callbacks={callbacks} initialState={initialState}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { StytchProjectConfigurationInput } from '@stytch/core/public';\n\nimport { ResetPasswordContainer } from '../../b2c/ResetPasswordContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\nimport { StytchProps } from './StytchLogin';\n\nexport interface StytchResetPasswordProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> extends StytchProps<TProjectConfiguration> {\n /**\n * A Stytch password reset token.\n */\n passwordResetToken: string;\n}\n\n/**\n * The Stytch Reset Password component.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <StytchPasswordReset\n * config={{\n * products: [Products.passwords],\n * passwordOptions: {\n * loginRedirectURL: '${exampleURL}/authenticate',\n * resetPasswordRedirectURL: '${exampleURL}/authenticate',\n * },\n * }}\n * passwordResetToken=\"PvC5UudZ7TPZbELt95yXAQ-8MeEUCRob8bUQ-g52fIJs\"\n * presentation={{\n * theme: { primary: '#0577CA' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchPasswordReset = /* @__PURE__ */ createB2CComponent('StytchPasswordReset', ResetPasswordContainer);\n","'use client';\n\nimport { Session, StytchProjectConfigurationInput, User } from '@stytch/core/public';\nimport { StytchClient } from '@stytch/web/headless';\nimport {\n StytchProvider as StytchProviderShared,\n useStytchIsAuthorized as useStytchIsAuthorizedShared,\n useStytchSession as useStytchSessionShared,\n useStytchUser as useStytchUserShared,\n withStytchPermissions as withStytchPermissionsShared,\n withStytchSession as withStytchSessionShared,\n withStytchUser as withStytchUserShared,\n} from '@stytch/web/react/b2c';\nimport React, { ComponentType, ReactNode } from 'react';\n\nexport { useStytch, withStytch } from '@stytch/web/react/b2c';\n\n/**\n * Returns the active User.\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 user data is from persistent storage.\n * @example\n * const {user, isInitialized, fromCache} = useStytchUser();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return (<h1>Welcome, {user.name.first_name}</h1>);\n */\nexport const useStytchUser = useStytchUserShared as <TAssumeHydrated extends boolean = true>() => ReturnType<\n typeof useStytchUserShared<TAssumeHydrated>\n>;\n\n/**\n * Returns the active user's Stytch 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} = useStytchSession();\n * useEffect(() => {\n * if (!isInitialized) {\n * return;\n * }\n * if (!session) {\n * router.replace('/login')\n * }\n * }, [session, isInitialized]);\n */\nexport const useStytchSession = useStytchSessionShared as <TAssumeHydrated extends boolean = true>() => ReturnType<\n typeof useStytchSessionShared<TAssumeHydrated>\n>;\n\nexport const withStytchUser = withStytchUserShared as <T extends object, TAssumeHydrated extends boolean = true>(\n Component: ComponentType<\n T & { stytchUser: User | null; stytchUserIsInitialized: boolean; stytchUserIsFromCache: boolean }\n >,\n) => ReturnType<typeof withStytchUserShared<T, TAssumeHydrated>>;\n\nexport const withStytchSession = withStytchSessionShared as <T extends object, TAssumeHydrated extends boolean = true>(\n Component: ComponentType<\n T & { stytchSession: Session | null; stytchSessionIsInitialized: boolean; stytchSessionIsFromCache: boolean }\n >,\n) => ReturnType<typeof withStytchSessionShared<T, TAssumeHydrated>>;\n\nexport const useStytchIsAuthorized = useStytchIsAuthorizedShared as <TAssumeHydrated extends boolean = true>(\n resourceId: string,\n action: string,\n) => ReturnType<typeof useStytchIsAuthorizedShared<TAssumeHydrated>>;\n\nexport const withStytchPermissions = withStytchPermissionsShared as <\n Permissions extends Record<string, string>,\n T extends object,\n>(\n Component: ComponentType<T & { stytchPermissions: Record<string, Record<string, boolean>> }>,\n) => ReturnType<typeof withStytchPermissionsShared<Permissions, T>>;\n\nexport interface StytchProviderProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n /**\n * A Stytch client instance, a {@link StytchClient}\n */\n stytch: StytchClient<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 = createStytchClient('public-token-<find yours in the stytch dashboard>')\n *\n * ReactDOM.render(\n * <StytchProvider stytch={stytch}>\n * <App />\n * </StytchProvider>,\n * document.getElementById('root'),\n * )\n */\nexport const StytchProvider = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>({\n stytch,\n children,\n assumeHydrated = true,\n}: StytchProviderProps<TProjectConfiguration>): JSX.Element => (\n <StytchProviderShared stytch={stytch} assumeHydrated={assumeHydrated}>\n {children}\n </StytchProviderShared>\n);\n","import { createStytchClient } from '@stytch/web/headless';\n\n/**\n * @deprecated - use {@link createStytchClient} instead\n */\nexport const createStytchUIClient = createStytchClient;\n\nexport type { StytchProviderProps } from './StytchContext';\nexport {\n StytchProvider,\n useStytch,\n useStytchIsAuthorized,\n useStytchSession,\n useStytchUser,\n withStytch,\n withStytchPermissions,\n withStytchSession,\n withStytchUser,\n} from './StytchContext';\nexport * from '@stytch/core/public';\nexport type {\n AuthTokenParams,\n IDPConsentManifestGenerator,\n IDPSDKConfig,\n ResetPasswordSDKConfig,\n SDKConfig,\n Strings,\n StytchLoginConfig,\n} from '@stytch/web';\nexport { Products } from '@stytch/web';\nexport * from '@stytch/web/common';\nexport * from '@stytch/web/headless';\nexport type { IdentityProviderProps, StytchProps, StytchResetPasswordProps } from '@stytch/web/react/b2c';\nexport { IdentityProvider, StytchLogin, StytchPasskeyRegistration, StytchPasswordReset } from '@stytch/web/react/b2c';\n"],"names":["EmailSentType","messages","_messages","reducer","state","action","type","screen","formState","magicLinkState","email","otpState","cryptoState","passwordState","Error","AppScreens","Main","FloatingOneTap","PasskeyRegistrationStart","PasskeyRegistrationSuccess","PasskeyConfirmation","PasswordCreateOrLogin","PasswordResetForm","PasswordForgot","PasswordBreached","PasswordSetNew","PasswordDedupe","PasswordConfirmation","EmailConfirmation","OTPAuthenticate","OTPConfirmation","CryptoConnect","CryptoSignMessage","CryptoOtherScreen","CryptoSetupWallet","CryptoError","CryptoConfirmation","DEFAULT_STATE","OTPMethods","Email","methodId","otpDestination","walletAddress","walletOption","Wallets","Metamask","walletChallenge","resetPasswordState","token","GlobalContext","React","createContext","client","config","GlobalContextProvider","children","callbacks","initialState","useReducer","Provider","value","useGlobalContext","useContext","useStytch","useGlobalReducer","useConfig","useErrorCallback","useEvent","onError","noop","useEventCallback","onEvent","GenericWalletIcon","size","DEFAULT_ICON_SIZE","props","svg","width","height","viewBox","xmlns","path","d","fill","PasskeyIcon","useStytchUser","stytch","useSyncExternalStore","onStateChange","user","getSync","useBootstrap","stytchClient","bootstrap","setBootstrap","useState","readB2CInternals","fromCache","useEffect","getAsync","then","data","hasProduct","products","product","some","p","id","useProductComponents","screenType","useMemo","map","Object","assign","addProduct","includes","IDPConsentScreenImpl","initialError","initialParams","oauthAuthorizeStart","oauthAuthorizeSubmit","idp","bootstrapNotLoaded","idpConsentInfo","useIDPState","IDPConsent","IDPLogoutScreenImpl","navigate","oauthLogoutStart","revokeSession","session","revoke","forceClear","idpLogoutState","useLogoutState","IDPLogout","IDPConsentScreen","searchParams","window","location","search","flow","error","parseIDPParams","theme","displayWatermark","usePresentation","content","EnsureUserIsLoggedIn","params","MainContainer","useLingui","onErrorRef","useRef","current","authParams","useTrustedAuthTokenParams","attesting","setAttesting","attested","setAttested","attestTrustedToken","trustedAuthToken","tokenProfileID","profile_id","attest","session_duration_minutes","NoCurrentSessionError","LoadingScreen","ErrorDisplay","text","IDPContainer","presentation","strings","styles","getIDPConsentManifest","authTokenParams","presentationValue","usePresentationWithDefault","networkClient","logEvent","name","details","IDPContextProvider","consentManifestGenerator","PresentationContext","I18nProviderWrapper","overrides","initialUser","isInitialized","initialSession","StytchContext","isMounted","StytchUserContext","StytchSessionContext","useIsMounted__INTERNAL","invariant","noProviderError","useStytchSession","ctx","withStytch","Component","WithStytch","displayName","withStytchUser","WithStytchUser","stytchUser","stytchUserIsInitialized","stytchUserIsFromCache","withStytchSession","WithStytchSession","stytchSession","stytchSessionIsInitialized","stytchSessionIsFromCache","useStytchIsAuthorized","resourceId","isAuthorized","setIsAuthorized","useAsyncState","isStytchSSRProxy","rbac","isAuthorizedSync","roles","withStytchPermissions","WithStytchPermissions","permissions","setPermissions","loaded","allPermissions","stytchPermissions","StytchProvider","assumeHydrated","providerMustBeUniqueError","getHydratedState","useCallback","getInfo","getInitialState","setClientState","assumeHydratedRef","updateState","oldState","mergeWithStableProps","createB2CComponent","Wrapped","shadow","options","enableShadowDOM","root","mountPoint","setMountPoint","useLayoutEffect","shadowRoot","attachShadow","mode","document","createElement","appendChild","injectCssIntoNode","injectGlobalStyle","element","div","ref","createPortal","IdentityProvider","useIsOnlyFloatingOneTap","position","oauthOptions","providers","length","OAuthProviders","Google","one_tap","getShouldRenderFloatingOneTap","MAX_ATTEMPTS","usePromptPasskey","canAutofill","shadowDOM","hasPasskeys","dispatch","setError","startPasskeyAuth","conditionalMediation","abortController","resp","webauthn","authenticate","domain","passkeyOptions","sessionOptions","sessionDurationMinutes","DEFAULT_SESSION_DURATION_MINUTES","conditional_mediation","is_passkey","signal","disable_input_check","StytchEventType","PasskeyAuthenticate","e","extractErrorType","message","extractErrorMessage","AbortController","browserSupportsAutofill","i","aborted","DOMException","abort","MainScreen","mainScreenGroups","setMainScreenGroups","hasButtons","hasInput","passkeyError","Boolean","productComponents","loadProductComponents","keys","Array","from","Set","filter","isTruthy","showDivider","splice","unshift","groups","walletIndex","indexOf","oauthIndex","Math","abs","index","min","Typography","variant","color","renderComponent","key","isArray","Column","gap","Divider","hideHeaderText","align","ErrorText","AppContainer","isOnlyFloatingOneTap","currentScreen","screenComponentMap","ScreenComponent","logo","Logo","appLogo","setDisplayWatermark","Container","StytchLogin","useLastUsedOAuth","publicToken","lastUsedOAuth","safeLocalStorage","getItem","setLastUsedOAuth","providerType","setItem","providerInfo","messageDescriptor","Microsoft","Apple","Github","GitLab","Facebook","Discord","Salesforce","Slack","Amazon","Bitbucket","LinkedIn","Coinbase","Twitch","Twitter","TikTok","Snapchat","Figma","Yahoo","OAuthButton","loginRedirectUrl","signupRedirectUrl","customScopes","providerParams","onSuccess","iconRegistry","getButtonId","provider","label","icon","iconName","Icon","onButtonClick","oauth","start","login_redirect_url","signup_redirect_url","custom_scopes","provider_params","Button","onClick","OAUTH_BUTTON_HEIGHT","OneTapMountNode","slot","data-prompt_parent_id","GoogleOneTap","cancelOnTapOutside","oneTapRenderMode","getRenderedOneTapMode","shouldRenderEmbeddedOneTap","shouldRenderOneTap","pending","setPending","canDisplayOneTap","setCanDisplayOneTap","setHeight","oneTapError","setOneTapError","resizeCount","timeout","isUnmounted","useIsUnmounted","lastUsedMethod","onResize","el","clearTimeout","currentHeight","contentRect","setTimeout","getElementById","resizeObserver","ResizeObserver","observe","disconnect","attemptToLoadOneTap","oneTap","clientResult","createOneTapClient","success","reason","OneTapErrors","NoConfiguredOAuthClient","NoConfiguredSignupRedirectUrls","NoConfiguredLoginRedirectUrls","logger","onOneTapCancelled","showError","OriginNotAllowedForClient","renderResult","render","callback","createOnSuccessHandler","loginRedirectURL","signupRedirectURL","redirectOnSuccess","style","cancel","InvalidOAuthClient","$client","catch","err","fallbackButton","fallbackWithLastUsed","LastUsed","DEV","OneTapProvider","willGoogleOneTapShowEmbedded","className","classNames","container","CircularProgress","AmazonIcon","fillRule","clipRule","_styles","darkInvert","AppleIcon","BinanceIcon","BitbucketIcon","CoinbaseIcon","DiscordIcon","FacebookIcon","FigmaIcon","GitlabIcon","LinkedinIcon","MetamaskIcon","PhantomIcon","SalesforceIcon","SnapchatIcon","TiktokIcon","TwitchIcon","XTwitterIcon","oauthIcons","amazon","apple","bitbucket","coinbase","discord","facebook","figma","github","GithubIcon","gitlab","google","GoogleIcon","linkedin","microsoft","MicrosoftIcon","salesforce","slack","SlackIcon","snapchat","tiktok","twitch","xTwitter","yahoo","YahooIcon","cryptoIcons","phantom","metamask","binance","emailIcons","gmail","GmailIcon","outlook","OutlookIcon","require$$0","hasMultipleEthereumWallets","ethereum","hasMetaMask","find","wallet","isMetaMask","hasCoinbaseWallet","isCoinbaseWallet","hasOtherEthereumWallet","getMetaMaskProvider","getCoinbaseProvider","getOtherInjectedProvider","walletIcons","Phantom","Binance","useCryptoButtonProps","getIcon","getId","WalletToText","GenericEthereumWallet","GenericSolanaWallet","isWalletVisible","solana","isPhantom","BinanceChain","connectWithEthereumProvider","request","address","method","connectWithWallet","connectResp","connect","publicKey","toString","signMessageWithSolanaProvider","encodedMessage","TextEncoder","encode","signResp","display","signature","signMessageWithEthereumProvider","signMessageWithWallet","isSolanaWallet","solanaWallets","ConnectWallet","handleError","walletType","onConnectWallet","cryptoWallets","authenticateStart","crypto_wallet_address","crypto_wallet_type","CryptoWalletAuthenticateStart","challenge","useMountEffect","TextColumn","header","body","helper","MAX_BUTTONS","walletMessages","CryptoWalletButtons","oAuthOptions","cryptoButtonsOnMainScreen","onWalletStart","allDetectedWallets","renderOtherScreenButton","mainWallets","slice","otherWallet","walletsToRender","ButtonColumn","walletEnum","OtherCryptoWallets","SetupNewWallet","ButtonAnchor","target","rel","href","SignMessage","onSignWallet","CryptoWalletAuthenticate","Success","Confirmation","jsx","getElementRef","React2","RovingFocusGroup.Root","RovingFocusGroup.Item","MagicLinkMethods","PasswordMethods","OTPTabHeaders","SMS","WhatsApp","getTabMethods","otpMethods","hasPassword","tabMethods","add","LoginForm","otpOptions","productsIncludesOtp","methods","hasEmailMagicLink","hasOTPEmail","tabMethodComponents","Tabs","defaultValue","tabRow","aria-label","buttonClassNames","block","tab","tabIndex","MagicLinkEmailForm","emailMagicLinksOptions","setEmail","errorMessage","setErrorMessage","isSubmitting","setIsSubmitting","handleSubmit","preventDefault","submittingEmail","match","EMAIL_REGEX","magicLinks","loginOrCreate","convertMagicLinkOptions","MagicLinkLoginOrCreateEvent","LoginOrCreateEML","getTranslatedError","as","onSubmit","EmailInput","hideLabel","loading","OTPButtonText","OTPEmailForm","stopSubmit","errorText","handleEmailSubmit","otps","expiration_minutes","expirationMinutes","DEFAULT_OTP_EXPIRATION_MINUTES","login_template_id","loginTemplateId","signup_template_id","signupTemplateId","locale","OTPsLoginOrCreateEvent","method_id","LoginOrCreateOTP","PhoneForm","phoneNumber","setPhoneNumber","country","setCountry","parsePhoneNumber","getExampleNumber","getPhoneNumberProps","clientsideServices","handlePhoneSubmit","parsedNumber","formatNumberToIncludeCountryCode","isValid","number","PhoneInput","phone","setPhone","PasskeyButton","PasswordsEmailForm","searchManager","searchUser","userType","ResetPassword","OAuthButtons","reorderedProviders","foundLastUsed","arrayUtils","moveToFront","providerProps","cancel_on_tap_outside","button","AuthenticateFlowComplete","SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE","CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE","userState","setUserState","get","onCreatePasskey","undefined","register","PasskeyRegister","onSkip","PasskeySkip","commonButtonProps","EditableRow","handleEdit","isEditing","isEditingRow","othersEditing","inputRef","focus","form","row","evt","newName","data-testid","testId","input","Input","onChange","actions","disabled","optimisticRegistrations","setOptimisticRegistrations","webAuthnRegistrations","registrations","webauthn_registrations","editableRowState","setEditableRowState","onSetUpANewPasskey","update","onDone","PasskeyDone","startOptimisticUpdate","prevEditableRowState","errorToast","errorToStytchError","deleteReg","r","webauthn_registration_id","deleteWebauthnRegistration","updateReg","weight","existing","registration","passkeyRow","role","useResetResendPasswordActions","passwordOptions","resendResetPassword","passwords","resetByEmailStart","convertPasswordResetOptions","sendMagicLink","result","goBack","EmailActionLayout","description","Trans","components","bold","b","values","resend","PasswordResetByEmailStart","ResetPasswordScreen","passwordToken","resetTokenType","parsed","parseAuthenticateUrl","tokenType","password","setPassword","passwordError","setPasswordError","policy","loginErrorMessage","setLoginErrorMessage","isLoggingIn","setIsLoggingIn","updateStrengthCheck","debounce","strengthCheck","score","feedback","valid_password","strength_policy","breached_password","common","passwordInvalid","isPasswordBreached","passwordScore","passwordWarning","warning","passwordSuggestions","suggestions","missingCharacters","luds_requirements","missing_characters","missingComplexity","missing_complexity","onPasswordChange","resetByEmail","PasswordResetByEmail","handlePasswordlessLogin","finally","passwordInputProps","getNewPasswordProps","PasswordInput","PasswordError","top","bottom","VerticalTransition","primary","secondary","triggered","usePasswordlessAuthenticate","sendLink","sendCode","useEmailDomain","emailDomains","setEmailDomains","domainHint","showGoBack","emailDomain","countdown","useCountdown","EmailConfirmationView","hideBackButton","destination","selectionMethod","formattedDestination","setFormattedDestination","calculateExpiration","Date","now","parseDestination","parsedPhoneNumber","national","formatNumber","expiration","setExpiration","resendCountdown","resendOTP","otp","OTPsAuthenticate","clear","SentOTPEntry","ResendOTPButton","PasswordAuthenticate","error_type","onForgot","PasswordNewUser","create","PasswordCreate","PasswordlessAuthenticate","secondaryType","resetPassword","PasswordCreateAuthenticate","secondaryAuth","useSecondaryAuthenticate","handle","buttonText","PhoneFormSMS","PhoneFormWhatsApp","MainWalletButtons","OneTapPositions","floating","emailMagicLinks","screens","tabs","mainScreen","icons","passkeys","passkeyRegistration","crypto","PasskeyRegistrationContainer","rawConfig","StytchPasskeyRegistration","ResetPasswordContainer","passwordResetToken","rawToken","StytchPasswordReset","useStytchUserShared","useStytchSessionShared","withStytchUserShared","withStytchSessionShared","useStytchIsAuthorizedShared","withStytchPermissionsShared","StytchProviderShared","createStytchUIClient","createStytchClient"],"mappings":"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","x_google_ignoreList":[40,41,50,51,52,53,54,55,56,57,58,59,60,61,62,63]}
1
+ {"version":3,"file":"index.cjs","sources":["../../../core/src/Events.ts","../../../web/src/messages/en.ts","../../../web/src/ui/b2c/reducer.ts","../../../web/src/ui/b2c/GlobalContextProvider.tsx","../../../web/src/assets/genericWallet.tsx","../../../web/src/assets/passkeys.tsx","../../../web/src/ui/hooks/useStytchUser.ts","../../../web/src/ui/b2c/utils.ts","../../../web/src/ui/b2c/screens/IdentityProvider/IDPConsent.tsx","../../../web/src/ui/b2c/IDPContainer.tsx","../../../web/src/ui/react/b2c/StytchContext.tsx","../../../web/src/ui/react/bindings/createB2CComponent.tsx","../../../web/src/ui/react/b2c/IdentityProvider.tsx","../../../web/src/ui/hooks/useIsOnlyFloatingOneTap.ts","../../../web/src/ui/hooks/usePromptPasskey.ts","../../../web/src/ui/b2c/screens/Main/index.tsx","../../../web/src/ui/b2c/Container.tsx","../../../web/src/ui/b2c/AppContainer.tsx","../../../web/src/ui/react/b2c/StytchLogin.tsx","../../../web/src/ui/b2c/screens/Main/useLastUsedOAuth.tsx","../../../web/src/ui/b2c/components/OAuthButton.tsx","../../../web/src/ui/b2c/components/GoogleOneTap.tsx","../../../web/src/assets/logo-color/Amazon.tsx","../../../web/src/assets/logo-color/Apple.tsx","../../../web/src/assets/logo-color/Binance.tsx","../../../web/src/assets/logo-color/Bitbucket.tsx","../../../web/src/assets/logo-color/Coinbase.tsx","../../../web/src/assets/logo-color/Discord.tsx","../../../web/src/assets/logo-color/Facebook.tsx","../../../web/src/assets/logo-color/Figma.tsx","../../../web/src/assets/logo-color/Gitlab.tsx","../../../web/src/assets/logo-color/Linkedin.tsx","../../../web/src/assets/logo-color/Metamask.tsx","../../../web/src/assets/logo-color/Phantom.tsx","../../../web/src/assets/logo-color/Salesforce.tsx","../../../web/src/assets/logo-color/Snapchat.tsx","../../../web/src/assets/logo-color/Tiktok.tsx","../../../web/src/assets/logo-color/Twitch.tsx","../../../web/src/assets/logo-color/XTwitter.tsx","../../../web/src/ui/b2c/components/Icons.ts","../../../../node_modules/base-x/src/index.js","../../../../node_modules/bs58/index.js","../../../web/src/utils/crypto.tsx","../../../web/src/ui/b2c/screens/Crypto/ConnectWallet.tsx","../../../web/src/ui/b2c/screens/Crypto/Error.tsx","../../../web/src/ui/b2c/screens/Crypto/WalletButtons.tsx","../../../web/src/ui/b2c/screens/Crypto/OtherWallets.tsx","../../../web/src/ui/b2c/screens/Crypto/SetupNewWallet.tsx","../../../web/src/ui/b2c/screens/Crypto/SignMessage.tsx","../../../web/src/ui/b2c/screens/Crypto/Success.tsx","../../../../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../../node_modules/@radix-ui/react-slot/dist/index.mjs","../../../../node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../../node_modules/@radix-ui/react-context/dist/index.mjs","../../../../node_modules/@radix-ui/react-collection/dist/index.mjs","../../../../node_modules/@radix-ui/primitive/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../../node_modules/@radix-ui/react-presence/dist/index.mjs","../../../../node_modules/@radix-ui/react-id/dist/index.mjs","../../../../node_modules/@radix-ui/react-direction/dist/index.mjs","../../../../node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../../node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../../../../node_modules/@radix-ui/react-tabs/dist/index.mjs","../../../web/src/ui/b2c/StytchProduct.ts","../../../web/src/ui/b2c/screens/Main/LoginForm/index.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/MagicLinkForm.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/OTPForm.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/PasskeyButton.tsx","../../../web/src/ui/b2c/screens/Main/LoginForm/PasswordForm.tsx","../../../web/src/ui/b2c/screens/Main/OAuthButtons.tsx","../../../web/src/ui/b2c/screens/Passkey/PasskeyConfirmation.tsx","../../../web/src/utils/passkeys.ts","../../../web/src/ui/b2c/screens/Passkey/PasskeyRegistrationStart.tsx","../../../web/src/ui/b2c/screens/Passkey/EditableRow.tsx","../../../web/src/ui/b2c/screens/Passkey/PasskeyRegistrationSuccess.tsx","../../../web/src/ui/b2c/screens/Password/useResetResendPasswordActions.tsx","../../../web/src/ui/b2c/screens/Password/PasswordBreached.tsx","../../../web/src/ui/b2c/screens/Password/PasswordConfirmation.tsx","../../../web/src/ui/b2c/screens/Password/PasswordDedupe.tsx","../../../web/src/ui/b2c/screens/Password/PasswordForgot.tsx","../../../web/src/ui/b2c/screens/Password/PasswordSetNew.tsx","../../../web/src/ui/b2c/screens/Password/ResetPasswordScreen.tsx","../../../web/src/ui/b2c/screens/Secondary/usePasswordlessAuthenticate.ts","../../../web/src/ui/b2c/screens/Secondary/EmailConfirmation.tsx","../../../web/src/ui/b2c/screens/Secondary/OTPAuthenticate.tsx","../../../web/src/ui/b2c/screens/Secondary/OTPConfirmation.tsx","../../../web/src/ui/b2c/screens/Password/PasswordAuthenticate.tsx","../../../web/src/ui/b2c/screens/Password/PasswordNewUser.tsx","../../../web/src/ui/b2c/screens/Secondary/PasswordlessAuthenticate.tsx","../../../web/src/ui/b2c/screens/Secondary/PasswordCreateAuthenticate.tsx","../../../web/src/ui/b2c/Products.tsx","../../../web/src/ui/b2c/PasskeyRegistrationContainer.tsx","../../../web/src/ui/react/b2c/StytchPasskeyRegistration.tsx","../../../web/src/ui/b2c/ResetPasswordContainer.tsx","../../../web/src/ui/react/b2c/StytchPasswordReset.tsx","../../src/StytchContext.tsx","../../src/index.ts"],"sourcesContent":["import { RNUIProductConfig, StytchSDKError, TokenType } from './public';\nimport { BootstrapData, CommonB2BLoginConfig, CommonLoginConfig } from './types';\n\nexport enum EmailSentType {\n LoginOrCreateEML = 'login_or_create_eml',\n LoginOrCreateOTP = 'login_or_create_otp',\n ResetPassword = 'reset_password',\n}\n\nexport type AnalyticsEvent =\n | {\n name: 'sdk_instance_instantiated';\n details: {\n event_callback_registered: boolean;\n error_callback_registered: boolean;\n success_callback_registered: boolean;\n };\n }\n | {\n name: 'b2b_sdk_instance_instantiated';\n details: {\n event_callback_registered: boolean;\n error_callback_registered: boolean;\n success_callback_registered: boolean;\n };\n }\n | {\n name: 'render_login_screen';\n details: {\n options: CommonLoginConfig | RNUIProductConfig;\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'render_b2b_login_screen';\n details: {\n options: CommonB2BLoginConfig;\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'render_idp_screen';\n details: {\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'render_b2b_idp_screen';\n details: {\n bootstrap: BootstrapData;\n };\n }\n | {\n name: 'email_sent';\n details: {\n email: string;\n type: EmailSentType;\n };\n }\n | {\n name: 'email_try_again_clicked';\n details: {\n email: string;\n type: EmailSentType;\n };\n }\n | {\n name: 'start_oauth_flow';\n details: {\n provider_type: string;\n custom_scopes?: string[];\n cname_domain: string | null;\n pkce: boolean;\n provider_params?: Record<string, string>;\n };\n }\n | {\n name: 'deeplink_handled_success';\n details: {\n token_type: TokenType;\n };\n }\n | {\n name: 'deeplink_handled_failure';\n details: {\n error: StytchSDKError | undefined;\n };\n }\n | {\n name: 'oauth_success';\n details: {\n provider_type: string;\n };\n }\n | {\n name: 'oauth_failure';\n details: {\n error: StytchSDKError | string | undefined;\n };\n }\n | {\n name: 'ui_authentication_success';\n details: {\n method: 'oauth' | 'otp' | 'magicLinks' | 'passwords';\n };\n }\n | {\n name: 'render_b2b_admin_portal_sso';\n details: Record<string, never>;\n }\n | {\n name: 'render_b2b_admin_portal_org_settings';\n details: Record<string, never>;\n }\n | {\n name: 'render_b2b_admin_portal_member_management';\n details: Record<string, never>;\n }\n | {\n name: 'render_b2b_admin_portal_scim';\n details: Record<string, never>;\n };\n","import { Messages } from '@lingui/core';\n\nimport { messages as _messages } from '../../messages/en.json';\n\nexport const messages = _messages as unknown as Messages;\n","import { AppScreens, AppState, CryptoState, OTPState, PasswordState } from './GlobalContextProvider';\n\nexport type Action =\n | { type: 'transition'; screen: AppScreens }\n | { type: 'set_magic_link_email'; email: string }\n | { type: 'update_otp_state'; otpState: OTPState }\n | { type: 'update_crypto_state'; cryptoState: CryptoState }\n | { type: 'update_password_state'; passwordState: PasswordState };\n\nexport const reducer = (state: AppState, action: Action): AppState => {\n switch (action.type) {\n case 'transition':\n return {\n ...state,\n screen: action.screen,\n };\n case 'set_magic_link_email': {\n return {\n ...state,\n formState: {\n ...state.formState,\n magicLinkState: { email: action.email },\n },\n };\n }\n case 'update_otp_state': {\n return {\n ...state,\n formState: {\n ...state.formState,\n otpState: action.otpState,\n },\n };\n }\n case 'update_crypto_state': {\n return {\n ...state,\n formState: {\n ...state.formState,\n cryptoState: action.cryptoState,\n },\n };\n }\n case 'update_password_state': {\n return {\n ...state,\n formState: {\n ...state.formState,\n passwordState: action.passwordState,\n },\n };\n }\n\n default:\n throw new Error();\n }\n};\n","import { Callbacks, OTPMethods, StytchProjectConfigurationInput, Wallets } from '@stytch/core/public';\nimport React, { useContext } from 'react';\n\nimport type { StytchClient } from '../../StytchClient';\nimport { StytchLoginConfig } from '../../types';\nimport { noop } from '../../utils';\nimport { useEvent } from '../hooks/useEvent';\nimport { Action, reducer } from './reducer';\n\n/* eslint-disable lingui/no-unlocalized-strings -- internal constants, not user-facing strings */\nexport const AppScreens = {\n Main: 'Main',\n FloatingOneTap: 'FloatingOneTap',\n PasskeyRegistrationStart: 'PasskeyRegistrationStart',\n PasskeyRegistrationSuccess: 'PasskeyRegistrationSuccess',\n PasskeyConfirmation: 'PasskeyConfirmation',\n PasswordCreateOrLogin: 'PasswordCreateOrLogin',\n PasswordResetForm: 'PasswordResetForm',\n PasswordForgot: 'PasswordForgot',\n PasswordBreached: 'PasswordBreached',\n PasswordSetNew: 'PasswordSetNew',\n PasswordDedupe: 'PasswordDedupe',\n PasswordConfirmation: 'PasswordConfirmation',\n EmailConfirmation: 'EmailConfirmation',\n OTPAuthenticate: 'OTPAuthenticate',\n OTPConfirmation: 'OTPConfirmation',\n CryptoConnect: 'CryptoConnect',\n CryptoSignMessage: 'CryptoSignMessage',\n CryptoOtherScreen: 'CryptoOtherScreen',\n CryptoSetupWallet: 'CryptoSetupWallet',\n CryptoError: 'CryptoError',\n CryptoConfirmation: 'CryptoConfirmation',\n} as const;\n/* eslint-enable lingui/no-unlocalized-strings */\n\nexport type AppScreens = keyof typeof AppScreens;\n\nexport type MagicLinkState = {\n email: string;\n};\n\nexport type OTPState = {\n type: OTPMethods;\n methodId: string;\n otpDestination: string;\n};\n\nexport type PasswordState = {\n email: string;\n type: 'new' | 'passwordless' | 'password';\n};\n\nexport type CryptoState = {\n walletAddress: string;\n walletOption: Wallets;\n walletChallenge: string;\n};\n\nexport type ResetPasswordState = {\n token: string;\n};\n\nexport type FormState = {\n magicLinkState: MagicLinkState;\n otpState: OTPState;\n cryptoState: CryptoState;\n passwordState: PasswordState;\n resetPasswordState: ResetPasswordState;\n};\n\nexport type AppState = {\n screen: AppScreens;\n formState: FormState;\n};\n\nexport type AppContext<TProjectConfiguration extends StytchProjectConfigurationInput> = {\n client: StytchClient<TProjectConfiguration>;\n config: StytchLoginConfig;\n callbacks?: Callbacks<TProjectConfiguration>;\n state: [AppState, React.Dispatch<Action>];\n};\n\nexport const DEFAULT_STATE: AppState = {\n screen: AppScreens.Main,\n formState: {\n magicLinkState: {\n email: '',\n },\n otpState: {\n type: OTPMethods.Email,\n methodId: '',\n otpDestination: '',\n },\n cryptoState: {\n walletAddress: '',\n walletOption: Wallets.Metamask,\n walletChallenge: '',\n },\n passwordState: {\n email: '',\n type: 'new',\n },\n resetPasswordState: {\n token: '',\n },\n },\n};\n\nexport const GlobalContext = React.createContext<AppContext<StytchProjectConfigurationInput>>({\n client: {} as StytchClient<StytchProjectConfigurationInput>,\n config: {} as StytchLoginConfig,\n state: [DEFAULT_STATE, () => null],\n});\n\nexport type GlobalContextProviderProps<TProjectConfiguration extends StytchProjectConfigurationInput> = {\n children: React.ReactNode;\n client: StytchClient<TProjectConfiguration>;\n config: StytchLoginConfig;\n callbacks?: Callbacks<TProjectConfiguration>;\n initialState?: AppState;\n};\n\nexport const GlobalContextProvider = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n children,\n client,\n config,\n callbacks,\n initialState,\n}: GlobalContextProviderProps<TProjectConfiguration>) => {\n const state = React.useReducer(reducer, initialState ?? DEFAULT_STATE);\n\n return <GlobalContext.Provider value={{ client, state, config, callbacks }}>{children}</GlobalContext.Provider>;\n};\n\nexport const useGlobalContext = () => useContext(GlobalContext);\nexport const useStytch = () => useGlobalContext().client;\nexport const useGlobalReducer = () => useGlobalContext().state;\nexport const useConfig = () => useGlobalContext().config;\nexport const useErrorCallback = () => useEvent(useGlobalContext().callbacks?.onError ?? noop);\nexport const useEventCallback = () => useEvent(useGlobalContext().callbacks?.onEvent ?? noop);\n","import React from 'react';\n\nimport { DEFAULT_ICON_SIZE, IconProps } from './types';\n\nexport const GenericWalletIcon = ({ size = DEFAULT_ICON_SIZE, ...props }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 20 18\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M18.5 4.28V2C18.5 0.9 17.6 0 16.5 0H2.5C1.39 0 0.5 0.9 0.5 2V16C0.5 17.1 1.39 18 2.5 18H16.5C17.6 18 18.5 17.1 18.5 16V13.72C19.09 13.37 19.5 12.74 19.5 12V6C19.5 5.26 19.09 4.63 18.5 4.28ZM17.5 6V12H10.5V6H17.5ZM2.5 16V2H16.5V4H10.5C9.4 4 8.5 4.9 8.5 6V12C8.5 13.1 9.4 14 10.5 14H16.5V16H2.5Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M13.5 10.5C14.3284 10.5 15 9.82843 15 9C15 8.17157 14.3284 7.5 13.5 7.5C12.6716 7.5 12 8.17157 12 9C12 9.82843 12.6716 10.5 13.5 10.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import React from 'react';\n\nimport { DEFAULT_ICON_SIZE, IconProps } from './types';\n\nexport const PasskeyIcon = ({ size = DEFAULT_ICON_SIZE, ...props }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n d=\"M8.75 10C10.8211 10 12.5 8.32107 12.5 6.25C12.5 4.17893 10.8211 2.5 8.75 2.5C6.67893 2.5 5 4.17893 5 6.25C5 8.32107 6.67893 10 8.75 10Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M18.7501 10.0001C18.7519 9.47774 18.6134 8.96445 18.349 8.51388C18.0847 8.06332 17.7041 7.69203 17.2472 7.43881C16.7903 7.18559 16.2738 7.05973 15.7516 7.07439C15.2294 7.08905 14.7207 7.24369 14.2787 7.52214C13.8367 7.8006 13.4776 8.19265 13.239 8.65733C13.0003 9.12202 12.8908 9.64227 12.9219 10.1637C12.9531 10.6852 13.1237 11.1887 13.416 11.6217C13.7082 12.0547 14.1114 12.4012 14.5834 12.6251V17.0835L15.8334 18.3335L17.9167 16.2501L16.6667 15.0001L17.9167 13.7501L16.8834 12.7168C17.4322 12.505 17.9042 12.1323 18.2373 11.6474C18.5704 11.1626 18.7492 10.5884 18.7501 10.0001ZM15.8334 10.0001C15.6686 10.0001 15.5075 9.95126 15.3704 9.85969C15.2334 9.76812 15.1266 9.63797 15.0635 9.4857C15.0004 9.33343 14.9839 9.16587 15.0161 9.00422C15.0482 8.84257 15.1276 8.69409 15.2441 8.57754C15.3607 8.461 15.5092 8.38163 15.6708 8.34948C15.8325 8.31732 16 8.33383 16.1523 8.3969C16.3046 8.45997 16.4347 8.56678 16.5263 8.70382C16.6179 8.84086 16.6667 9.00198 16.6667 9.1668C16.6667 9.38781 16.5789 9.59977 16.4227 9.75605C16.2664 9.91233 16.0544 10.0001 15.8334 10.0001Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M12.0333 11.6833C11.3934 11.398 10.7007 11.2504 10 11.25H7.5C6.17392 11.25 4.90215 11.7768 3.96447 12.7145C3.02678 13.6521 2.5 14.9239 2.5 16.25V17.9167H13.3333V13.325C12.7713 12.8933 12.3248 12.3293 12.0333 11.6833Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import { User } from '@stytch/core/public';\nimport { useSyncExternalStore } from 'react';\n\nimport { useStytch } from '../b2c/GlobalContextProvider';\n\n// useStytchUser 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 useStytchUser = (): User | null => {\n const stytch = useStytch();\n return useSyncExternalStore(stytch.onStateChange, () => stytch.user.getSync());\n};\n","import { BootstrapData } from '@stytch/core';\nimport { useEffect, useMemo, useState } from 'react';\n\nimport { readB2CInternals } from '../../utils/internal';\nimport { useStytch } from './GlobalContextProvider';\nimport { ProductId, StytchProduct } from './StytchProduct';\n\nexport const useBootstrap = (): { bootstrap: BootstrapData; fromCache: boolean } => {\n const stytchClient = useStytch();\n const [bootstrap, setBootstrap] = useState({\n bootstrap: readB2CInternals(stytchClient).bootstrap.getSync(),\n fromCache: true,\n });\n\n useEffect(() => {\n readB2CInternals(stytchClient)\n .bootstrap.getAsync()\n .then((data) =>\n setBootstrap({\n bootstrap: data,\n fromCache: false,\n }),\n );\n }, [stytchClient]);\n\n return bootstrap;\n};\n\nexport function hasProduct(products: StytchProduct[], product: ProductId) {\n return products.some((p) => p.id === product);\n}\n\nexport function useProductComponents<Type extends 'screens' | 'tabs' | 'mainScreen'>(\n products: StytchProduct[],\n screenType: Type,\n) {\n return useMemo(() => {\n const map = {} as Required<StytchProduct[Type]>;\n for (const product of products) {\n if (product[screenType]) Object.assign(map, product[screenType]);\n }\n return map;\n }, [products, screenType]);\n}\n\n/**\n * In B2C, ResetPassword and PasskeyRegistration always need passwords and passkey products respectively,\n * so we inject these into config just in case the customer don't have it. If they are missing the components\n * just crash immediately.\n */\nexport function addProduct<Config extends { products?: StytchProduct[] }>(\n config: Config | undefined,\n product: StytchProduct,\n): Config {\n if (config?.products?.includes(product)) return config;\n\n const products = config?.products ?? [];\n return {\n ...(config ?? {}),\n products: [...products, product],\n } as Config;\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 { useStytchUser } from '../../../hooks/useStytchUser';\nimport { useErrorCallback, useEventCallback, useStytch } from '../../GlobalContextProvider';\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 const { bootstrap, fromCache: bootstrapNotLoaded } = useBootstrap();\n\n const idpConsentInfo = useIDPState({\n initialError,\n initialParams,\n oauthAuthorizeStart,\n oauthAuthorizeSubmit,\n onError,\n onEvent,\n });\n\n return <IDPConsent bootstrap={bootstrap} bootstrapNotLoaded={bootstrapNotLoaded} {...idpConsentInfo}></IDPConsent>;\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, fromCache: bootstrapNotLoaded } = 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={bootstrapNotLoaded} />;\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 <EnsureUserIsLoggedIn>\n <IDPConsentScreenImpl initialError={error} initialParams={flow.params} />\n </EnsureUserIsLoggedIn>\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 EnsureUserIsLoggedIn = ({ children }: { children: ReactNode }) => {\n const { t } = useLingui();\n const user = useStytchUser();\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 if (stytchClient.user.getSync()) {\n await stytchClient.session.revoke({ forceClear: true });\n }\n\n try {\n await stytchClient.session.attest({\n token,\n profile_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 (user) return;\n onErrorRef.current(new NoCurrentSessionError());\n }, [user]);\n\n if (attesting) {\n return <LoadingScreen />;\n } else if (user) {\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/en';\nimport { DeprecatedSDKConfig, IDPSDKConfig, StytchLoginConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { IDPContextProvider } from '../components/organisms/IDPContextProvider';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport { DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { IDPConsentScreen } from './screens/IdentityProvider/IDPConsent';\n\nexport const IDPContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n presentation,\n callbacks,\n strings,\n styles,\n getIDPConsentManifest,\n authTokenParams,\n}: IDPSDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const presentationValue = usePresentationWithDefault(presentation, false, { products: [] });\n\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2CInternals(client).networkClient.logEvent({\n name: 'render_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://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n return (\n <GlobalContextProvider\n client={client}\n config={{} as StytchLoginConfig}\n callbacks={callbacks}\n initialState={DEFAULT_STATE}\n >\n <IDPContextProvider consentManifestGenerator={getIDPConsentManifest} authTokenParams={authTokenParams}>\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","'use client';\n\nimport { PermissionsMap, Session, StytchProjectConfigurationInput, User } from '@stytch/core/public';\nimport { mergeWithStableProps } from '@stytch/js-utils';\nimport React, {\n ComponentType,\n createContext,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\n\nimport { StytchClient } from '../../../StytchClient';\nimport { isStytchSSRProxy } from '../bindings/StytchSSRProxy';\nimport { useAsyncState } from '../utils/async';\nimport { noProviderError, providerMustBeUniqueError } from '../utils/errors';\nimport { invariant } from '../utils/invariant';\n\n// There's no user facing strings in this file\n/* eslint-disable lingui/no-unlocalized-strings */\n\ntype StytchContext<TProjectConfiguration extends StytchProjectConfigurationInput> =\n | {\n isMounted: false;\n }\n | {\n isMounted: true;\n client: StytchClient<TProjectConfiguration>;\n };\n\ntype SWRUserUninitialized = {\n /**\n * Either the active {@link User} object, or null if the user is not logged in.\n */\n user: null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: false;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: false;\n};\n\ntype SWRUserInitialized = {\n /**\n * Either the active {@link User} object, or null if the user is not logged in.\n */\n user: User | null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: boolean;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: true;\n};\n\ntype SWRUser<TAlwaysInitialized extends boolean = boolean> = TAlwaysInitialized extends true\n ? SWRUserInitialized\n : SWRUserInitialized | SWRUserUninitialized;\n\nconst initialUser: SWRUserUninitialized = {\n user: null,\n fromCache: false,\n isInitialized: false,\n};\n\ntype SWRSessionUninitialized = {\n /**\n * Either the active {@link Session} object, or null if the user is not logged in.\n */\n session: null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: false;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: false;\n};\n\ntype SWRSessionInitialized = {\n /**\n * Either the active {@link Session} object, or null if the user is not logged in.\n */\n session: Session | null;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: boolean;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: true;\n};\n\ntype SWRSession<TAlwaysInitialized extends boolean = boolean> = TAlwaysInitialized extends true\n ? SWRSessionInitialized\n : SWRSessionInitialized | SWRSessionUninitialized;\n\nconst initialSession: SWRSessionUninitialized = {\n session: null,\n fromCache: false,\n isInitialized: false,\n};\n\nconst StytchContext = createContext<StytchContext<StytchProjectConfigurationInput>>({ isMounted: false });\nconst StytchUserContext = createContext<SWRUser>(initialUser);\nconst StytchSessionContext = createContext<SWRSession>(initialSession);\n\nexport const useIsMounted__INTERNAL = (): boolean => useContext(StytchContext).isMounted;\n\n/**\n * Returns the active User.\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 user data is from persistent storage.\n * @example\n * const {user, isInitialized, fromCache} = useStytchUser();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return (<h1>Welcome, {user.name.first_name}</h1>);\n */\nexport const useStytchUser = <TAssumeHydrated extends boolean = false>(): SWRUser<TAssumeHydrated> => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useStytchUser'));\n return useContext(StytchUserContext) as SWRUser<TAssumeHydrated>;\n};\n\n/**\n * Returns the active user's Stytch 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} = useStytchSession();\n * useEffect(() => {\n * if (!isInitialized) {\n * return;\n * }\n * if (!session) {\n * router.replace('/login')\n * }\n * }, [session, isInitialized]);\n */\nexport const useStytchSession = <TAssumeHydrated extends boolean = false>(): SWRSession<TAssumeHydrated> => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useStytchSession'));\n return useContext(StytchSessionContext) as SWRSession<TAssumeHydrated>;\n};\n\n/**\n * Returns the Stytch client stored in the Stytch context.\n *\n * @example\n * const stytch = useStytch();\n * useEffect(() => {\n * stytch.magicLinks.authenticate('...')\n * }, [stytch]);\n */\nexport const useStytch = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>(): StytchClient<TProjectConfiguration> => {\n const ctx = useContext(StytchContext);\n invariant(ctx.isMounted, noProviderError('useStytch'));\n return ctx.client as StytchClient<TProjectConfiguration>;\n};\n\nexport const withStytch = <\n T extends object,\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>(\n Component: ComponentType<T & { stytch: StytchClient<TProjectConfiguration> }>,\n): ComponentType<T> => {\n const WithStytch: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('withStytch'));\n return <Component {...props} stytch={useStytch()} />;\n };\n WithStytch.displayName = `withStytch(${Component.displayName || Component.name || 'Component'})`;\n return WithStytch;\n};\n\nexport const withStytchUser = <T extends object, TAssumeHydrated extends boolean = false>(\n Component: ComponentType<\n T & { stytchUser: User | null; stytchUserIsInitialized: boolean; stytchUserIsFromCache: boolean }\n >,\n): ComponentType<T> => {\n const WithStytchUser: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('withStytchUser'));\n const { user, isInitialized, fromCache } = useStytchUser<TAssumeHydrated>();\n return (\n <Component\n {...props}\n stytchUser={user}\n stytchUserIsInitialized={isInitialized}\n stytchUserIsFromCache={fromCache}\n />\n );\n };\n WithStytchUser.displayName = `withStytchUser(${Component.displayName || Component.name || 'Component'})`;\n return WithStytchUser;\n};\n\nexport const withStytchSession = <T extends object, TAssumeHydrated extends boolean = false>(\n Component: ComponentType<\n T & { stytchSession: Session | null; stytchSessionIsInitialized: boolean; stytchSessionIsFromCache: boolean }\n >,\n): ComponentType<T> => {\n const WithStytchSession: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('withStytchSession'));\n const { session, isInitialized, fromCache } = useStytchSession<TAssumeHydrated>();\n return (\n <Component\n {...props}\n stytchSession={session}\n stytchSessionIsInitialized={isInitialized}\n stytchSessionIsFromCache={fromCache}\n />\n );\n };\n WithStytchSession.displayName = `withStytchSession(${Component.displayName || Component.name || 'Component'})`;\n return WithStytchSession;\n};\n\ntype SWRIsAuthorizedUninitialized = {\n /**\n * Whether the logged-in user is allowed to perform the specified action on the specified resource.\n */\n isAuthorized: false;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: false;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: false;\n};\n\ntype SWRIsAuthorizedInitialized = {\n /**\n * Whether the logged-in user is allowed to perform the specified action on the specified resource.\n */\n isAuthorized: boolean;\n /**\n * If true, indicates that the value returned is from the application cache and a state refresh is in progress.\n */\n fromCache: boolean;\n /**\n * If true, indicates that the SDK has completed initialization.\n */\n isInitialized: boolean;\n};\n\ntype SWRIsAuthorized<TAlwaysInitialized extends boolean> = TAlwaysInitialized extends true\n ? SWRIsAuthorizedInitialized\n : SWRIsAuthorizedInitialized | SWRIsAuthorizedUninitialized;\n\n/**\n * Determines whether the logged-in user is allowed to perform the specified action on the specified resource.\n * Returns `true` if the user can perform the action, `false` otherwise.\n *\n * If the user 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 = <TAssumeHydrated extends boolean = false>(\n resourceId: string,\n action: string,\n): SWRIsAuthorized<TAssumeHydrated> => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useStytchIsAuthorized', 'StytchProvider'));\n const client = useStytch();\n const { user } = useStytchUser();\n const [isAuthorized, setIsAuthorized] = useAsyncState<SWRIsAuthorized<boolean>>({\n isInitialized: false,\n fromCache: false,\n isAuthorized: false,\n });\n\n useEffect(() => {\n if (isStytchSSRProxy(client)) {\n return;\n }\n\n setIsAuthorized({\n isInitialized: true,\n fromCache: true,\n isAuthorized: client.rbac.isAuthorizedSync(resourceId, action),\n });\n }, [action, client, resourceId, setIsAuthorized]);\n\n useEffect(() => {\n if (isStytchSSRProxy(client)) {\n return;\n }\n client.rbac.isAuthorized(resourceId, action).then((isAuthorized) => {\n setIsAuthorized({ isAuthorized, fromCache: false, isInitialized: true });\n });\n }, [client, user?.roles, resourceId, action, setIsAuthorized]);\n\n return isAuthorized;\n};\n\ntype permissionsLoaded<Permissions extends Record<string, string>> =\n | {\n loaded: false;\n value: null;\n }\n | {\n loaded: true;\n value: PermissionsMap<Permissions>;\n };\n\n/**\n * Wrap your component with this HOC in order to receive the permissions for the logged-in user.\n * Evaluates all permissions granted to the logged-in user.\n * Returns a Record<RoleId, Record<Action, boolean>> response indicating the user's permissions.\n * Each boolean will be `true` if the user can perform the action, `false` otherwise.\n *\n * If the user is not logged in, all values will be false.\n *\n * Remember - authorization checks for sensitive actions should always occur on the backend as well.\n * @example\n * type Permissions = {\n * document: 'create' | 'read' | 'write\n * image: 'create' | 'read'\n * }\n *\n * const MyComponent = (props) => {\n * const canEditDocuments = props.stytchPermissions.document.edit;\n * const canReadImages = props.stytchPermissions.image.read;\n * }\n * return withStytchPermissions<Permissions>(MyComponent)\n */\nexport const withStytchPermissions = <Permissions extends Record<string, string>, T extends object>(\n Component: ComponentType<T & { stytchPermissions: PermissionsMap<Permissions> }>,\n): ComponentType<T> => {\n const WithStytchPermissions: ComponentType<T> = (props) => {\n invariant(useIsMounted__INTERNAL(), noProviderError('useRBACPermissions', 'StytchProvider'));\n const client = useStytch();\n const { user } = useStytchUser();\n const [permissions, setPermissions] = useAsyncState<permissionsLoaded<Permissions>>({ loaded: false, value: null });\n\n useEffect(() => {\n client.rbac.allPermissions<Permissions>().then((permissions) => {\n setPermissions({ loaded: true, value: permissions });\n });\n }, [client, user?.roles, setPermissions]);\n\n if (!permissions.loaded) {\n return null;\n }\n return <Component {...props} stytchPermissions={permissions.value} />;\n };\n WithStytchPermissions.displayName = `withStytchPermissions(${\n Component.displayName || Component.name || 'Component'\n })`;\n return WithStytchPermissions;\n};\n\nexport interface StytchProviderProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n /**\n * A Stytch client instance, created using either {@link createStytchHeadlessClient} or {@link createStytchClient}\n */\n stytch: StytchClient<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 * This value defaults to `false` in `@stytch/nextjs`.\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 = createStytchClient('public-token-<find yours in the stytch dashboard>')\n *\n * return (\n * <StytchProvider stytch={stytch}>\n * <App />\n * </StytchProvider>\n * )\n */\nexport const StytchProvider = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>({\n stytch,\n children,\n assumeHydrated = false,\n}: StytchProviderProps<TProjectConfiguration>) => {\n invariant(!useIsMounted__INTERNAL(), providerMustBeUniqueError);\n invariant(\n !assumeHydrated || typeof window !== 'undefined',\n 'The `assumeHydrated` prop must be set to `false` when using StytchProvider in a server environment.',\n );\n\n const ctx = useMemo(() => ({ client: stytch, isMounted: true }), [stytch]);\n\n type ClientState<TAlwaysInitialized extends boolean> = {\n session: SWRSession<TAlwaysInitialized>;\n user: SWRUser<TAlwaysInitialized>;\n };\n\n const getHydratedState = useCallback(() => {\n return {\n session: { ...stytch.session.getInfo(), isInitialized: true },\n user: { ...stytch.user.getInfo(), isInitialized: true },\n } satisfies ClientState<true>;\n }, [stytch]);\n\n const getInitialState = () => {\n return {\n session: initialSession,\n user: initialUser,\n } satisfies ClientState<false>;\n };\n\n const [{ user, session }, setClientState] = useAsyncState<ClientState<boolean>>(() =>\n assumeHydrated ? getHydratedState() : (getInitialState() as ClientState<boolean>),\n );\n\n // Store the initial value of `assumeHydrated` in a ref, because it is\n // logically only relevant for the first render\n const assumeHydratedRef = useRef(assumeHydrated);\n useEffect(() => {\n if (isStytchSSRProxy(stytch)) {\n return;\n }\n\n const updateState = () => {\n setClientState((oldState) => mergeWithStableProps(oldState, getHydratedState()));\n };\n\n if (!assumeHydratedRef.current) {\n updateState();\n }\n\n return stytch.onStateChange(updateState);\n }, [getHydratedState, setClientState, stytch]);\n\n return (\n <StytchContext.Provider value={ctx}>\n <StytchUserContext.Provider value={user}>\n <StytchSessionContext.Provider value={session}>{children}</StytchSessionContext.Provider>\n </StytchUserContext.Provider>\n </StytchContext.Provider>\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 { StytchClient } from '../../../StytchClient';\nimport { PresentationConfig, StytchLoginConfig } from '../../../types';\nimport { useIsMounted__INTERNAL, useStytch } from '../b2c/StytchContext';\nimport { noProviderError, serverRenderError } from '../utils/errors';\nimport { invariant } from '../utils/invariant';\n\n// Mirrors createB2BComponent and createWebComponent\nexport function createB2CComponent<\n Props extends {\n client: StytchClient<TProjectConfiguration>;\n config?: StytchLoginConfig;\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 = useStytch<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, IDPConsentManifestGenerator } from '../../../types';\nimport { IDPContainer } from '../../b2c/IDPContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\nimport { StytchProps } from './StytchLogin';\n\nexport type IdentityProviderProps = Omit<StytchProps, 'config'> & {\n /**\n * Optional {@link IDPConsentManifestGenerator} to customize the consent screen.\n */\n getIDPConsentManifest?: IDPConsentManifestGenerator;\n /**\n * Optional {@link AuthTokenParams} to provide a trusted auth token to provide for attestation prior to running OAuth flow.\n */\n authTokenParams?: AuthTokenParams;\n};\n\n/**\n * The Stytch 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 UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <IdentityProvider\n * presentation={{\n * theme: { primary: '#ff00f7' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const IdentityProvider = /* @__PURE__ */ createB2CComponent('IdentityProvider', IDPContainer);\n","import { OAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { getShouldRenderFloatingOneTap } from '../../oneTap/positionModes';\nimport { StytchLoginConfig } from '../../types';\nimport { hasProduct } from '../b2c/utils';\n\nexport const useIsOnlyFloatingOneTap = (config: StytchLoginConfig) => {\n return useMemo(() => {\n const position = config.oauthOptions?.providers[0].position;\n return (\n config.products.length === 1 &&\n hasProduct(config.products, 'oauth') &&\n config.oauthOptions?.providers.length === 1 &&\n config.oauthOptions?.providers[0].type === OAuthProviders.Google &&\n config.oauthOptions?.providers[0].one_tap === true &&\n getShouldRenderFloatingOneTap(position)\n );\n }, [config]);\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchEventType, StytchProjectConfigurationInput, WebAuthnAuthenticateResponse } from '@stytch/core/public';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { extractErrorMessage } from '../../utils/extractErrorMessage';\nimport { extractErrorType } from '../../utils/extractErrorType';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../b2c/GlobalContextProvider';\nimport { hasProduct } from '../b2c/utils';\n\nconst MAX_ATTEMPTS = 5;\n\nexport type StartPasskeyAuth = () => Promise<WebAuthnAuthenticateResponse<StytchProjectConfigurationInput>>;\n\nexport const usePromptPasskey = ({\n canAutofill,\n shadowDOM,\n}: {\n canAutofill: boolean;\n shadowDOM: boolean;\n}): [startPasskeyAuth: StartPasskeyAuth, error: string | undefined] => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const [, dispatch] = useGlobalReducer();\n\n const [error, setError] = useState<string>();\n\n const startPasskeyAuth = useCallback(\n async ({\n conditionalMediation = false,\n abortController,\n }: {\n conditionalMediation?: boolean;\n abortController?: AbortController;\n } = {}) => {\n try {\n const resp = await stytchClient.webauthn.authenticate({\n domain: config.passkeyOptions?.domain,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n conditional_mediation: conditionalMediation,\n is_passkey: true,\n signal: abortController?.signal,\n disable_input_check: shadowDOM,\n });\n\n if (!resp) {\n throw new Error('Empty response');\n }\n\n onEvent({ type: StytchEventType.PasskeyAuthenticate, data: resp });\n dispatch({ type: 'transition', screen: AppScreens.PasskeyConfirmation });\n return resp;\n } catch (e) {\n if (extractErrorType(e) === 'webauthn_registration_not_found') {\n setError(\n t({\n id: 'error.passkeyRegistrationNotFound',\n message:\n 'Passkey registration not found. You may have deleted the passkey from your account but not password manager. Please try again.',\n }),\n );\n } else if (e instanceof Error && e.name === 'StytchAPIError') {\n setError(\n t({\n id: 'error.passkeyUnknown',\n message: 'Unknown error occurred during passkey authentication. Please try again.',\n }),\n );\n }\n\n const message = extractErrorMessage(e);\n if (message) {\n onError({ message });\n }\n\n throw e;\n }\n },\n [\n shadowDOM,\n config.passkeyOptions?.domain,\n config.sessionOptions?.sessionDurationMinutes,\n dispatch,\n onError,\n onEvent,\n stytchClient.webauthn,\n t,\n ],\n );\n\n useEffect(() => {\n if (!hasPasskeys || !canAutofill) {\n return;\n }\n\n // Skip passkey authentication in Storybook environment\n if (process.env.STORYBOOK) {\n return;\n }\n\n const abortController = new AbortController();\n (async () => {\n if (!(await stytchClient.webauthn.browserSupportsAutofill())) {\n return;\n }\n\n for (let i = 0; i < MAX_ATTEMPTS; ++i) {\n if (abortController.signal.aborted) {\n return;\n }\n\n try {\n await startPasskeyAuth({ abortController, conditionalMediation: true });\n return;\n } catch (e) {\n // User denied permission\n if (e instanceof DOMException && e.name === 'NotAllowedError') {\n return;\n }\n\n // Otherwise swallow error\n }\n }\n })();\n\n return () => {\n abortController.abort();\n };\n }, [canAutofill, hasPasskeys, startPasskeyAuth, stytchClient.webauthn]);\n\n return [startPasskeyAuth, error];\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEV } from '@stytch/core';\nimport React, { useEffect, useState } from 'react';\n\nimport { isTruthy } from '../../../../utils/isTruthy';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport Divider from '../../../components/molecules/Divider';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { usePresentation } from '../../../components/PresentationConfig';\nimport { usePromptPasskey } from '../../../hooks/usePromptPasskey';\nimport { useConfig, useStytch } from '../../GlobalContextProvider';\nimport { MainScreenGroup, MainScreenKey } from '../../StytchProduct';\nimport { hasProduct, useProductComponents } from '../../utils';\n\nexport const MainScreen = () => {\n const stytchClient = useStytch();\n const config = useConfig();\n\n const { options } = usePresentation();\n const { t } = useLingui();\n const [mainScreenGroups, setMainScreenGroups] = useState<MainScreenGroup[]>([]);\n\n const { products, oauthOptions } = config;\n const hasButtons = (hasProduct(products, 'oauth') && oauthOptions) || hasProduct(products, 'crypto');\n const hasPasskeys = hasProduct(products, 'passkeys');\n const hasInput =\n hasProduct(products, 'emailMagicLinks') || hasProduct(products, 'otp') || hasProduct(products, 'passwords');\n\n const [startPasskeyAuth, passkeyError] = usePromptPasskey({\n canAutofill: hasInput,\n shadowDOM: Boolean(options.enableShadowDOM),\n });\n const productComponents = useProductComponents(products, 'mainScreen')!;\n\n useEffect(() => {\n const loadProductComponents = async () => {\n // Deduplicate components mapped from products\n const keys = Array.from(\n new Set<MainScreenKey>(\n products\n .map((product) => {\n switch (product.id) {\n case 'oauth':\n case 'crypto':\n return product.id;\n case 'emailMagicLinks':\n case 'otp':\n case 'passwords':\n return 'login-form';\n }\n })\n .filter(isTruthy),\n ),\n );\n\n const showDivider = hasButtons && hasInput;\n if (keys.length > 1 && showDivider) {\n keys.splice(-1, 0, 'divider');\n }\n\n // Add a passkey button if the user has configured passkeys, don't have a login form,\n // or the browser does not support autofill\n if (hasPasskeys && (!hasInput || !(await stytchClient.webauthn.browserSupportsAutofill()))) {\n keys.unshift('passkey-button');\n }\n\n // Group Wallet and Oauth buttons (basically going from [Password, Wallet, OAuth] to [Password, [Wallet, OAuth]])\n // This reassignment is only there to make TS happy - .splice mutates, and groups === keys\n // so it is not really needed\n const groups: MainScreenGroup[] = keys;\n const walletIndex = keys.indexOf('crypto');\n const oauthIndex = keys.indexOf('oauth');\n if (walletIndex !== -1 && oauthIndex !== -1 && Math.abs(walletIndex - oauthIndex) === 1) {\n const index = Math.min(walletIndex, oauthIndex);\n groups.splice(index, 0, keys.splice(index, 2));\n }\n\n setMainScreenGroups(groups);\n };\n\n loadProductComponents();\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, []);\n\n if (hasPasskeys && products.length === 1)\n return (\n <Typography variant=\"helper\" color=\"destructive\">\n {DEV('Error: Cannot use Passkeys by itself, please add another product to the config.')}\n </Typography>\n );\n\n const props = { startPasskeyAuth };\n const renderComponent = (key: MainScreenGroup, index: number) => {\n if (Array.isArray(key)) {\n return (\n <Column gap={2} key={index}>\n {key.map(renderComponent)}\n </Column>\n );\n }\n\n if (key === 'divider') {\n return <Divider key={index} />;\n }\n\n const Component = productComponents[key];\n return <Component key={key} {...props} />;\n };\n\n return (\n <Column gap={6}>\n {!options.hideHeaderText && (\n <Typography variant=\"header\" align=\"center\">\n {t({ id: 'login.title', message: 'Sign up or log in' })}\n </Typography>\n )}\n\n {passkeyError && <ErrorText>{passkeyError}</ErrorText>}\n\n {mainScreenGroups.map(renderComponent)}\n </Column>\n );\n};\n","import React, { ReactNode } from 'react';\n\nimport Logo from '../components/atoms/Logo';\nimport MainContainer from '../components/molecules/MainContainer';\nimport { usePresentation } from '../components/PresentationConfig';\nimport { useIsOnlyFloatingOneTap } from '../hooks/useIsOnlyFloatingOneTap';\nimport { AppScreens, useConfig, useGlobalReducer } from './GlobalContextProvider';\nimport { MainScreen } from './screens/Main';\nimport { useProductComponents } from './utils';\n\nconst AppContainer: () => null | ReactNode = () => {\n const [state] = useGlobalReducer();\n const config = useConfig();\n const { displayWatermark, theme, options } = usePresentation();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap(config);\n const currentScreen = state.screen;\n\n const screenComponentMap = useProductComponents(config.products, 'screens');\n\n if (isOnlyFloatingOneTap) {\n const { FloatingOneTap } = screenComponentMap;\n return <FloatingOneTap />;\n }\n\n // MainScreen is omitted from StytchProduct since it's used by everything\n const ScreenComponent = currentScreen === AppScreens.Main ? MainScreen : screenComponentMap[currentScreen];\n return (\n <MainContainer theme={theme} displayWatermark={displayWatermark}>\n {options.logo && <Logo appLogo={options.logo} />}\n\n <ScreenComponent />\n </MainContainer>\n );\n};\n\nexport default AppContainer;\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, SDKConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { GlobalContextProvider } from './GlobalContextProvider';\n\nexport const AppContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n config,\n presentation,\n callbacks,\n strings,\n styles,\n}: SDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n // Read the watermark out of sync storage, then read it out of async storage\n const [displayWatermark, setDisplayWatermark] = useState(() => {\n const { displayWatermark } = readB2CInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then((data) => {\n readB2CInternals(client).networkClient.logEvent({\n name: 'render_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 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://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n const presentationValue = usePresentationWithDefault(presentation, displayWatermark, config, 'Products');\n\n return (\n <GlobalContextProvider client={client} config={config} callbacks={callbacks}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { Callbacks, StringsOptions, StytchProjectConfigurationInput } from '@stytch/core/public';\n\nimport { PresentationConfig, StytchLoginConfig } from '../../../types';\nimport { AppContainer } from '../../b2c/AppContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\n\nexport interface StytchProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> extends StringsOptions {\n /**\n * A {@link StytchLoginConfig} object. Add products and product-specific config to this object to change the login methods shown.\n *\n * @example\n * {\n * products: [Products.crypto, Products.otp]\n * }\n *\n * @example\n * {\n * products: [Products.emailMagicLinks]\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * }\n * }\n *\n * @example\n * {\n * products: [Products.oauth]\n * oauthOptions: {\n * providers: [\n * { type: 'google', one_tap: true, position: 'embedded' },\n * { type: 'microsoft' },\n * { type: 'apple' },\n * { type: 'facebook' },\n * ],\n * }\n * }\n */\n config: StytchLoginConfig;\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 login screen error', message)\n * }\n * }\n *\n * @example\n * {\n * onEvent: ({type, data}) => {\n * if(type === StytchEventType.CryptoWalletAuthenticate) {\n * console.log('Logged in with crypto wallet', data);\n * }\n * }\n * }\n */\n callbacks?: Callbacks<TProjectConfiguration>;\n}\n\n/**\n * The Stytch Login Screen component.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <StytchLogin\n * config={{\n * products: [Products.emailMagicLinks, Products.oauth],\n * emailMagicLinksOptions: {\n * loginRedirectURL: 'https://example.com/authenticate',\n * signupRedirectURL: 'https://example.com/authenticate',\n * },\n * oauthOptions: {\n * providers: [{ type: OAuthProviders.Google }, { type: OAuthProviders.Microsoft }],\n * },\n * }}\n * presentation={{\n * theme: { primary: '#0577CA' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchLogin = /* @__PURE__ */ createB2CComponent('StytchLogin', AppContainer);\n","import { OAuthProviders } from '@stytch/core/public';\nimport { useMemo } from 'react';\n\nimport { readB2CInternals } from '../../../../utils/internal';\nimport { safeLocalStorage } from '../../../../utils/storage';\nimport { useStytch } from '../../GlobalContextProvider';\n\nexport function useLastUsedOAuth() {\n const stytch = useStytch();\n const { publicToken } = readB2CInternals(stytch);\n\n const lastUsedOAuth = useMemo(() => safeLocalStorage.getItem(publicToken, 'b2c_last_used_oauth'), [publicToken]);\n const setLastUsedOAuth = (providerType: OAuthProviders) => {\n safeLocalStorage.setItem(publicToken, 'b2c_last_used_oauth', providerType);\n };\n\n return [lastUsedOAuth, setLastUsedOAuth] as const;\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 { OAuthProviders } 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 { useStytch } from '../GlobalContextProvider';\nimport type { oauthIcons } from './Icons';\n\ninterface ProviderInfo {\n messageDescriptor: MessageDescriptor;\n}\n\nconst providerInfo = {\n [OAuthProviders.Google]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGoogle', message: 'Continue with Google' }),\n },\n [OAuthProviders.Microsoft]: {\n messageDescriptor: msg({ id: 'oauth.continueWithMicrosoft', message: 'Continue with Microsoft' }),\n },\n [OAuthProviders.Apple]: {\n messageDescriptor: msg({ id: 'oauth.continueWithApple', message: 'Continue with Apple' }),\n },\n [OAuthProviders.Github]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGitHub', message: 'Continue with GitHub' }),\n },\n [OAuthProviders.GitLab]: {\n messageDescriptor: msg({ id: 'oauth.continueWithGitLab', message: 'Continue with GitLab' }),\n },\n [OAuthProviders.Facebook]: {\n messageDescriptor: msg({ id: 'oauth.continueWithFacebook', message: 'Continue with Facebook' }),\n },\n [OAuthProviders.Discord]: {\n messageDescriptor: msg({ id: 'oauth.continueWithDiscord', message: 'Continue with Discord' }),\n },\n [OAuthProviders.Salesforce]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSalesforce', message: 'Continue with Salesforce' }),\n },\n [OAuthProviders.Slack]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSlack', message: 'Continue with Slack' }),\n },\n [OAuthProviders.Amazon]: {\n messageDescriptor: msg({ id: 'oauth.continueWithAmazon', message: 'Continue with Amazon' }),\n },\n [OAuthProviders.Bitbucket]: {\n messageDescriptor: msg({ id: 'oauth.continueWithBitbucket', message: 'Continue with Bitbucket' }),\n },\n [OAuthProviders.LinkedIn]: {\n messageDescriptor: msg({ id: 'oauth.continueWithLinkedIn', message: 'Continue with LinkedIn' }),\n },\n [OAuthProviders.Coinbase]: {\n messageDescriptor: msg({ id: 'oauth.continueWithCoinbase', message: 'Continue with Coinbase' }),\n },\n [OAuthProviders.Twitch]: {\n messageDescriptor: msg({ id: 'oauth.continueWithTwitch', message: 'Continue with Twitch' }),\n },\n [OAuthProviders.Twitter]: {\n messageDescriptor: msg({ id: 'oauth.continueWithX', message: 'Continue with X' }),\n },\n [OAuthProviders.TikTok]: {\n messageDescriptor: msg({ id: 'oauth.continueWithTikTok', message: 'Continue with TikTok' }),\n },\n [OAuthProviders.Snapchat]: {\n messageDescriptor: msg({ id: 'oauth.continueWithSnapchat', message: 'Continue with Snapchat' }),\n },\n [OAuthProviders.Figma]: {\n messageDescriptor: msg({ id: 'oauth.continueWithFigma', message: 'Continue with Figma' }),\n },\n [OAuthProviders.Yahoo]: {\n messageDescriptor: msg({ id: 'oauth.continueWithYahoo', message: 'Continue with Yahoo' }),\n },\n} satisfies Record<OAuthProviders, ProviderInfo>;\n\ntype Props = {\n providerType: StringLiteralFromEnum<OAuthProviders>;\n loginRedirectUrl?: string;\n signupRedirectUrl?: string;\n customScopes?: string[];\n providerParams?: Record<string, string>;\n onSuccess?: () => void;\n};\n\nexport const OAuthButton = ({\n providerType,\n loginRedirectUrl,\n signupRedirectUrl,\n customScopes,\n providerParams,\n onSuccess,\n}: Props) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const presentation = usePresentation();\n const iconRegistry: IconRegistry<keyof typeof oauthIcons> = 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\n const iconName = providerType === 'twitter' ? 'xTwitter' : providerType;\n const Icon = iconRegistry[iconName];\n\n label = t(messageDescriptor);\n icon = <Icon />;\n }\n\n const onButtonClick = async () => {\n await stytchClient.oauth[providerType].start({\n login_redirect_url: loginRedirectUrl,\n signup_redirect_url: signupRedirectUrl,\n custom_scopes: customScopes,\n provider_params: providerParams,\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, StringLiteralFromEnum } from '@stytch/core';\nimport { OAuthProviders, OneTapPositions } from '@stytch/core/public';\nimport classNames from 'classnames';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { GoogleOneTapClient } from '../../../oneTap/GoogleOneTapClient';\nimport { OneTapProvider } from '../../../oneTap/OneTapProvider';\nimport { getRenderedOneTapMode } from '../../../oneTap/positionModes';\nimport { readB2CInternals } from '../../../utils/internal';\nimport { CircularProgress } from '../../components/atoms/CircularProgress';\nimport LastUsed from '../../components/molecules/LastUsed';\nimport { ErrorMessages, OneTapErrors } from '../../components/organisms/OneTapError';\nimport { usePresentation } from '../../components/PresentationConfig';\nimport { useIsMounted } from '../../hooks/useIsMounted';\nimport { useIsOnlyFloatingOneTap } from '../../hooks/useIsOnlyFloatingOneTap';\nimport { useConfig, useStytch } from '../GlobalContextProvider';\nimport { useLastUsedOAuth } from '../screens/Main/useLastUsedOAuth';\nimport styles from './GoogleOneTap.module.css';\nimport { OAuthButton } from './OAuthButton';\n\ntype Props = {\n position?: StringLiteralFromEnum<OneTapPositions>;\n customScopes?: string[];\n providerParams?: Record<string, string>;\n cancelOnTapOutside?: boolean;\n};\n\nconst OAUTH_BUTTON_HEIGHT = 38;\n\n// See WebComponents.tsx - when using shadow DOM, the Google script cannot see the\n// mount point, so we render it outside and use slot to bring it back in\nconst OneTapMountNode = ({ enableShadowDOM }: { enableShadowDOM: boolean | undefined }) =>\n enableShadowDOM ? (\n <slot name=\"one-tap\"></slot>\n ) : (\n <div data-prompt_parent_id=\"g_id_onload\" id=\"google-parent-prompt\" />\n );\n\nexport const GoogleOneTap = ({ position, customScopes, providerParams, cancelOnTapOutside }: Props) => {\n const oneTapRenderMode = getRenderedOneTapMode(position);\n const shouldRenderEmbeddedOneTap = oneTapRenderMode === 'embedded';\n const shouldRenderOneTap = !!oneTapRenderMode;\n\n const config = useConfig();\n const stytch = useStytch();\n const isOnlyFloatingOneTap = useIsOnlyFloatingOneTap(config);\n const [pending, setPending] = useState(shouldRenderEmbeddedOneTap);\n const [canDisplayOneTap, setCanDisplayOneTap] = useState(true);\n const [height, setHeight] = useState(OAUTH_BUTTON_HEIGHT);\n const [oneTapError, setOneTapError] = useState<OneTapErrors>();\n const resizeCount = useRef(0);\n const timeout = useRef<number>();\n const isMounted = useIsMounted();\n const [lastUsedMethod, setLastUsedOAuth] = useLastUsedOAuth();\n const { options } = usePresentation();\n\n /*\n * Begin One Tap Render Smoothing Logic\n */\n // Gets height of rendered one-tap UI, and sets the container height to that.\n // Animation is added for a smoother transition,\n const onResize = useCallback<ResizeObserverCallback>(([el]) => {\n if (timeout.current != null) {\n clearTimeout(timeout.current);\n }\n // On initial load, the one-tap ui rapidly changes heights 3 times. Checking\n // the resizeCount lets us debounce the first 2 resizes, so they will get\n // cancelled, but if they don't, it will resize after the short delay.\n if (resizeCount.current > 1) {\n // While setting the height, if the contentRect height is 0, it could also mean that the\n // oauthOptions props are being changed, and in that scenario if we can continue to display\n // one tap, we are setting the container height to the current height. If one tap cannot display\n // one tap, we will set the container height to the height of the button component.\n // Else we will set the height to the contentRect height.\n setHeight((currentHeight) =>\n el.contentRect.height === 0 ? (canDisplayOneTap ? currentHeight : OAUTH_BUTTON_HEIGHT) : el.contentRect.height,\n );\n } else {\n timeout.current = window.setTimeout(\n () =>\n setHeight((currentHeight) =>\n el.contentRect.height === 0\n ? canDisplayOneTap\n ? currentHeight\n : OAUTH_BUTTON_HEIGHT\n : el.contentRect.height,\n ),\n 100,\n );\n }\n resizeCount.current++;\n // eslint-disable-next-line react-hooks/exhaustive-deps -- SDK-1354\n }, []);\n\n // If we are in embedded mode, initialize the resize observer and bind it to the React callback\n useEffect(() => {\n if (shouldRenderEmbeddedOneTap) {\n const el = document.getElementById('google-parent-prompt');\n if (el) {\n const resizeObserver = new ResizeObserver(onResize);\n resizeObserver.observe(el);\n return () => resizeObserver.disconnect();\n }\n }\n }, [onResize, shouldRenderEmbeddedOneTap]);\n /*\n * End One Tap Render Smoothing Logic\n */\n\n /*\n * Begin One Tap Loading / Initialization Logic\n */\n //\n const attemptToLoadOneTap = useCallback(async () => {\n if (!shouldRenderOneTap) {\n return;\n }\n\n const { oneTap } = readB2CInternals(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 === 'no_signup_redirect_urls_set') {\n setOneTapError(OneTapErrors.NoConfiguredSignupRedirectUrls);\n } else if (clientResult.reason === 'no_login_redirect_urls_set') {\n setOneTapError(OneTapErrors.NoConfiguredLoginRedirectUrls);\n } else {\n logger.error('Unable to load One Tap settings for project', clientResult);\n }\n return;\n }\n const { client } = clientResult;\n\n const onOneTapCancelled = (showError?: boolean) => {\n setCanDisplayOneTap(false);\n setHeight(OAUTH_BUTTON_HEIGHT);\n if (showError) {\n setOneTapError(OneTapErrors.OriginNotAllowedForClient);\n }\n };\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.\n * If the element does not exist, 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 const renderResult = await client.render({\n callback: oneTap.createOnSuccessHandler({\n loginRedirectUrl: config.oauthOptions?.loginRedirectURL,\n signupRedirectUrl: config.oauthOptions?.signupRedirectURL,\n onSuccess: oneTap.redirectOnSuccess,\n }),\n onOneTapCancelled,\n style: { position },\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 setCanDisplayOneTap(renderResult.success);\n setPending(false);\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 shouldRenderOneTap,\n stytch,\n isMounted,\n config.oauthOptions?.loginRedirectURL,\n config.oauthOptions?.signupRedirectURL,\n position,\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 setCanDisplayOneTap(false);\n setPending(false);\n });\n return () => client?.cancel();\n }, [attemptToLoadOneTap]);\n /*\n * End One Tap Loading / Initialization Logic\n */\n\n // Fallback Google auth button in case One Tap cannot be displayed\n const fallbackButton = (\n <OAuthButton\n providerType={OAuthProviders.Google}\n loginRedirectUrl={config.oauthOptions?.loginRedirectURL}\n signupRedirectUrl={config.oauthOptions?.signupRedirectURL}\n customScopes={customScopes}\n providerParams={providerParams}\n onSuccess={() => setLastUsedOAuth(OAuthProviders.Google)}\n />\n );\n\n const fallbackWithLastUsed =\n lastUsedMethod === OAuthProviders.Google ? <LastUsed>{fallbackButton}</LastUsed> : fallbackButton;\n\n if (isOnlyFloatingOneTap) {\n return <OneTapMountNode enableShadowDOM={options.enableShadowDOM} />;\n }\n\n if (oneTapError) {\n return (\n <>\n {DEV(<ErrorMessages error={oneTapError} />)}\n {fallbackWithLastUsed}\n </>\n );\n }\n\n if (shouldRenderEmbeddedOneTap && OneTapProvider.willGoogleOneTapShowEmbedded()) {\n return (\n <div className={classNames(styles.container, { [styles.pending]: pending })} style={{ height: height + 'px' }}>\n {pending && <CircularProgress size={25} />}\n {canDisplayOneTap ? <OneTapMountNode enableShadowDOM={options.enableShadowDOM} /> : fallbackButton}\n </div>\n );\n }\n\n return fallbackWithLastUsed;\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 AmazonIcon = (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=\"#F90\"\n d=\"M16.5 15.53C9.2 19 4.69 16.1 1.8 14.33c-.19-.1-.5.03-.23.34.97 1.17 4.13 3.98 8.25 3.98s6.59-2.25 6.9-2.64c.3-.4.08-.6-.22-.48m2.04-1.13c-.2-.25-1.19-.3-1.81-.22s-1.57.45-1.49.68c.04.09.13.05.56.01s1.64-.2 1.9.14c.25.33-.4 1.9-.51 2.16s.04.32.25.15.6-.6.85-1.23c.25-.62.4-1.5.25-1.69\"\n />\n <path\n fill=\"#000\"\n fillRule=\"evenodd\"\n d=\"M11.6 8.46c0 .9.02 1.67-.44 2.47-.37.66-.96 1.06-1.62 1.06-.9 0-1.42-.68-1.42-1.69 0-1.99 1.79-2.35 3.48-2.35zm2.35 5.69a.5.5 0 0 1-.55.05c-.78-.64-.91-.94-1.34-1.55-1.28 1.3-2.19 1.7-3.85 1.7-1.96 0-3.5-1.22-3.5-3.64 0-1.9 1.03-3.19 2.5-3.82 1.26-.56 3.03-.66 4.39-.81v-.3c0-.56.04-1.22-.29-1.7-.28-.43-.83-.6-1.3-.6-.9 0-1.7.45-1.89 1.4-.04.21-.19.42-.4.43l-2.27-.25c-.19-.04-.4-.2-.34-.49C5.63 1.83 8.1 1 10.33 1c1.13 0 2.62.3 3.52 1.16 1.13 1.06 1.02 2.48 1.02 4.02v3.64c0 1.1.46 1.57.88 2.16.16.21.19.47 0 .63-.48.4-1.33 1.13-1.8 1.55z\"\n clipRule=\"evenodd\"\n className={_styles.darkInvert}\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 AppleIcon = (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=\"#000\"\n d=\"M16.55 7.14c-.1.08-1.86 1.12-1.86 3.43A4 4 0 0 0 17 14.2c0 .06-.35 1.3-1.18 2.56-.74 1.1-1.5 2.21-2.67 2.21s-1.47-.7-2.82-.7c-1.32 0-1.79.73-2.86.73S5.66 17.97 4.8 16.7c-1-1.48-1.8-3.78-1.8-5.96C3 7.25 5.17 5.4 7.31 5.4c1.14 0 2.09.78 2.8.78.68 0 1.74-.83 3.03-.83.5 0 2.26.05 3.41 1.79m-4.02-3.27c.53-.66.91-1.59.91-2.5q0-.22-.03-.37c-.87.03-1.9.6-2.53 1.36-.49.59-.95 1.5-.95 2.44 0 .14.03.28.04.33l.23.02c.78 0 1.76-.54 2.33-1.28\"\n className={_styles.darkInvert}\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 BinanceIcon = (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=\"#F3BA2F\"\n d=\"m6.43 8.56 3.5-3.5 3.49 3.5 2.03-2.03L9.92 1 4.4 6.53zM4.99 10 2.96 7.97.92 10l2.04 2.03zM6.43 11.44l3.5 3.5 3.49-3.5 2.03 2.03L9.92 19 4.4 13.47zM16.89 12.03 18.92 10 16.9 7.97 14.85 10z\"\n />\n <path fill=\"#F3BA2F\" d=\"M11.99 10 9.92 7.93 8.4 9.46l-.18.18-.36.36 2.06 2.07z\" />\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 BitbucketIcon = (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=\"#1868DB\"\n d=\"m17.96 9.14-1.34 8.08a.9.9 0 0 1-.93.78H4.3a.9.9 0 0 1-.93-.78L1.02 2.81c-.1-.5.17-.81.64-.81h16.68c.47 0 .73.32.64.8l-.64 3.8c-.09.55-.4.78-.93.78H7.37q-.23 0-.2.26l.79 4.78q.05.18.23.2h3.62q.17-.02.23-.2l.56-3.46c.05-.43.35-.6.75-.6h3.94c.58 0 .76.29.67.78\"\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 CoinbaseIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path fill=\"#0052FF\" d=\"M10.02 14.5a4.5 4.5 0 1 1 4.44-5.25H19a9 9 0 1 0 0 1.5h-4.54a4.5 4.5 0 0 1-4.44 3.75\" />\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 DiscordIcon = (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=\"#5865F2\"\n d=\"M12.53 3q-.26.44-.47.92a15 15 0 0 0-4.12 0q-.21-.47-.48-.92-1.93.3-3.72 1.1a13.8 13.8 0 0 0-2.66 9.72Q3.15 15.28 5.63 16q.56-.72.98-1.5a10 10 0 0 1-1.54-.7l.38-.27c2.88 1.3 6.22 1.3 9.1 0q.19.15.38.27a10 10 0 0 1-1.54.7q.41.8.98 1.5 2.48-.7 4.55-2.18c.38-3.69-.64-6.89-2.67-9.73a15 15 0 0 0-3.71-1.08zm-5.52 8.86c-.89 0-1.62-.77-1.62-1.72 0-.94.7-1.71 1.62-1.71.9 0 1.63.77 1.62 1.71-.02.95-.72 1.72-1.62 1.72m5.98 0c-.89 0-1.62-.77-1.62-1.72 0-.94.7-1.71 1.62-1.71.91 0 1.63.77 1.62 1.71-.02.95-.72 1.72-1.62 1.72\"\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 FacebookIcon = (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=\"#0866FF\"\n d=\"M19 10a9 9 0 1 0-11.17 8.73v-5.98H5.97V10h1.86V8.81c0-3.06 1.38-4.48 4.39-4.48.57 0 1.55.11 1.96.23v2.49q-.35-.03-1.04-.03c-1.48 0-2.05.55-2.05 2V10h2.94l-.5 2.75h-2.44v6.18A9 9 0 0 0 19 10\"\n />\n <path\n fill=\"#fff\"\n d=\"m13.53 12.75.5-2.75h-2.94v-.97c0-1.46.57-2.01 2.05-2.01q.7 0 1.04.03v-2.5a10 10 0 0 0-1.96-.22c-3 0-4.4 1.42-4.4 4.48V10H5.98v2.75h1.86v5.98a9 9 0 0 0 3.26.2v-6.18z\"\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 FigmaIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path fill=\"#24CB71\" d=\"M4 16a3 3 0 0 1 3-3h3v3a3 3 0 0 1-6 0\" />\n <path fill=\"#FF7237\" d=\"M10 1v6h3a3 3 0 0 0 0-6z\" />\n <path fill=\"#00B6FF\" d=\"M12.98 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" />\n <path fill=\"#FF3737\" d=\"M4 4a3 3 0 0 0 3 3h3V1H7a3 3 0 0 0-3 3\" />\n <path fill=\"#874FFF\" d=\"M4 10a3 3 0 0 0 3 3h3V7H7a3 3 0 0 0-3 3\" />\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 GitlabIcon = (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=\"#E24329\"\n d=\"m18.7 8.2-.03-.07-2.45-6.4A.65.65 0 0 0 15 1.8l-1.65 5.07h-6.7L5 1.8a.64.64 0 0 0-.97-.37.6.6 0 0 0-.25.3l-2.45 6.4-.03.06a4.55 4.55 0 0 0 1.51 5.26l.03.02 3.73 2.8 1.85 1.4 1.12.84c.27.21.65.21.92 0l1.12-.84 1.85-1.4 3.75-2.81.01-.01a4.55 4.55 0 0 0 1.5-5.26\"\n />\n <path\n fill=\"#FC6D26\"\n d=\"m18.7 8.2-.03-.07a8 8 0 0 0-3.29 1.48L10 13.68l3.43 2.59 3.75-2.81.01-.01a4.55 4.55 0 0 0 1.5-5.26\"\n />\n <path\n fill=\"#FCA326\"\n d=\"m6.57 16.27 1.85 1.4 1.12.84c.27.21.65.21.92 0l1.12-.84 1.85-1.4s-1.6-1.2-3.43-2.6c-1.83 1.4-3.43 2.6-3.43 2.6\"\n />\n <path\n fill=\"#FC6D26\"\n d=\"M4.62 9.61a8 8 0 0 0-3.3-1.48l-.02.06a4.55 4.55 0 0 0 1.51 5.26l.03.02 3.73 2.8s1.6-1.2 3.43-2.6z\"\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 LinkedinIcon = (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=\"#007EBB\"\n fillRule=\"evenodd\"\n d=\"M3 19h14a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H3a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2\"\n clipRule=\"evenodd\"\n />\n <path\n fill=\"#fff\"\n fillRule=\"evenodd\"\n d=\"M16.5 16.5h-2.67v-4.55c0-1.25-.48-1.94-1.46-1.94-1.08 0-1.64.72-1.64 1.94v4.55H8.16V7.83h2.57V9s.78-1.43 2.62-1.43c1.83 0 3.15 1.12 3.15 3.44zM5.09 6.7A1.6 1.6 0 0 1 3.5 5.1c0-.88.71-1.6 1.59-1.6.87 0 1.58.72 1.58 1.6s-.7 1.6-1.58 1.6m-1.33 9.8h2.68V7.83H3.76z\"\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 MetamaskIcon = (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=\"#FF5C16\"\n d=\"m17.82 18.08-3.88-1.15-2.92 1.75H8.98l-2.93-1.75-3.87 1.15L1 14.1 2.18 9.7 1 5.95l1.18-4.63 6.05 3.62h3.54l6.05-3.62L19 5.95 17.82 9.7 19 14.1z\"\n />\n <path\n fill=\"#FF5C16\"\n d=\"m2.18 1.32 6.06 3.62-.25 2.49zM6.06 14.1l2.66 2.03-2.66.8zM8.5 10.75 8 7.43 4.71 9.69V12l1.33-1.26zM17.82 1.32l-6.05 3.62.24 2.49zM13.95 14.1l-2.67 2.03 2.67.8zM15.29 9.69 12 7.43l-.52 3.32h2.46L15.28 12z\"\n />\n <path\n fill=\"#E34807\"\n d=\"m6.05 16.93-3.87 1.15L1 14.1h5.05zM8.5 10.75l.75 4.8-1.03-2.67-3.5-.87 1.33-1.26zM13.95 16.93l3.87 1.15L19 14.1h-5.05zM11.5 10.75l-.75 4.8 1.03-2.67 3.5-.87-1.33-1.26z\"\n />\n <path\n fill=\"#FF8D5D\"\n d=\"M1 14.1 2.18 9.7H4.7L4.72 12l3.5.87 1.03 2.66-.53.6-2.67-2.04zM19 14.1 17.82 9.7H15.3L15.28 12l-3.5.87-1.03 2.66.53.6 2.67-2.04z\"\n />\n <path fill=\"#FF8D5D\" d=\"M11.77 4.94H8.23L8 7.43l1.26 8.11h1.5l1.26-8.11z\" />\n <path\n fill=\"#661800\"\n d=\"M2.18 1.32 1 5.95 2.18 9.7H4.7L8 7.43zM7.77 11.71H6.62l-.62.61 2.22.56zM17.82 1.32 19 5.95 17.82 9.7H15.3L12 7.43zM12.23 11.71h1.15l.62.62-2.22.55zM11.02 17.1l.26-.97-.53-.58h-1.5l-.53.58.26.96\"\n />\n <path fill=\"#C0C4CD\" d=\"M11.02 17.1v1.58H8.98v-1.59z\" />\n <path fill=\"#E7EBF6\" d=\"m6.06 16.93 2.92 1.75v-1.59l-.26-.96zM13.95 16.93l-2.93 1.75v-1.59l.26-.96z\" />\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 PhantomIcon = (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=\"#AB9FF2\"\n d=\"M3.13 17.5c2.3 0 4.02-2 5.05-3.58q-.19.53-.2 1.04c0 .92.54 1.58 1.58 1.58 1.44 0 2.97-1.26 3.76-2.62a2 2 0 0 0-.08.55c0 .64.36 1.04 1.1 1.04 2.32 0 4.66-4.12 4.66-7.73 0-2.8-1.42-5.28-4.98-5.28C7.75 2.5 1 10.16 1 15.11c0 1.94 1.04 2.39 2.13 2.39m8.73-10.02c0-.7.39-1.2.96-1.2s.95.5.95 1.2-.4 1.2-.95 1.2c-.57 0-.96-.5-.96-1.2m2.98 0c0-.7.39-1.2.96-1.2.55 0 .94.5.94 1.2s-.38 1.2-.94 1.2c-.57 0-.96-.5-.96-1.2\"\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 SalesforceIcon = (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=\"#00A1E0\"\n fillRule=\"evenodd\"\n d=\"M8.49 4.92a3.1 3.1 0 0 1 2.28-1.01c1.2 0 2.22.68 2.78 1.7q.75-.35 1.57-.35c2.14 0 3.88 1.8 3.88 4.04a3.96 3.96 0 0 1-4.65 3.96c-.49.9-1.42 1.5-2.47 1.5q-.65 0-1.25-.3a3.2 3.2 0 0 1-2.97 2.04c-1.4 0-2.58-.9-3.04-2.18q-.3.06-.62.06c-1.66 0-3-1.4-3-3.13 0-1.16.6-2.17 1.5-2.71a4 4 0 0 1-.29-1.44c0-1.99 1.57-3.6 3.5-3.6 1.13 0 2.15.56 2.78 1.42\"\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 SnapchatIcon = (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=\"#fff\"\n d=\"M17.72 14.26c-2.78-1.35-3.23-3.43-3.25-3.59-.02-.18-.05-.33.16-.52.2-.19 1.08-.73 1.32-.9q.63-.41.46-.92c-.1-.24-.32-.33-.56-.33l-.22.03c-.44.1-.87.32-1.12.38h-.1q-.19.02-.17-.21c.03-.49.1-1.44.02-2.32a3.7 3.7 0 0 0-.96-2.36A4.3 4.3 0 0 0 10 2.14a4.3 4.3 0 0 0-3.3 1.37 3.7 3.7 0 0 0-.96 2.36c-.08.89 0 1.84.02 2.33q.01.22-.17.22l-.1-.02c-.24-.06-.68-.28-1.12-.38L4.15 8c-.24 0-.46.1-.55.33-.14.35.04.63.45.91.24.17 1.13.72 1.33.9.2.2.18.34.15.53-.02.16-.46 2.24-3.25 3.59-.16.08-.44.24.05.51.77.43 1.28.38 1.68.64.34.22.14.69.38.86.3.2 1.2-.02 2.35.36.96.32 1.55 1.22 3.26 1.22s2.32-.9 3.27-1.22c1.15-.38 2.04-.16 2.34-.36.25-.17.05-.64.39-.86.4-.26.9-.21 1.68-.64.48-.26.2-.43.04-.5\"\n className={_styles.darkInvert}\n />\n <path\n fill=\"#000\"\n d=\"M18.94 14.1a1.3 1.3 0 0 0-.64-.67l-.14-.07-.24-.13a5.4 5.4 0 0 1-1.97-1.68 4 4 0 0 1-.33-.6q-.06-.16-.01-.23l.1-.12.82-.53q.52-.36.74-.8a1.6 1.6 0 0 0 .08-1.3c-.23-.6-.8-.98-1.5-.98a2 2 0 0 0-.54.08q.01-.64-.04-1.29a4.83 4.83 0 0 0-2.44-3.93A5.6 5.6 0 0 0 10 1.15a5.6 5.6 0 0 0-2.82.72 4.8 4.8 0 0 0-2.44 3.93q-.06.66-.04 1.28a3 3 0 0 0-.55-.08 1.54 1.54 0 0 0-1.6 1.65q.01.33.18.64.23.43.74.8l.42.27.38.25q.08.04.12.12.05.07-.01.24-.14.3-.33.59a5.4 5.4 0 0 1-1.91 1.65c-.43.23-.89.39-1.08.9-.14.4-.05.84.32 1.21q.2.21.46.35.53.3 1.12.45.13.03.23.1c.13.12.12.3.3.55q.13.2.33.34c.37.26.78.27 1.23.3.4 0 .85.02 1.37.2q.3.11.7.36c.61.38 1.46.9 2.88.9s2.27-.52 2.9-.9q.37-.25.68-.36c.52-.17.97-.2 1.37-.2.44-.02.86-.04 1.23-.3q.24-.16.38-.41c.13-.22.13-.37.25-.47l.21-.1a5 5 0 0 0 1.14-.46q.28-.15.48-.37v-.01c.35-.37.44-.8.3-1.18m-1.27.68c-.77.42-1.28.38-1.67.64-.34.21-.14.68-.39.85-.3.21-1.2-.01-2.34.37-.95.31-1.56 1.21-3.27 1.21-1.7 0-2.3-.9-3.27-1.22-1.15-.38-2.04-.15-2.34-.36-.25-.17-.05-.64-.38-.86-.4-.25-.91-.2-1.68-.63-.5-.27-.21-.44-.05-.52 2.79-1.35 3.23-3.43 3.25-3.58.02-.2.05-.34-.16-.53-.2-.18-1.08-.73-1.32-.9-.4-.28-.59-.57-.46-.91.1-.25.32-.34.56-.34l.22.03c.44.1.87.32 1.12.38l.1.01q.19 0 .17-.22c-.03-.49-.1-1.43-.02-2.32.1-1.22.5-1.83.96-2.36A4.3 4.3 0 0 1 10 2.15a4.3 4.3 0 0 1 3.3 1.36c.46.54.86 1.14.96 2.36.08.89.01 1.84-.02 2.33q-.01.23.17.22l.1-.02c.24-.06.68-.28 1.12-.38l.22-.02c.24 0 .46.1.56.33q.17.5-.46.91c-.24.17-1.13.72-1.32.9-.21.2-.18.34-.16.53.02.16.46 2.24 3.25 3.59.17.08.44.25-.05.52\"\n className={_styles.darkInvert}\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 TiktokIcon = (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=\"#161823\"\n fillRule=\"evenodd\"\n d=\"M11.38 1.79h2.3A4.42 4.42 0 0 0 18 5.3v.68l.01 2.41a7.6 7.6 0 0 1-4.39-1.38v6.28c0 3.14-2.6 5.7-5.8 5.7a6 6 0 0 1-3.33-1.03A5.7 5.7 0 0 1 2 13.3a5.76 5.76 0 0 1 6.59-5.64v3.16q-.37-.11-.78-.12a2.63 2.63 0 0 0-2.66 2.6c0 1 .58 1.87 1.43 2.3q.55.3 1.23.3c1.42 0 2.59-1.1 2.64-2.5V1h3.16q0 .4.08.79z\"\n clipRule=\"evenodd\"\n className={_styles.darkInvert}\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 TwitchIcon = (props: SVGProps<SVGSVGElement>): JSX.Element => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={20} height={20} fill=\"none\" {...props}>\n <path fill=\"#fff\" d=\"m16.25 9.36-2.5 2.57h-2.5l-2.19 2.25v-2.25H6.25V2.29h10z\" />\n <path\n fill=\"#9146FF\"\n d=\"M5.63 1 2.5 4.21V15.8h3.75V19l3.13-3.21h2.5L17.5 10V1zm10.62 8.36-2.5 2.57h-2.5l-2.19 2.25v-2.25H6.25V2.29h10z\"\n />\n <path fill=\"#9146FF\" d=\"M14.38 4.54h-1.26v3.85h1.26zM10.94 4.54H9.69v3.85h1.25z\" />\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 XTwitterIcon = (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=\"#000\"\n d=\"M11.67 8.62 18.23 1h-1.55l-5.7 6.61L6.44 1H1.2l6.87 10-6.87 8h1.55l6.01-7 4.8 7h5.24zm-2.12 2.47-.7-1-5.54-7.92H5.7l4.47 6.4.7 1 5.8 8.3H14.3z\"\n className={_styles.darkInvert}\n />\n </svg>\n);\n","import {\n AmazonIcon,\n AppleIcon,\n BinanceIcon,\n BitbucketIcon,\n CoinbaseIcon,\n DiscordIcon,\n FacebookIcon,\n FigmaIcon,\n GithubIcon,\n GitlabIcon,\n GmailIcon,\n GoogleIcon,\n LinkedinIcon,\n MetamaskIcon,\n MicrosoftIcon,\n OutlookIcon,\n PhantomIcon,\n SalesforceIcon,\n SlackIcon,\n SnapchatIcon,\n TiktokIcon,\n TwitchIcon,\n XTwitterIcon,\n YahooIcon,\n} from '../../../assets/logo-color';\nimport type { IconRegistry } from '../../components/IconRegistry';\n\nexport const oauthIcons = {\n amazon: AmazonIcon,\n apple: AppleIcon,\n bitbucket: BitbucketIcon,\n coinbase: CoinbaseIcon,\n discord: DiscordIcon,\n facebook: FacebookIcon,\n figma: FigmaIcon,\n github: GithubIcon,\n gitlab: GitlabIcon,\n google: GoogleIcon,\n linkedin: LinkedinIcon,\n microsoft: MicrosoftIcon,\n salesforce: SalesforceIcon,\n slack: SlackIcon,\n snapchat: SnapchatIcon,\n tiktok: TiktokIcon,\n twitch: TwitchIcon,\n xTwitter: XTwitterIcon,\n yahoo: YahooIcon,\n} satisfies IconRegistry<string>;\n\nexport const cryptoIcons = {\n phantom: PhantomIcon,\n metamask: MetamaskIcon,\n binance: BinanceIcon,\n coinbase: CoinbaseIcon,\n} satisfies IconRegistry<string>;\n\nexport const emailIcons = {\n gmail: GmailIcon,\n outlook: OutlookIcon,\n yahoo: YahooIcon,\n} satisfies IconRegistry<string>;\n\nexport type IconNames =\n | keyof typeof oauthIcons //\n | keyof typeof cryptoIcons\n | keyof typeof emailIcons;\n","'use strict'\n// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n var BASE_MAP = new Uint8Array(256)\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i)\n var xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n if (source instanceof Uint8Array) {\n } else if (ArrayBuffer.isView(source)) {\n source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength)\n } else if (Array.isArray(source)) {\n source = Uint8Array.from(source)\n }\n if (!(source instanceof Uint8Array)) { throw new TypeError('Expected Uint8Array') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n var zeroes = 0\n var length = 0\n var pbegin = 0\n var pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n var size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n var b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n var carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n var i = 0\n for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n var it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n var str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return new Uint8Array() }\n var psz = 0\n // Skip and count leading '1's.\n var zeroes = 0\n var length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n var b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Find code of next character\n var charCode = source.charCodeAt(psz)\n // Base map can not be indexed using char code\n if (charCode > 255) { return }\n // Decode character\n var carry = BASE_MAP[charCode]\n // Invalid character\n if (carry === 255) { return }\n var i = 0\n for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip leading zeroes in b256.\n var it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n var vch = new Uint8Array(zeroes + (size - it4))\n var j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\nmodule.exports = base\n","const basex = require('base-x')\nconst ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\nmodule.exports = basex(ALPHABET)\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { Wallets } from '@stytch/core/public';\nimport { encode } from 'bs58';\n\nimport { GenericWalletIcon } from '../assets';\nimport { cryptoIcons } from '../ui/b2c/components/Icons';\nimport { IconRegistry } from '../ui/components/IconRegistry';\nimport { getButtonId, usePresentation } from '../ui/components/PresentationConfig';\n\ntype ProviderRequest = ({\n method,\n params,\n}: {\n method: 'eth_requestAccounts' | 'personal_sign';\n params?: string[];\n}) => string[] | string;\n\ntype ETHProvider = {\n isMetaMask?: boolean;\n isCoinbaseWallet?: boolean;\n request: ProviderRequest;\n};\n\ndeclare global {\n interface Window {\n solana: {\n isPhantom?: boolean;\n connect: () => { publicKey: { toString: () => string } };\n request: ({\n method,\n params,\n }: {\n method: 'signMessage';\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n params: Record<string, any>;\n }) => { signature: Uint8Array };\n };\n\n ethereum: {\n isMetaMask?: boolean;\n isCoinbaseWallet?: boolean;\n request?: ({ method, params }: { method: string; params?: string[] }) => string[] | string;\n providers?: ETHProvider[];\n };\n\n BinanceChain: { request: ProviderRequest };\n }\n}\n\nconst hasMultipleEthereumWallets = () => !!window.ethereum?.providers;\n\nconst hasMetaMask = () =>\n !!(hasMultipleEthereumWallets()\n ? window.ethereum.providers?.find((wallet) => wallet.isMetaMask)\n : window.ethereum.isMetaMask);\n\nconst hasCoinbaseWallet = () =>\n !!(hasMultipleEthereumWallets()\n ? window.ethereum.providers?.find((wallet) => wallet.isCoinbaseWallet)\n : window.ethereum?.isCoinbaseWallet);\n\nconst hasOtherEthereumWallet = () => !hasMetaMask() && !hasCoinbaseWallet() && !!window.ethereum;\n\nconst getMetaMaskProvider = () =>\n hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet) => wallet.isMetaMask) : window.ethereum;\n\nconst getCoinbaseProvider = () =>\n hasMultipleEthereumWallets() ? window.ethereum.providers?.find((wallet) => wallet.isCoinbaseWallet) : window.ethereum;\n\nconst getOtherInjectedProvider = () =>\n window.ethereum.providers?.find((wallet) => !wallet.isCoinbaseWallet && !wallet.isMetaMask);\n\ntype CryptoIcon = keyof typeof cryptoIcons;\nexport const walletIcons: Partial<Record<Wallets, CryptoIcon>> = {\n [Wallets.Phantom]: 'phantom',\n [Wallets.Binance]: 'binance',\n [Wallets.Coinbase]: 'coinbase',\n [Wallets.Metamask]: 'metamask',\n};\n\nexport const useCryptoButtonProps = () => {\n const presentation = usePresentation();\n const iconRegistry: IconRegistry<CryptoIcon> = presentation.iconRegistry;\n\n return {\n getIcon: (wallet: Wallets) => {\n const iconName = walletIcons[wallet];\n return iconName ? iconRegistry[iconName] : GenericWalletIcon;\n },\n getId: (wallet: Wallets) => getButtonId(`wallet-${wallet}`, presentation.options),\n };\n};\n\nexport const WalletToText: Record<Wallets, MessageDescriptor> = {\n [Wallets.Phantom]: msg({ id: 'crypto.wallet.phantom', message: 'Phantom' }),\n [Wallets.Binance]: msg({ id: 'crypto.wallet.binance', message: 'Binance' }),\n [Wallets.Coinbase]: msg({ id: 'crypto.wallet.coinbase', message: 'Coinbase' }),\n [Wallets.Metamask]: msg({ id: 'crypto.wallet.metamask', message: 'Metamask' }),\n [Wallets.GenericEthereumWallet]: msg({ id: 'crypto.wallet.otherEthereum', message: 'Other Ethereum Wallet' }),\n [Wallets.GenericSolanaWallet]: msg({ id: 'crypto.wallet.otherSolana', message: 'Other Solana Wallet' }),\n};\n\nexport const isWalletVisible = (wallet: Wallets): boolean => {\n switch (wallet) {\n case Wallets.Metamask:\n return !!window.ethereum && hasMetaMask();\n case Wallets.Phantom:\n return (!!window.solana && window.solana?.isPhantom) ?? false;\n case Wallets.Binance:\n return !!window.BinanceChain;\n case Wallets.Coinbase:\n return !!window.ethereum && hasCoinbaseWallet();\n case Wallets.GenericEthereumWallet:\n return !!window.ethereum && hasOtherEthereumWallet();\n case Wallets.GenericSolanaWallet:\n return !!window.solana && !window.solana.isPhantom;\n default:\n return false;\n }\n};\n\nconst connectWithEthereumProvider = async (request: ProviderRequest): Promise<string> => {\n const [address] = await request({\n method: 'eth_requestAccounts',\n });\n return address;\n};\n\nexport const connectWithWallet = async ({ wallet }: { wallet: Wallets }): Promise<string> => {\n switch (wallet) {\n case Wallets.Metamask: {\n const provider = getMetaMaskProvider();\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.Phantom: {\n const connectResp = await window.solana.connect();\n return connectResp.publicKey.toString();\n }\n case Wallets.Binance: {\n const provider = window.BinanceChain;\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.Coinbase: {\n const provider = getCoinbaseProvider();\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.GenericEthereumWallet: {\n const provider = getOtherInjectedProvider();\n return provider?.request ? connectWithEthereumProvider(provider?.request) : '';\n }\n case Wallets.GenericSolanaWallet: {\n const connectResp = await window.solana.connect();\n return connectResp.publicKey.toString();\n }\n default:\n return '';\n }\n};\n\nconst signMessageWithSolanaProvider = async (message: string): Promise<string> => {\n const encodedMessage = new TextEncoder().encode(message);\n const signResp = await window.solana.request({\n method: 'signMessage',\n params: {\n message: encodedMessage,\n display: 'utf8',\n },\n });\n return encode(signResp.signature);\n};\n\nconst signMessageWithEthereumProvider = async (\n request: ProviderRequest,\n message: string,\n address: string,\n): Promise<string> => {\n const signature = await request({\n method: 'personal_sign',\n params: [message, address],\n });\n return signature as string;\n};\n\nexport const signMessageWithWallet = async ({\n wallet,\n message,\n address,\n}: {\n wallet: Wallets;\n message: string;\n address: string;\n}): Promise<string> => {\n switch (wallet) {\n case Wallets.Phantom:\n case Wallets.GenericSolanaWallet:\n return signMessageWithSolanaProvider(message);\n case Wallets.Metamask: {\n const provider = getMetaMaskProvider();\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n case Wallets.Binance: {\n const provider = window.BinanceChain;\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n case Wallets.Coinbase: {\n const provider = getCoinbaseProvider();\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n case Wallets.GenericEthereumWallet: {\n const provider = getOtherInjectedProvider();\n return provider?.request ? signMessageWithEthereumProvider(provider?.request, message, address) : '';\n }\n default:\n return '';\n }\n};\n\nexport const isSolanaWallet = (wallet: Wallets) => {\n const solanaWallets: Wallets[] = [Wallets.Phantom, Wallets.GenericSolanaWallet];\n return solanaWallets.includes(wallet);\n};\n\nexport const isEthereumWallet = (wallet: Wallets) => {\n const ethWallets: Wallets[] = [Wallets.Binance, Wallets.GenericEthereumWallet, Wallets.Coinbase, Wallets.Metamask];\n return ethWallets.includes(wallet);\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { connectWithWallet, isSolanaWallet } from '../../../../utils/crypto';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport {\n AppScreens,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const ConnectWallet = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const handleError = () => {\n // eslint-disable-next-line lingui/no-unlocalized-strings -- This is not shown in the UI, just sent to the error callback\n onError({ message: '[Error] Could not connect to wallet' });\n dispatch({ type: 'transition', screen: AppScreens.CryptoError });\n };\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const walletOption = state.formState.cryptoState.walletOption;\n const walletType = isSolanaWallet(walletOption) ? 'solana' : 'ethereum';\n\n const onConnectWallet = async () => {\n const address = await connectWithWallet({ wallet: walletOption });\n stytchClient.cryptoWallets\n .authenticateStart({\n crypto_wallet_address: address,\n crypto_wallet_type: walletType,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.CryptoWalletAuthenticateStart, data });\n dispatch({\n type: 'update_crypto_state',\n cryptoState: {\n walletAddress: address,\n walletChallenge: data.challenge,\n walletOption: walletOption,\n },\n });\n\n dispatch({ type: 'transition', screen: AppScreens.CryptoSignMessage });\n })\n .catch(handleError);\n };\n\n useMountEffect(() => {\n onConnectWallet();\n });\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.connectWallet.title', message: 'Connecting to your wallet...' })}\n body={t({\n id: 'crypto.connectWallet.instructionPopup',\n message: 'Complete sign in by connecting through the wallet pop up in the right corner of your screen.',\n })}\n helper={t({\n id: 'crypto.troubleHelp',\n message: 'If you are having trouble, go back to the main screen and try logging in again.',\n })}\n />\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\n\nexport const Error = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.error.title', message: 'Looks like there was an error' })}\n body={t({\n id: 'crypto.error.content',\n message: 'Your sign in request could not be completed. Go back to the main screen and try logging in again.',\n })}\n />\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","import { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { Wallets } from '@stytch/core/public';\nimport * as React from 'react';\n\nimport { GenericWalletIcon } from '../../../../assets';\nimport { isWalletVisible, useCryptoButtonProps, WalletToText } from '../../../../utils/crypto';\nimport Button from '../../../components/atoms/Button';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport { AppScreens, useConfig, useGlobalReducer } from '../../GlobalContextProvider';\n\nconst MAX_BUTTONS = 6;\n\nconst walletMessages = {\n [Wallets.Phantom]: msg({ id: 'crypto.wallet.continueWithPhantom', message: 'Continue with Phantom' }),\n [Wallets.Binance]: msg({ id: 'crypto.wallet.continueWithBinance', message: 'Continue with Binance' }),\n [Wallets.Coinbase]: msg({ id: 'crypto.wallet.continueWithCoinbase', message: 'Continue with Coinbase' }),\n [Wallets.Metamask]: msg({ id: 'crypto.wallet.continueWithMetamask', message: 'Continue with Metamask' }),\n [Wallets.GenericEthereumWallet]: msg({\n id: 'crypto.wallet.continueWithEthereum',\n message: 'Continue with Other Ethereum Wallet',\n }),\n [Wallets.GenericSolanaWallet]: msg({\n id: 'crypto.wallet.continueWithSolana',\n message: 'Continue with Other Solana Wallet',\n }),\n} satisfies Record<Wallets, MessageDescriptor>;\n\nexport const CryptoWalletButtons = ({ type }: { type: 'main' | 'other' }) => {\n const { t } = useLingui();\n const [state, dispatch] = useGlobalReducer();\n const config = useConfig();\n\n const { getIcon, getId } = useCryptoButtonProps();\n\n const oAuthOptions = config.oauthOptions?.providers.length ?? 0;\n\n // Crypto Buttons on screen = Maximum Buttons - OAuth Buttons - 1 (Other crypto or set up new wallet)\n const cryptoButtonsOnMainScreen = MAX_BUTTONS - oAuthOptions - 1;\n const onWalletStart = (wallet: Wallets) => {\n dispatch({\n type: 'update_crypto_state',\n cryptoState: {\n ...state.formState.cryptoState,\n walletOption: wallet,\n },\n });\n dispatch({ type: 'transition', screen: AppScreens.CryptoConnect });\n };\n\n const allDetectedWallets = (Object.keys(Wallets) as (keyof typeof Wallets)[]).filter((wallet) =>\n isWalletVisible(Wallets[wallet]),\n );\n\n const renderOtherScreenButton = allDetectedWallets.length > cryptoButtonsOnMainScreen;\n\n const mainWallets = allDetectedWallets.slice(0, cryptoButtonsOnMainScreen);\n const otherWallet = allDetectedWallets.slice(cryptoButtonsOnMainScreen);\n\n const walletsToRender = type === 'main' ? mainWallets : otherWallet;\n\n return (\n <ButtonColumn>\n {walletsToRender.map((wallet) => {\n const walletEnum = Wallets[wallet];\n const Icon = getIcon(walletEnum);\n return (\n <Button\n key={wallet}\n variant=\"outline\"\n icon={<Icon />}\n onClick={() => onWalletStart(walletEnum)}\n id={getId(walletEnum)}\n >\n {type === 'main' ? t(walletMessages[walletEnum]) : t(WalletToText[walletEnum])}\n </Button>\n );\n })}\n\n {renderOtherScreenButton && type === 'main' ? (\n <Button\n variant=\"outline\"\n icon={<GenericWalletIcon />}\n onClick={() => dispatch({ type: 'transition', screen: AppScreens.CryptoOtherScreen })}\n id={getId(Wallets.GenericEthereumWallet)}\n >\n {t(msg({ id: 'crypto.wallet.continueWithOtherWallet', message: 'Continue with other Crypto Wallet' }))}\n </Button>\n ) : (\n <Button\n variant=\"outline\"\n onClick={() => dispatch({ type: 'transition', screen: AppScreens.CryptoSetupWallet })}\n >\n {t(msg({ id: 'crypto.wallet.setupNewWallet', message: 'Set up a new crypto wallet' }))}\n </Button>\n )}\n </ButtonColumn>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React 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 { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\nimport { CryptoWalletButtons } from './WalletButtons';\n\nexport const OtherCryptoWallets = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({ id: 'crypto.continueWithOtherWallet.title', message: 'Continue with other wallet' })}\n </Typography>\n\n <ButtonColumn>\n <CryptoWalletButtons type=\"other\" />\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 { useLingui } from '@lingui/react/macro';\nimport { Wallets } from '@stytch/core/public';\nimport React from 'react';\n\nimport { useCryptoButtonProps, WalletToText } from '../../../../utils/crypto';\nimport Button, { ButtonAnchor } from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\n\nexport const SetupNewWallet = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n const { getIcon, getId } = useCryptoButtonProps();\n const walletsToRender = [Wallets.Metamask, Wallets.Phantom, Wallets.Coinbase, Wallets.Binance];\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.setupNewWallet.title', message: 'Set up a new crypto wallet' })}\n body={t({\n id: 'crypto.setupNewWallet.content',\n message: 'Get started by downloading any Ethereum or Solana wallet.',\n })}\n helper={t({\n id: 'crypto.setupNewWallet.instruction',\n message:\n 'We’ve included a few examples of wallet extensions you can find below. Once you’ve set up your wallet, click “Go back” to use it and sign in.',\n })}\n />\n\n <ButtonColumn>\n {walletsToRender.map((wallet) => {\n const Icon = getIcon(wallet);\n return (\n <ButtonAnchor\n key={wallet}\n variant=\"outline\"\n target=\"_blank\"\n rel=\"noreferrer\"\n icon={<Icon />}\n href=\"https://metamask.io/\"\n id={getId(wallet)}\n >\n {t(WalletToText[wallet])}\n </ButtonAnchor>\n );\n })}\n\n <Button variant=\"primary\" 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 { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_SESSION_DURATION_MINUTES } from '@stytch/core';\nimport { StytchEventType } from '@stytch/core/public';\nimport React from 'react';\n\nimport { isSolanaWallet, signMessageWithWallet } from '../../../../utils/crypto';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const SignMessage = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const handleError = () => {\n // eslint-disable-next-line lingui/no-unlocalized-strings -- This is not shown in the UI, just sent to the error callback\n onError({ message: '[Error] Could not sign message' });\n dispatch({ type: 'transition', screen: AppScreens.CryptoError });\n };\n const stytchClient = useStytch();\n const config = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const { walletChallenge, walletAddress, walletOption } = state.formState.cryptoState;\n const walletType = isSolanaWallet(walletOption) ? 'solana' : 'ethereum';\n\n const onSignWallet = async () => {\n const signature = await signMessageWithWallet({\n wallet: walletOption,\n message: walletChallenge,\n address: walletAddress,\n });\n\n stytchClient.cryptoWallets\n .authenticate({\n crypto_wallet_address: walletAddress,\n crypto_wallet_type: walletType,\n signature,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.CryptoWalletAuthenticate, data });\n dispatch({ type: 'transition', screen: AppScreens.CryptoConfirmation });\n })\n .catch(handleError);\n };\n\n useMountEffect(() => {\n onSignWallet();\n });\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({ id: 'crypto.signMessage.title', message: 'Completing signature request...' })}\n body={t({\n id: 'crypto.signMessage.instruction',\n message: 'Complete the signature request through the wallet pop up in the right corner of your screen.',\n })}\n helper={t({\n id: 'crypto.troubleHelp',\n message: 'If you are having trouble, go back to the main screen and try logging in again.',\n })}\n />\n\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport { Confirmation } from '../../../components/molecules/Confirmation';\nimport { AppScreens, useGlobalReducer } from '../../GlobalContextProvider';\n\nexport const Success = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n\n return (\n <Column gap={6}>\n <Confirmation\n header={t({ id: 'crypto.success.title', message: 'Success!' })}\n text={t({ id: 'crypto.success.content', message: 'You have successfully connected your wallet.' })}\n />\n <Button variant=\"outline\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/collection-legacy.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\n\n// src/collection.tsx\nimport React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n #keys;\n constructor(entries) {\n super(entries);\n this.#keys = [...super.keys()];\n __instanciated.set(this, true);\n }\n set(key, value) {\n if (__instanciated.get(this)) {\n if (this.has(key)) {\n this.#keys[this.#keys.indexOf(key)] = key;\n } else {\n this.#keys.push(key);\n }\n }\n super.set(key, value);\n return this;\n }\n insert(index, key, value) {\n const has = this.has(key);\n const length = this.#keys.length;\n const relativeIndex = toSafeInteger(index);\n let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n this.set(key, value);\n return this;\n }\n const size = this.size + (has ? 0 : 1);\n if (relativeIndex < 0) {\n actualIndex++;\n }\n const keys = [...this.#keys];\n let nextValue;\n let shouldSkip = false;\n for (let i = actualIndex; i < size; i++) {\n if (actualIndex === i) {\n let nextKey = keys[i];\n if (keys[i] === key) {\n nextKey = keys[i + 1];\n }\n if (has) {\n this.delete(key);\n }\n nextValue = this.get(nextKey);\n this.set(key, value);\n } else {\n if (!shouldSkip && keys[i - 1] === key) {\n shouldSkip = true;\n }\n const currentKey = keys[shouldSkip ? i : i - 1];\n const currentValue = nextValue;\n nextValue = this.get(currentKey);\n this.delete(currentKey);\n this.set(currentKey, currentValue);\n }\n }\n return this;\n }\n with(index, key, value) {\n const copy = new _OrderedDict(this);\n copy.insert(index, key, value);\n return copy;\n }\n before(key) {\n const index = this.#keys.indexOf(key) - 1;\n if (index < 0) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position before the given key.\n */\n setBefore(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index, newKey, value);\n }\n after(key) {\n let index = this.#keys.indexOf(key);\n index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n if (index === -1) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position after the given key.\n */\n setAfter(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index + 1, newKey, value);\n }\n first() {\n return this.entryAt(0);\n }\n last() {\n return this.entryAt(-1);\n }\n clear() {\n this.#keys = [];\n return super.clear();\n }\n delete(key) {\n const deleted = super.delete(key);\n if (deleted) {\n this.#keys.splice(this.#keys.indexOf(key), 1);\n }\n return deleted;\n }\n deleteAt(index) {\n const key = this.keyAt(index);\n if (key !== void 0) {\n return this.delete(key);\n }\n return false;\n }\n at(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return this.get(key);\n }\n }\n entryAt(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return [key, this.get(key)];\n }\n }\n indexOf(key) {\n return this.#keys.indexOf(key);\n }\n keyAt(index) {\n return at(this.#keys, index);\n }\n from(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.at(dest);\n }\n keyFrom(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.keyAt(dest);\n }\n find(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return entry;\n }\n index++;\n }\n return void 0;\n }\n findIndex(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return index;\n }\n index++;\n }\n return -1;\n }\n filter(predicate, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n entries.push(entry);\n }\n index++;\n }\n return new _OrderedDict(entries);\n }\n map(callbackfn, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n index++;\n }\n return new _OrderedDict(entries);\n }\n reduce(...args) {\n const [callbackfn, initialValue] = args;\n let index = 0;\n let accumulator = initialValue ?? this.at(0);\n for (const entry of this) {\n if (index === 0 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n index++;\n }\n return accumulator;\n }\n reduceRight(...args) {\n const [callbackfn, initialValue] = args;\n let accumulator = initialValue ?? this.at(-1);\n for (let index = this.size - 1; index >= 0; index--) {\n const entry = this.at(index);\n if (index === this.size - 1 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n }\n return accumulator;\n }\n toSorted(compareFn) {\n const entries = [...this.entries()].sort(compareFn);\n return new _OrderedDict(entries);\n }\n toReversed() {\n const reversed = new _OrderedDict();\n for (let index = this.size - 1; index >= 0; index--) {\n const key = this.keyAt(index);\n const element = this.get(key);\n reversed.set(key, element);\n }\n return reversed;\n }\n toSpliced(...args) {\n const entries = [...this.entries()];\n entries.splice(...args);\n return new _OrderedDict(entries);\n }\n slice(start, end) {\n const result = new _OrderedDict();\n let stop = this.size - 1;\n if (start === void 0) {\n return result;\n }\n if (start < 0) {\n start = start + this.size;\n }\n if (end !== void 0 && end > 0) {\n stop = end - 1;\n }\n for (let index = start; index <= stop; index++) {\n const key = this.keyAt(index);\n const element = this.get(key);\n result.set(key, element);\n }\n return result;\n }\n every(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return false;\n }\n index++;\n }\n return true;\n }\n some(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return true;\n }\n index++;\n }\n return false;\n }\n};\nfunction at(array, index) {\n if (\"at\" in Array.prototype) {\n return Array.prototype.at.call(array, index);\n }\n const actualIndex = toSafeIndex(array, index);\n return actualIndex === -1 ? void 0 : array[actualIndex];\n}\nfunction toSafeIndex(array, index) {\n const length = array.length;\n const relativeIndex = toSafeInteger(index);\n const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\nfunction toSafeInteger(number) {\n return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction createCollection2(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n {\n collectionElement: null,\n collectionRef: { current: null },\n collectionRefObject: { current: null },\n itemMap: new OrderedDict(),\n setItemMap: () => void 0\n }\n );\n const CollectionProvider = ({ state, ...props }) => {\n return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const CollectionInit = (props) => {\n const state = useInitCollection();\n return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n };\n CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n const CollectionProviderImpl = (props) => {\n const { scope, children, state } = props;\n const ref = React2.useRef(null);\n const [collectionElement, setCollectionElement] = React2.useState(\n null\n );\n const composeRefs = useComposedRefs2(ref, setCollectionElement);\n const [itemMap, setItemMap] = state;\n React2.useEffect(() => {\n if (!collectionElement) return;\n const observer = getChildListObserver(() => {\n });\n observer.observe(collectionElement, {\n childList: true,\n subtree: true\n });\n return () => {\n observer.disconnect();\n };\n }, [collectionElement]);\n return /* @__PURE__ */ jsx2(\n CollectionContextProvider,\n {\n scope,\n itemMap,\n setItemMap,\n collectionRef: composeRefs,\n collectionRefObject: ref,\n collectionElement,\n children\n }\n );\n };\n CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n const CollectionSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);\n const CollectionItemSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React2.useRef(null);\n const [element, setElement] = React2.useState(null);\n const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n const { setItemMap } = context;\n const itemDataRef = React2.useRef(itemData);\n if (!shallowEqual(itemDataRef.current, itemData)) {\n itemDataRef.current = itemData;\n }\n const memoizedItemData = itemDataRef.current;\n React2.useEffect(() => {\n const itemData2 = memoizedItemData;\n setItemMap((map) => {\n if (!element) {\n return map;\n }\n if (!map.has(element)) {\n map.set(element, { ...itemData2, element });\n return map.toSorted(sortByDocumentPosition);\n }\n return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n });\n return () => {\n setItemMap((map) => {\n if (!element || !map.has(element)) {\n return map;\n }\n map.delete(element);\n return new OrderedDict(map);\n });\n };\n }, [element, memoizedItemData, setItemMap]);\n return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useInitCollection() {\n return React2.useState(new OrderedDict());\n }\n function useCollection(scope) {\n const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n return itemMap;\n }\n const functions = {\n createCollectionScope,\n useCollection,\n useInitCollection\n };\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n functions\n ];\n}\nfunction shallowEqual(a, b) {\n if (a === b) return true;\n if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n if (a == null || b == null) return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n if (a[key] !== b[key]) return false;\n }\n return true;\n}\nfunction isElementPreceding(a, b) {\n return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\nfunction sortByDocumentPosition(a, b) {\n return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\nfunction getChildListObserver(callback) {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n callback();\n return;\n }\n }\n });\n return observer;\n}\nexport {\n createCollection,\n createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nfunction getOwnerWindow(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access window outside of the DOM\");\n }\n return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access document outside of the DOM\");\n }\n return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nexport {\n canUseDOM,\n composeEventHandlers,\n getActiveElement,\n getOwnerDocument,\n getOwnerWindow,\n isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (true) {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n const isControlled = controlledState !== void 0;\n const onChange = useEffectEvent(onChangeProp);\n if (true) {\n const isControlledRef = React2.useRef(controlledState !== void 0);\n React2.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const args = [{ ...initialArg, state: defaultProp }];\n if (init) {\n args.push(init);\n }\n const [internalState, dispatch] = React2.useReducer(\n (state2, action) => {\n if (action.type === SYNC_STATE) {\n return { ...state2, state: action.state };\n }\n const next = reducer(state2, action);\n if (isControlled && !Object.is(next.state, state2.state)) {\n onChange(next.state);\n }\n return next;\n },\n ...args\n );\n const uncontrolledState = internalState.state;\n const prevValueRef = React2.useRef(uncontrolledState);\n React2.useEffect(() => {\n if (prevValueRef.current !== uncontrolledState) {\n prevValueRef.current = uncontrolledState;\n if (!isControlled) {\n onChange(uncontrolledState);\n }\n }\n }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n const state = React2.useMemo(() => {\n const isControlled2 = controlledState !== void 0;\n if (isControlled2) {\n return { ...internalState, state: controlledState };\n }\n return internalState;\n }, [internalState, controlledState]);\n React2.useEffect(() => {\n if (isControlled && !Object.is(controlledState, internalState.state)) {\n dispatch({ type: SYNC_STATE, state: controlledState });\n }\n }, [controlledState, internalState.state, isControlled]);\n return [state, dispatch];\n}\nexport {\n useControllableState,\n useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = getActiveElement();\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (getActiveElement() !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\nfunction getActiveElement(root = document) {\n const activeElement = root.activeElement;\n return activeElement && activeElement.shadowRoot ? getActiveElement(activeElement.shadowRoot) : activeElement;\n}\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tabs.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n dir,\n activationMode = \"automatic\",\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: TABS_NAME\n });\n return /* @__PURE__ */ jsx(\n TabsProvider,\n {\n scope: __scopeTabs,\n baseId: useId(),\n value,\n onValueChange: setValue,\n orientation,\n dir: direction,\n activationMode,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n \"data-orientation\": orientation,\n ...tabsProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabs.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: context.orientation,\n dir: context.dir,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"tablist\",\n \"aria-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabsList.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: isSelected,\n children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n id: triggerId,\n ...triggerProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n const isAutomaticActivation = context.activationMode !== \"manual\";\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })\n }\n )\n }\n );\n }\n);\nTabsTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-orientation\": context.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": triggerId,\n hidden: !present,\n id: contentId,\n tabIndex: 0,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n },\n children: present && children\n }\n ) });\n }\n);\nTabsContent.displayName = CONTENT_NAME;\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nvar Root2 = Tabs;\nvar List = TabsList;\nvar Trigger = TabsTrigger;\nvar Content = TabsContent;\nexport {\n Content,\n List,\n Root2 as Root,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Trigger,\n createTabsScope\n};\n//# sourceMappingURL=index.mjs.map\n","import type { OTPMethods } from '@stytch/core/public';\nimport type { ComponentType } from 'react';\n\nimport type { Values } from '../../utils/types';\nimport type { IconRegistry } from '../components/IconRegistry';\nimport type { StartPasskeyAuth } from '../hooks/usePromptPasskey';\nimport type { IconNames } from './components/Icons';\nimport type { AppScreens } from './GlobalContextProvider';\n\nexport type ProductId =\n | 'emailMagicLinks'\n | 'oauth'\n | 'otp'\n | 'crypto'\n | 'passwords'\n | 'passkeys'\n | 'passkeyRegistration';\n\n// tabs types\nexport const MagicLinkMethods = {\n Email: 'emailMagicLinks',\n} as const;\nexport type MagicLinkMethods = Values<typeof MagicLinkMethods>;\n\nexport const PasswordMethods = {\n Email: 'passwords',\n} as const;\nexport type PasswordMethods = Values<typeof PasswordMethods>;\n\nexport type TabMethods = OTPMethods | MagicLinkMethods | PasswordMethods;\n\n// mainScreen types\nexport type MainScreenKey = 'oauth' | 'crypto' | 'login-form' | 'divider' | 'passkey-button';\nexport type MainScreenGroup = MainScreenKey | MainScreenKey[];\n\nexport type MainScreenChildProps = {\n startPasskeyAuth: StartPasskeyAuth;\n};\n\nexport type StytchProduct = Readonly<{\n id: ProductId;\n\n screens: Partial<Record<AppScreens, ComponentType>>;\n tabs?: Partial<Record<TabMethods, ComponentType>>;\n mainScreen?: Partial<Record<MainScreenKey, ComponentType<MainScreenChildProps>>>;\n icons?: Partial<IconRegistry<IconNames>>;\n}>;\n","import type { MessageDescriptor } from '@lingui/core';\nimport { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { DEV } from '@stytch/core';\nimport { OTPMethods } from '@stytch/core/public';\nimport classNames from 'classnames';\nimport { Tabs } from 'radix-ui';\nimport React from 'react';\n\nimport { buttonClassNames } from '../../../../components/atoms/Button';\nimport Typography from '../../../../components/atoms/Typography';\nimport { useConfig } from '../../../GlobalContextProvider';\nimport { MagicLinkMethods, PasswordMethods, StytchProduct, TabMethods } from '../../../StytchProduct';\nimport { hasProduct, useProductComponents } from '../../../utils';\nimport styles from './index.module.css';\n\nexport const OTPTabHeaders: Record<TabMethods, MessageDescriptor> = {\n [OTPMethods.SMS]: msg({ id: 'tab.text', message: 'Text' }),\n [OTPMethods.WhatsApp]: msg({ id: 'tab.whatsapp', message: 'WhatsApp' }),\n [OTPMethods.Email]: msg({ id: 'tab.email', message: 'Email' }),\n [MagicLinkMethods.Email]: msg({ id: 'tab.email', message: 'Email' }),\n [PasswordMethods.Email]: msg({ id: 'tab.email', message: 'Email' }),\n};\n\nexport const getTabMethods = (products: StytchProduct[], otpMethods: OTPMethods[]) => {\n const hasPassword = hasProduct(products, 'passwords');\n const tabMethods = new Set<TabMethods>();\n for (const { id } of products) {\n if (id === 'emailMagicLinks') {\n tabMethods.add(hasPassword ? PasswordMethods.Email : MagicLinkMethods.Email);\n } else if (id === 'passwords') {\n tabMethods.add(PasswordMethods.Email);\n } else if (id === 'otp') {\n for (const method of otpMethods) {\n tabMethods.add(method === OTPMethods.Email && hasPassword ? PasswordMethods.Email : method);\n }\n }\n }\n return Array.from(tabMethods);\n};\n\nexport const LoginForm = () => {\n const { t } = useLingui();\n const { otpOptions, products } = useConfig();\n const productsIncludesOtp = hasProduct(products, 'otp');\n const otpMethods = productsIncludesOtp ? (otpOptions?.methods ?? []) : [];\n const hasEmailMagicLink = hasProduct(products, 'emailMagicLinks');\n const hasOTPEmail = productsIncludesOtp && otpMethods.includes(OTPMethods.Email);\n\n const tabMethods = getTabMethods(products, otpMethods);\n const tabMethodComponents = useProductComponents(products, 'tabs');\n\n if (hasEmailMagicLink && hasOTPEmail)\n return (\n <Typography variant=\"helper\" color=\"destructive\">\n {DEV('Error: Cannot use both EML and Email OTP')}\n </Typography>\n );\n\n return (\n <Tabs.Root defaultValue={tabMethods[0]}>\n {tabMethods.length > 1 && (\n <Tabs.List className={styles.tabRow} aria-label={t({ message: 'Select login method', id: 'tab.listLabel' })}>\n {tabMethods.map((method) => (\n <Tabs.Trigger\n value={method}\n key={method}\n className={classNames(buttonClassNames({ variant: 'outline', block: true }), styles.tab)}\n >\n {t(OTPTabHeaders[method])}\n </Tabs.Trigger>\n ))}\n </Tabs.List>\n )}\n\n {tabMethods.map((method) => {\n const Component = tabMethodComponents![method];\n if (tabMethods.length > 1) {\n return (\n // We override tabIndex here because each tab will have some interactive element\n // > It is recommended that all tabpanel elements in a tab set are focusable if there are any panels in\n // > the set that contain content where the first element in the panel is not focusable.\n // - From: https://www.w3.org/WAI/ARIA/apg/patterns/tabs/examples/tabs-automatic/#accessibilityfeatures\n <Tabs.Content value={method} key={method} tabIndex={-1}>\n <Component />\n </Tabs.Content>\n );\n } else {\n return <Component key={method} />;\n }\n })}\n </Tabs.Root>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { EmailSentType } from '@stytch/core';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { convertMagicLinkOptions, EMAIL_REGEX } from '../../../../../utils';\nimport { getTranslatedError } from '../../../../../utils/getTranslatedError';\nimport { readB2CInternals } from '../../../../../utils/internal';\nimport Button from '../../../../components/atoms/Button';\nimport Column from '../../../../components/atoms/Column';\nimport EmailInput from '../../../../components/molecules/EmailInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../../GlobalContextProvider';\nimport { hasProduct } from '../../../utils';\n\nexport const MagicLinkEmailForm = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const [, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const config = useConfig();\n const emailMagicLinksOptions = config.emailMagicLinksOptions;\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const [email, setEmail] = useState('');\n const [errorMessage, setErrorMessage] = useState<string>('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n const submittingEmail = email;\n if (!submittingEmail.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmail', message: 'Email format is invalid.' }));\n } else {\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.magicLinks.email\n .loginOrCreate(submittingEmail, convertMagicLinkOptions(emailMagicLinksOptions))\n .then((data) => {\n onEvent({ type: StytchEventType.MagicLinkLoginOrCreateEvent, data: { ...data, email: submittingEmail } });\n setIsSubmitting(false);\n dispatch({ type: 'set_magic_link_email', email: submittingEmail });\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: submittingEmail, type: EmailSentType.LoginOrCreateEML },\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n }\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} hasPasskeys={hasPasskeys} hideLabel error={errorMessage} />\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.emailLogin', message: 'Continue with email' })}\n </Button>\n </Column>\n );\n};\n","import { msg } from '@lingui/core/macro';\nimport { useLingui } from '@lingui/react/macro';\nimport { CountryCode, DEFAULT_OTP_EXPIRATION_MINUTES, EmailSentType } from '@stytch/core';\nimport { OTPMethods, StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../../../utils';\nimport { getTranslatedError } from '../../../../../utils/getTranslatedError';\nimport { formatNumberToIncludeCountryCode } from '../../../../../utils/handleParsePhoneNumber';\nimport { readB2CInternals } from '../../../../../utils/internal';\nimport Button from '../../../../components/atoms/Button';\nimport Column from '../../../../components/atoms/Column';\nimport EmailInput from '../../../../components/molecules/EmailInput';\nimport PhoneInput, { getPhoneNumberProps } from '../../../../components/molecules/PhoneInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../../GlobalContextProvider';\nimport { hasProduct } from '../../../utils';\n\nexport const OTPButtonText = {\n [OTPMethods.SMS]: msg({ id: 'button.sms', message: 'Continue with text message' }),\n [OTPMethods.WhatsApp]: msg({ id: 'button.whatsapp', message: 'Continue with WhatsApp' }),\n [OTPMethods.Email]: msg({ id: 'button.emailLogin', message: 'Continue with email' }),\n};\n\nexport const OTPEmailForm = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const stytchClient = useStytch();\n const config = useConfig();\n const [, dispatch] = useGlobalReducer();\n const [email, setEmail] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const stopSubmit = (errorText: string) => {\n onError({ message: errorText });\n setIsSubmitting(false);\n return setErrorMessage(errorText);\n };\n\n const handleEmailSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setIsSubmitting(true);\n\n if (!email.match(EMAIL_REGEX))\n return stopSubmit(t({ id: 'errors.invalidEmail', message: 'Invalid email address.' }));\n\n setErrorMessage('');\n setIsSubmitting(true);\n\n stytchClient.otps.email\n .loginOrCreate(email, {\n expiration_minutes: config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n login_template_id: config.otpOptions?.loginTemplateId,\n signup_template_id: config.otpOptions?.signupTemplateId,\n locale: config.otpOptions?.locale,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: OTPMethods.Email,\n methodId: data.method_id,\n otpDestination: email,\n },\n });\n dispatch({ type: 'transition', screen: AppScreens.OTPAuthenticate });\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_sent',\n details: { email: email, type: EmailSentType.LoginOrCreateOTP },\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleEmailSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} hasPasskeys={hasPasskeys} hideLabel error={errorMessage} />\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t(OTPButtonText[OTPMethods.Email])}\n </Button>\n </Column>\n );\n};\n\nexport const PhoneForm = ({ method }: { method: OTPMethods }) => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const stytchClient = useStytch();\n const config = useConfig();\n const [, dispatch] = useGlobalReducer();\n const [phoneNumber, setPhoneNumber] = useState('');\n // eslint-disable-next-line lingui/no-unlocalized-strings\n const [country, setCountry] = useState<CountryCode>('US');\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const stopSubmit = (errorText: string) => {\n onError({ message: errorText });\n setIsSubmitting(false);\n setErrorMessage(errorText);\n };\n\n const { parsePhoneNumber, getExampleNumber } = getPhoneNumberProps(readB2CInternals(stytchClient).clientsideServices);\n\n const handlePhoneSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n\n const parsedNumber = await formatNumberToIncludeCountryCode({\n parsePhoneNumber,\n phoneNumber,\n country,\n });\n\n if (!parsedNumber.isValid) {\n return stopSubmit(\n 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\n setIsSubmitting(true);\n setErrorMessage('');\n\n stytchClient.otps[method]\n .loginOrCreate(parsedNumber.number, {\n expiration_minutes: config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: method,\n methodId: data.method_id,\n otpDestination: parsedNumber.number,\n },\n });\n dispatch({ type: 'transition', screen: AppScreens.OTPAuthenticate });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n return (\n <Column as=\"form\" gap={4} onSubmit={handlePhoneSubmit}>\n <PhoneInput\n phone={phoneNumber}\n setPhone={setPhoneNumber}\n country={country}\n setCountry={setCountry}\n parsePhoneNumber={parsePhoneNumber}\n getExampleNumber={getExampleNumber}\n hasPasskeys={hasPasskeys}\n error={errorMessage}\n />\n\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t(OTPButtonText[method])}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport { PasskeyIcon } from '../../../../../assets';\nimport Button from '../../../../components/atoms/Button';\nimport { StartPasskeyAuth } from '../../../../hooks/usePromptPasskey';\n\nexport const PasskeyButton = ({ startPasskeyAuth }: { startPasskeyAuth: StartPasskeyAuth }) => {\n const { t } = useLingui();\n\n return (\n <Button icon={<PasskeyIcon />} variant=\"outline\" onClick={startPasskeyAuth}>\n {t({ id: 'button.loginWithPasskey', message: 'Login with a Passkey' })}\n </Button>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { EmailSentType } from '@stytch/core';\nimport { StytchAPIError } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { EMAIL_REGEX } from '../../../../../utils';\nimport { getTranslatedError } from '../../../../../utils/getTranslatedError';\nimport { readB2CInternals } from '../../../../../utils/internal';\nimport Button from '../../../../components/atoms/Button';\nimport Column from '../../../../components/atoms/Column';\nimport EmailInput from '../../../../components/molecules/EmailInput';\nimport { AppScreens, useConfig, useErrorCallback, useGlobalReducer, useStytch } from '../../../GlobalContextProvider';\nimport { hasProduct } from '../../../utils';\n\nexport const PasswordsEmailForm = () => {\n const { t } = useLingui();\n const [, dispatch] = useGlobalReducer();\n const config = useConfig();\n const stytch = useStytch();\n const onError = useErrorCallback();\n const hasPasskeys = hasProduct(config.products, 'passkeys');\n\n const [email, setEmail] = useState('');\n const [errorMessage, setErrorMessage] = useState<string>('');\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n if (!email.match(EMAIL_REGEX)) {\n setErrorMessage(t({ id: 'error.invalidEmail', message: 'Email format is invalid.' }));\n } else {\n setErrorMessage('');\n setIsSubmitting(true);\n\n readB2CInternals(stytch)\n .searchManager.searchUser(email)\n .then(({ userType }) => {\n dispatch({ type: 'update_password_state', passwordState: { email, type: userType } });\n dispatch({ type: 'transition', screen: AppScreens.PasswordCreateOrLogin });\n readB2CInternals(stytch).networkClient.logEvent({\n name: 'email_sent',\n details: { email: email, type: EmailSentType.ResetPassword },\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n }\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} hasPasskeys={hasPasskeys} hideLabel error={errorMessage} />\n <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n {t({ id: 'button.emailLogin', message: 'Continue with email' })}\n </Button>\n </Column>\n );\n};\n","import { arrayUtils } from '@stytch/core';\nimport React from 'react';\n\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport LastUsed from '../../../components/molecules/LastUsed';\nimport { GoogleOneTap } from '../../components/GoogleOneTap';\nimport { OAuthButton } from '../../components/OAuthButton';\nimport { useConfig } from '../../GlobalContextProvider';\nimport { useLastUsedOAuth } from './useLastUsedOAuth';\n\nexport const OAuthButtons = () => {\n const config = useConfig();\n const [lastUsedOAuth, setLastUsedOAuth] = useLastUsedOAuth();\n\n if (!config.oauthOptions) return <></>;\n const { providers, loginRedirectURL, signupRedirectURL } = config.oauthOptions;\n\n const [reorderedProviders, foundLastUsed] = arrayUtils.moveToFront(\n providers,\n (provider) => provider.type === lastUsedOAuth,\n );\n\n return (\n <ButtonColumn>\n {reorderedProviders.map((provider, index) => {\n const providerProps = {\n customScopes: provider.custom_scopes,\n providerParams: provider.provider_params,\n };\n\n if (provider.one_tap) {\n return (\n <GoogleOneTap\n position={provider.position}\n key={`oauth-${provider.type}`}\n {...providerProps}\n cancelOnTapOutside={provider.cancel_on_tap_outside}\n />\n );\n }\n\n const button = (\n <OAuthButton\n key={`oauth-${provider.type}`}\n providerType={provider.type}\n loginRedirectUrl={loginRedirectURL}\n signupRedirectUrl={signupRedirectURL}\n onSuccess={() => setLastUsedOAuth(provider.type)}\n {...providerProps}\n />\n );\n\n return foundLastUsed && index === 0 ? <LastUsed>{button}</LastUsed> : button;\n })}\n </ButtonColumn>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { 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 PasskeyConfirmation = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return (\n <Confirmation\n text={t({ id: 'passkey.success.content', message: 'Your Passkey has been successfully authenticated.' })}\n />\n );\n};\n","export enum Device {\n DESKTOP = 'Desktop device',\n MOBILE = 'Mobile device',\n UNKNOWN = 'Unknown device',\n}\n\nexport const determineDeviceType = (userAgent: string): Device => {\n // TODO: Add more device types/ make more fine grained\n if (userAgent === '') {\n return Device.UNKNOWN;\n }\n\n // eslint-disable-next-line lingui/no-unlocalized-strings\n const mobileKeywords = ['mobile', 'android', 'iphone', 'ipad', 'windows phone'];\n userAgent = userAgent.toLowerCase();\n for (const keyword of mobileKeywords) {\n if (userAgent.includes(keyword)) {\n return Device.MOBILE;\n }\n }\n\n return Device.DESKTOP;\n};\n\n// This commonly occurs when a user tries to register a Passkey using a QR code on a separate device\n// but the Passkey has already been sync'd to that device (e.g. the user registers an Apple passkey on their Macbook,\n// it then syncs to their iPhone, and then they try to register the same Passkey on their iPhone). At some point we\n// may be able to remove this logic when this is handled within the browser Passkeys UI.\nexport const SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE =\n 'At least one credential matches an entry of the excludeCredentials list in the platform attached authenticator.';\nexport const CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE =\n 'The user attempted to register an authenticator that contains one of the credentials already registered with the relying party.';\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, useState } from 'react';\n\nimport {\n CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE,\n SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE,\n} from '../../../../utils/passkeys';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { LoadingScreen } from '../../../components/molecules/Loading';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const PasskeyRegistrationStart = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const [userState, setUserState] = useState<'noUser' | 'hasUser' | 'loading'>(() =>\n // We'll optimistically say if the user has a cached session then they are logged in, otherwise we try loading first\n stytchClient.user.getSync() != null ? 'hasUser' : 'loading',\n );\n const [error, setError] = useState<string>();\n const config = useConfig();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n useEffect(() => {\n stytchClient.user\n .get()\n .then(() => {\n setUserState('hasUser');\n })\n .catch((e: StytchAPIError) => {\n setUserState('noUser');\n onError(e);\n });\n }, [onError, stytchClient]);\n\n const [, dispatch] = useGlobalReducer();\n\n const onCreatePasskey = () => {\n setError(undefined);\n\n stytchClient.webauthn\n .register({\n domain: config.passkeyOptions?.domain,\n is_passkey: true,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.PasskeyRegister, data });\n dispatch({ type: 'transition', screen: AppScreens.PasskeyRegistrationSuccess });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n\n if (\n e.message.includes(SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE) ||\n e.message.includes(CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE)\n ) {\n setError(\n t({\n id: 'error.duplicatePasskey',\n message:\n 'The Passkey cannot be created as it seems to be already registered. It is possible this Passkey was registered on another device but has synced cross-device.',\n }),\n );\n return;\n } else {\n setError(\n t({\n id: 'error.passkeyNotCreated',\n message:\n 'Your Passkey was not created. Click “Create a Passkey” to try again or skip without adding a Passkey.',\n }),\n );\n }\n });\n };\n\n const onSkip = () => {\n onEvent({ type: StytchEventType.PasskeySkip, data: {} });\n dispatch({ type: 'transition', screen: AppScreens.PasskeyRegistrationSuccess });\n };\n\n if (userState === 'loading') {\n return <LoadingScreen />;\n }\n\n if (userState === 'noUser') {\n return (\n <ErrorText>\n {t({\n id: 'passkey.registrationStart.error.noUser',\n message: 'Error: Cannot use PasskeyRegistration component without active user authenticated.',\n })}\n </ErrorText>\n );\n }\n\n return (\n <Column gap={6}>\n <TextColumn\n header={t({\n id: 'passkey.registrationStart.title',\n message: 'Set up a new Passkey',\n })}\n body={t({\n id: 'passkey.registrationStart.subtitle',\n message: \"With Passkeys you don't need to remember complex passwords.\",\n })}\n helper={t({\n id: 'passkey.registrationStart.description',\n message:\n 'Passkeys are encrypted digital keys you create using your fingerprint, face, or screen lock. Creating a Passkey will allow you to easily and securely log in to your account.',\n })}\n />\n\n <ButtonColumn>\n <Button variant=\"primary\" onClick={() => onCreatePasskey()}>\n {t({\n id: 'button.createPasskey',\n message: 'Create a Passkey',\n })}\n </Button>\n\n {error && <ErrorText>{error}</ErrorText>}\n\n <Button variant=\"ghost\" onClick={() => onSkip()}>\n {t({\n id: 'button.skip',\n message: 'Skip',\n })}\n </Button>\n </ButtonColumn>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport classNames from 'classnames';\nimport React, { useEffect, useRef } from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Typography from '../../../components/atoms/Typography';\nimport Input from '../../../components/molecules/Input';\nimport styles from './EditableRow.module.css';\n\nexport type EditableRowState =\n | { type: 'viewing' } //\n | { type: 'editing'; id: string; newName: string }\n | { type: 'deleting'; id: string };\n\nconst commonButtonProps = {\n block: false,\n variant: 'ghost',\n} as const;\n\ntype Props = {\n id: string;\n name: string;\n className?: string;\n state: EditableRowState;\n updateState: (newState: EditableRowState) => void;\n handleEdit: (id: string, newName: string) => void;\n};\n\nexport const EditableRow = ({ id, name, className, state, updateState, handleEdit }: Props) => {\n const { t } = useLingui();\n\n const isEditing = isEditingRow(id, state);\n const othersEditing = state.type !== 'viewing' && state.id !== id;\n\n const inputRef = useRef<HTMLInputElement>(null);\n useEffect(() => {\n if (isEditing) {\n inputRef.current?.focus();\n }\n }, [isEditing]);\n\n return (\n <form\n className={classNames(styles.row, className)}\n onSubmit={(evt) => {\n evt.preventDefault();\n if (isEditing) {\n handleEdit(id, state.newName);\n }\n }}\n data-testid={testId(id)}\n >\n <div className={styles.input}>\n {isEditing ? (\n <Input\n id={`passkey-name-${id}`}\n ref={inputRef}\n label={t({ id: 'passkey.editing.label', message: 'Passkey name' })}\n hideLabel\n value={isEditing ? state.newName : name}\n onChange={(e) => {\n if (isEditing) {\n updateState({ ...state, newName: e.target.value });\n }\n }}\n />\n ) : (\n <Typography color=\"muted\">{name}</Typography>\n )}\n </div>\n\n {(() => {\n if (state.type === 'deleting') return null;\n\n if (isEditing) {\n return (\n <div className={styles.actions}>\n <Button key=\"submit\" type=\"submit\" {...commonButtonProps}>\n {t({ id: 'button.save', message: 'Save' })}\n </Button>\n <Button onClick={() => updateState({ type: 'viewing' })} {...commonButtonProps}>\n {t({ id: 'button.cancel', message: 'Cancel' })}\n </Button>\n </div>\n );\n }\n\n if (state.type === 'viewing' || othersEditing) {\n return (\n <div className={styles.actions}>\n <Button\n // key required to workaround a React/Preact issue when button type is updated on re-render\n key=\"edit\"\n onClick={() => updateState({ type: 'editing', id, newName: name })}\n disabled={othersEditing}\n {...commonButtonProps}\n >\n {t({ id: 'button.edit', message: 'Edit' })}\n </Button>\n <Button\n onClick={() => updateState({ type: 'deleting', id })}\n disabled={othersEditing}\n {...commonButtonProps}\n >\n {t({ id: 'button.delete', message: 'Delete' })}\n </Button>\n </div>\n );\n }\n })()}\n </form>\n );\n};\n\nexport function isEditingRow(\n id: string,\n state: EditableRowState,\n): state is Extract<EditableRowState, { type: 'editing' }> {\n return state.type === 'editing' && state.id === id;\n}\n\nexport function testId(id: string) {\n return `editable-row-${id}`;\n}\n","import { useLingui } from '@lingui/react/macro';\nimport { logger } from '@stytch/core';\nimport { errorToStytchError, StytchEventType, WebAuthnRegistration } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\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 ErrorText from '../../../components/molecules/ErrorText';\nimport { useStytchUser } from '../../../hooks/useStytchUser';\nimport { AppScreens, useEventCallback, useGlobalReducer, useStytch } from '../../GlobalContextProvider';\nimport { EditableRow, EditableRowState } from './EditableRow';\nimport styles from './PasskeyRegistrationSuccess.module.css';\n\n// TODO: Add some type of device icon once we have better insight into that.\n// const deviceTypeToIcon: Partial<Record<Device, React.JSX.Element>> = {\n// [Device.DESKTOP]: <Computer />,\n// [Device.MOBILE]: <Mobile />,\n// };\n\ntype OptimisticUpdate = {\n registrations: WebAuthnRegistration[];\n update: Promise<unknown>;\n};\n\nexport const PasskeyRegistrationSuccess = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const user = useStytchUser();\n\n const [optimisticRegistrations, setOptimisticRegistrations] = useState<OptimisticUpdate>();\n const webAuthnRegistrations = optimisticRegistrations?.registrations ?? user?.webauthn_registrations;\n\n const [editableRowState, setEditableRowState] = useState<EditableRowState>({ type: 'viewing' });\n\n const onEvent = useEventCallback();\n const [, dispatch] = useGlobalReducer();\n\n const onSetUpANewPasskey = async () => {\n await optimisticRegistrations?.update;\n dispatch({ type: 'transition', screen: AppScreens.PasskeyRegistrationStart });\n };\n\n const onDone = async () => {\n await optimisticRegistrations?.update;\n onEvent({ type: StytchEventType.PasskeyDone, data: {} });\n };\n\n const startOptimisticUpdate = (registrations: WebAuthnRegistration[], update: Promise<unknown>) => {\n const prevEditableRowState = { ...editableRowState };\n\n setOptimisticRegistrations({ registrations, update });\n setEditableRowState({ type: 'viewing' });\n\n update\n .catch((error) => {\n logger.error(error);\n errorToast({ message: errorToStytchError(error).message });\n setEditableRowState(prevEditableRowState);\n })\n .then(() => {\n setOptimisticRegistrations(undefined);\n });\n };\n\n const deleteReg = (id: string) => {\n if (!user) return;\n\n startOptimisticUpdate(\n user.webauthn_registrations.filter((r) => r.webauthn_registration_id !== id),\n stytchClient.user.deleteWebauthnRegistration(id),\n );\n };\n\n const updateReg = (id: string, name: string) => {\n if (!user) return;\n\n startOptimisticUpdate(\n user.webauthn_registrations.map((r) => (r.webauthn_registration_id === id ? { ...r, name } : r)),\n stytchClient.webauthn.update({ webauthn_registration_id: id, name }).then(() => stytchClient.user.get()),\n );\n };\n\n return (\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({\n id: 'passkey.registrationSuccess.title',\n message: 'Passkey successfully created!',\n })}\n </Typography>\n\n {webAuthnRegistrations && webAuthnRegistrations.length > 0 && (\n <Column gap={4}>\n <Typography weight=\"medium\">\n {t({\n id: 'passkey.registrationSuccess.existingPasskeys',\n message: 'Existing Passkeys',\n })}\n </Typography>\n\n <Column className={styles.existing}>\n {webAuthnRegistrations.map((registration: WebAuthnRegistration) => (\n // TODO: Add some type of device icon once we have better insight into that.\n // deviceTypeToIcon[determineDeviceType(registration.user_agent)]\n <EditableRow\n className={styles.passkeyRow}\n key={registration.webauthn_registration_id}\n id={registration.webauthn_registration_id}\n name={registration.name}\n state={editableRowState}\n updateState={setEditableRowState}\n handleEdit={updateReg}\n />\n ))}\n </Column>\n </Column>\n )}\n\n <ButtonColumn>\n {editableRowState.type === 'deleting' ? (\n <>\n <Button\n variant=\"destructive\"\n onClick={() => {\n deleteReg(editableRowState.id);\n }}\n >\n {t({\n id: 'button.delete',\n message: 'Delete',\n })}\n </Button>\n\n <ErrorText\n // alert role to ensure this gets read out when the row delete button is clicked\n role=\"alert\"\n >\n {t({\n id: 'passkey.registrationSuccess.deleteWarning',\n message: 'Once deleted, the passkey cannot be restored.',\n })}\n </ErrorText>\n\n <Button\n variant=\"ghost\"\n onClick={() => {\n setEditableRowState({ type: 'viewing' });\n }}\n >\n {t({\n id: 'button.cancel',\n message: 'Cancel',\n })}\n </Button>\n </>\n ) : (\n <>\n <Button variant=\"primary\" disabled={editableRowState.type === 'editing'} onClick={onSetUpANewPasskey}>\n {t({\n id: 'passkey.registrationSuccess.setupAnother',\n message: 'Set up another Passkey',\n })}\n </Button>\n\n <Button variant=\"ghost\" disabled={editableRowState.type === 'editing'} onClick={onDone}>\n {t({\n id: 'button.done',\n message: 'Done',\n })}\n </Button>\n </>\n )}\n </ButtonColumn>\n </Column>\n );\n};\n","import { convertMagicLinkOptions, convertPasswordResetOptions } from '../../../../utils';\nimport { AppScreens, useConfig, useGlobalReducer, useStytch } from '../../GlobalContextProvider';\n\n/**\n * Handle the common behavior part of email actions, used in conjunction with <EmailActionLayout>\n */\nexport function useResetResendPasswordActions() {\n const [state, dispatch] = useGlobalReducer();\n const stytchClient = useStytch();\n const email = state.formState.passwordState.email;\n const { emailMagicLinksOptions, passwordOptions } = useConfig();\n\n return {\n email,\n\n resendResetPassword: () =>\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)),\n\n sendMagicLink: async () => {\n const result = await stytchClient.magicLinks.email.loginOrCreate(\n email,\n convertMagicLinkOptions(emailMagicLinksOptions),\n );\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n return result;\n },\n\n goBack: () => dispatch({ type: 'transition', screen: AppScreens.Main }),\n };\n}\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordBreached = () => {\n const { t } = useLingui();\n\n const { email, resendResetPassword, sendMagicLink, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.breached.title',\n message: 'Check your email to set a new password',\n })}\n description={\n <Trans\n id=\"password.breached.content\"\n message=\"A different site where you use the same password had a security issue recently. For your safety, an email was sent to you at <bold>{email}</bold> to reset your password.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={resendResetPassword}\n sendMagicLink={sendMagicLink}\n goBack={goBack}\n />\n );\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 PasswordConfirmation = () => {\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return <Confirmation />;\n};\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordDedupe = () => {\n const { t } = useLingui();\n\n const { email, resendResetPassword, sendMagicLink, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.resetRequired.title',\n message: 'Check your email to set a new password',\n })}\n description={\n <Trans\n id=\"password.resetRequired.content\"\n message=\"We want to make sure your account is secure and that it's really you logging in! A login link was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={resendResetPassword}\n sendMagicLink={sendMagicLink}\n goBack={goBack}\n />\n );\n};\n","import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport { EmailSentType } from '@stytch/core';\nimport React from 'react';\n\nimport { readB2CInternals } from '../../../../utils/internal';\nimport EmailActionLayout from '../../../components/molecules/EmailActionLayout';\nimport { useStytch } from '../../GlobalContextProvider';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordForgot = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n\n const { email, resendResetPassword, sendMagicLink, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({ id: 'password.forgot.title', message: 'Forgot your password?' })}\n description={\n <Trans\n id=\"password.forgot.content\"\n message=\"A link to reset your password was sent to you at <bold>{email}</bold>.\"\n components={{ bold: <b /> }}\n values={{ email }}\n />\n }\n resend={() => {\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: email, type: EmailSentType.ResetPassword },\n });\n\n return resendResetPassword();\n }}\n sendMagicLink={sendMagicLink}\n goBack={goBack}\n />\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 { useErrorCallback, useEventCallback } from '../../GlobalContextProvider';\nimport { useResetResendPasswordActions } from './useResetResendPasswordActions';\n\nexport const PasswordSetNew = () => {\n const { t } = useLingui();\n const onError = useErrorCallback();\n const onEvent = useEventCallback();\n\n const { email, resendResetPassword, goBack } = useResetResendPasswordActions();\n\n return (\n <EmailActionLayout\n header={t({\n id: 'password.setNew.title',\n message: 'Check your email',\n })}\n description={\n <Trans\n id=\"password.setNew.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={async () => {\n try {\n const data = await resendResetPassword();\n onEvent({ type: StytchEventType.PasswordResetByEmailStart, data });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n onError(e);\n throw e;\n }\n }}\n goBack={goBack}\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 { debounce } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport VerticalTransition from '../../../components/atoms/VerticalTransition';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { getNewPasswordProps, PasswordError, PasswordErrorProps } from '../../../components/molecules/PasswordError';\nimport { PasswordInput } from '../../../components/molecules/PasswordInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\nimport { useBootstrap } from '../../utils';\n\nexport const ResetPasswordScreen = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const { bootstrap } = useBootstrap();\n const [state, dispatch] = useGlobalReducer();\n const passwordToken = state.formState.resetPasswordState.token;\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const resetTokenType = useMemo(() => {\n const parsed = stytchClient.parseAuthenticateUrl();\n return parsed?.tokenType ?? '';\n }, [stytchClient]);\n\n const [password, setPassword] = useState('');\n const [passwordError, setPasswordError] = useState<PasswordErrorProps>({ policy: 'notLoaded' });\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n // Passwordless login states\n const [loginErrorMessage, setLoginErrorMessage] = useState('');\n const [isLoggingIn, setIsLoggingIn] = useState(false);\n\n const updateStrengthCheck = useMemo(\n () =>\n debounce((password: string) => {\n setErrorMessage('');\n return stytchClient.passwords\n .strengthCheck({ password })\n .then(({ score, feedback, valid_password, 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: feedback.warning,\n passwordSuggestions: feedback.suggestions,\n });\n } else if (strength_policy === 'luds') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n missingCharacters: feedback.luds_requirements.missing_characters,\n missingComplexity: feedback.luds_requirements.missing_complexity,\n });\n }\n });\n }),\n [stytchClient.passwords],\n );\n\n useEffect(() => {\n if (resetTokenType === 'login') {\n stytchClient.magicLinks\n .authenticate(passwordToken, {\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: Error) => {\n onError(e);\n });\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 stytchClient.passwords\n .resetByEmail({\n token: passwordToken,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.PasswordResetByEmail, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n setIsSubmitting(false);\n });\n };\n\n const handlePasswordlessLogin = () => {\n setLoginErrorMessage('');\n setIsLoggingIn(true);\n stytchClient.magicLinks\n .authenticate(passwordToken, {\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setLoginErrorMessage(getTranslatedError(e, t));\n })\n .finally(() => {\n setIsLoggingIn(false);\n });\n };\n\n if (resetTokenType === 'login') {\n return (\n // Same as <LoggingInScreen>, but use its own string ID\n <Typography variant=\"header\" align=\"center\">\n {t({\n id: 'password.reset.loggingInProgress',\n message: 'Logging in...',\n })}\n </Typography>\n );\n }\n\n const passwordInputProps = getNewPasswordProps(bootstrap, passwordError.policy);\n\n return (\n <form onSubmit={handleSubmit}>\n <Column gap={6}>\n <Typography variant=\"header\">\n {t({\n id: 'password.reset.title',\n message: 'Reset your password',\n })}\n </Typography>\n\n <Column gap={2}>\n <PasswordInput\n password={password}\n setPassword={onPasswordChange}\n error={errorMessage}\n {...passwordInputProps}\n />\n\n <div>\n {errorMessage && <ErrorText>{errorMessage}</ErrorText>}\n <PasswordError bootstrap={bootstrap} {...passwordError} />\n </div>\n </Column>\n\n <ButtonColumn\n top={\n <Button\n variant=\"primary\"\n loading={isSubmitting}\n type=\"submit\"\n disabled={passwordError.policy === 'notLoaded' || passwordError.passwordInvalid}\n >\n {t({\n id: 'button.continue',\n message: 'Continue',\n })}\n </Button>\n }\n bottom={\n <Column gap={2}>\n <Button variant=\"outline\" disabled={isLoggingIn} onClick={handlePasswordlessLogin} loading={isLoggingIn}>\n <VerticalTransition\n primary={t({\n id: 'password.reset.loginWithoutPassword',\n message: 'Login without a password',\n })}\n secondary={t({\n id: 'login.loading',\n message: 'Logging in...',\n })}\n triggered={isLoggingIn}\n />\n </Button>\n\n {loginErrorMessage && <ErrorText>{loginErrorMessage}</ErrorText>}\n </Column>\n }\n />\n </Column>\n </form>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_OTP_EXPIRATION_MINUTES } from '@stytch/core';\nimport { OTPMethods, StytchEventType, StytchSDKAPIError } from '@stytch/core/public';\nimport { useState } from 'react';\n\nimport { convertMagicLinkOptions } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport { errorToast } from '../../../components/atoms/Toast';\nimport {\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport function usePasswordlessAuthenticate() {\n const { t } = useLingui();\n\n const stytchClient = useStytch();\n const { emailMagicLinksOptions, otpOptions } = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const email = state.formState.passwordState.email;\n\n const sendLink = async () => {\n setIsSubmitting(true);\n\n try {\n const data = await stytchClient.magicLinks.email.loginOrCreate(\n email,\n convertMagicLinkOptions(emailMagicLinksOptions),\n );\n onEvent({ type: StytchEventType.MagicLinkLoginOrCreateEvent, data: { ...data, email } });\n dispatch({ type: 'set_magic_link_email', email: email });\n } catch (e) {\n onError(e as StytchSDKAPIError);\n errorToast({ message: getTranslatedError(e as StytchSDKAPIError, t) });\n throw e;\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const sendCode = async () => {\n setIsSubmitting(true);\n\n try {\n const data = await stytchClient.otps.email.loginOrCreate(email, {\n expiration_minutes: otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n locale: otpOptions?.locale,\n });\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: OTPMethods.Email,\n methodId: data.method_id,\n otpDestination: email,\n },\n });\n } catch (e) {\n onError(e as StytchSDKAPIError);\n errorToast({ message: getTranslatedError(e as StytchSDKAPIError, t) });\n throw e;\n } finally {\n setIsSubmitting(false);\n }\n };\n\n return {\n sendLink,\n sendCode,\n isSubmitting,\n };\n}\n","import { EmailSentType } from '@stytch/core';\nimport React, { useEffect, useState } from 'react';\n\nimport { readB2CInternals } from '../../../../utils/internal';\nimport { useCountdown } from '../../../components/atoms/Countdown';\nimport { EmailConfirmationView } from '../../../components/organisms/EmailConfirmationView';\nimport { AppScreens, useConfig, useGlobalReducer, useStytch } from '../../GlobalContextProvider';\nimport { usePasswordlessAuthenticate } from './usePasswordlessAuthenticate';\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 } = readB2CInternals(stytch).bootstrap.getSync();\n return emailDomains;\n });\n\n useEffect(() => {\n readB2CInternals(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\nexport const EmailConfirmation = ({ showGoBack = true }: { showGoBack?: boolean }) => {\n const stytchClient = useStytch();\n const [state, dispatch] = useGlobalReducer();\n const emailDomain = useEmailDomain();\n const countdown = useCountdown();\n const { sendLink, isSubmitting } = usePasswordlessAuthenticate();\n\n const email =\n state.formState.magicLinkState.email !== ''\n ? state.formState.magicLinkState.email\n : state.formState.passwordState.email;\n\n const goBack = () => {\n dispatch({ type: 'set_magic_link_email', email: '' });\n dispatch({ type: 'transition', screen: AppScreens.Main });\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: email, type: EmailSentType.LoginOrCreateEML },\n });\n };\n\n return (\n <EmailConfirmationView\n emailDomain={emailDomain}\n email={email}\n goBack={showGoBack ? goBack : undefined}\n resend={sendLink}\n countdown={countdown}\n isSubmitting={isSubmitting}\n />\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { DEFAULT_OTP_EXPIRATION_MINUTES, DEFAULT_SESSION_DURATION_MINUTES, EmailSentType } from '@stytch/core';\nimport { OTPMethods, StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport { formatNumber } from '../../../../utils/handleParsePhoneNumber';\nimport { readB2CInternals } from '../../../../utils/internal';\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 { ResendOTPButton } from '../../../components/organisms/ResendOTPButton';\nimport { SentOTPEntry } from '../../../components/organisms/SentOTPEntry';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const OTPAuthenticate = ({ hideBackButton = false }: { hideBackButton?: boolean }) => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n const stytchClient = useStytch();\n const config = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const [isSubmitting, setIsSubmitting] = useState<boolean>(false);\n\n const destination = state.formState.otpState.otpDestination;\n const selectionMethod = state.formState.otpState.type;\n const [errorMessage, setErrorMessage] = useState('');\n const [formattedDestination, setFormattedDestination] = useState(destination);\n\n const calculateExpiration = () =>\n Date.now() + 1000 * 60 * (config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES);\n\n useEffect(() => {\n const parseDestination = async () => {\n const parsePhoneNumber = (phoneNumber: string) =>\n readB2CInternals(stytchClient).clientsideServices.parsedPhoneNumber({ phoneNumber });\n\n const national = await formatNumber({\n parsePhoneNumber,\n phoneNumber: destination,\n });\n\n setFormattedDestination(selectionMethod === OTPMethods.Email ? destination : national);\n };\n\n parseDestination();\n }, [selectionMethod, destination, stytchClient]);\n\n const [expiration, setExpiration] = useState(calculateExpiration);\n const resendCountdown = useCountdown();\n\n const resendOTP = async () => {\n if (selectionMethod === OTPMethods.Email) {\n readB2CInternals(stytchClient).networkClient.logEvent({\n name: 'email_try_again_clicked',\n details: { email: destination, type: EmailSentType.LoginOrCreateOTP },\n });\n }\n\n try {\n const data = await stytchClient.otps[selectionMethod].loginOrCreate(destination, {\n expiration_minutes: config.otpOptions?.expirationMinutes ?? DEFAULT_OTP_EXPIRATION_MINUTES,\n });\n\n onEvent({ type: StytchEventType.OTPsLoginOrCreateEvent, data });\n setExpiration(calculateExpiration());\n dispatch({\n type: 'update_otp_state',\n otpState: {\n type: selectionMethod,\n methodId: data.method_id,\n otpDestination: destination,\n },\n });\n } catch (e: unknown) {\n onError(e as StytchAPIError);\n setErrorMessage(getTranslatedError(e as StytchAPIError, t));\n throw e;\n }\n };\n\n const handleSubmit = async (otp: string) => {\n setIsSubmitting(true);\n stytchClient.otps\n .authenticate(otp, state.formState.otpState.methodId, {\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n onEvent({ type: StytchEventType.OTPsAuthenticate, data });\n setIsSubmitting(false);\n dispatch({\n type: 'transition',\n screen: AppScreens.OTPConfirmation,\n });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n resendCountdown.clear();\n setIsSubmitting(false);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n\n return (\n <Column gap={6}>\n <SentOTPEntry\n expiration={expiration}\n formattedDestination={formattedDestination}\n isSubmitting={isSubmitting}\n onSubmit={handleSubmit}\n errorMessage={errorMessage}\n />\n\n <ButtonColumn>\n <ResendOTPButton countdown={resendCountdown} resendOTP={resendOTP} isSubmitting={isSubmitting} />\n\n {!hideBackButton && (\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\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 { 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 OTPConfirmation = () => {\n const { t } = useLingui();\n const onEvent = useEventCallback();\n useMountEffect(() => {\n onEvent({ type: StytchEventType.AuthenticateFlowComplete, data: {} });\n });\n\n return (\n <Confirmation text={t({ id: 'otp.success.content', message: 'Your passcode has been successfully verified.' })} />\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, { useState } from 'react';\n\nimport { convertPasswordResetOptions } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport ButtonColumn from '../../../components/molecules/ButtonColumn';\nimport EmailInput from '../../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../../components/molecules/PasswordInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\n\nexport const PasswordAuthenticate = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const passwordOptions = config.passwordOptions;\n const [state, dispatch] = useGlobalReducer();\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\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.passwords\n .authenticate({\n email,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.PasswordAuthenticate, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n if (e.error_type === 'reset_password') {\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)).then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordDedupe });\n });\n } else {\n setErrorMessage(getTranslatedError(e, t));\n }\n setIsSubmitting(false);\n });\n };\n\n const onForgot = () => {\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)).then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordForgot });\n });\n };\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={setEmail} disabled />\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={onForgot}>\n {t({ id: 'button.forgotPassword', message: 'Forgot your password?' })}\n </Button>\n </ButtonColumn>\n </Column>\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, { useMemo, useState } from 'react';\n\nimport { convertPasswordResetOptions, debounce, noop } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport EmailInput from '../../../components/molecules/EmailInput';\nimport { getNewPasswordProps, PasswordError, PasswordErrorProps } from '../../../components/molecules/PasswordError';\nimport { PasswordInput } from '../../../components/molecules/PasswordInput';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\nimport { useBootstrap } from '../../utils';\n\nexport const PasswordNewUser = () => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const { bootstrap } = useBootstrap();\n const config = useConfig();\n const passwordOptions = config.passwordOptions;\n\n const [state, dispatch] = useGlobalReducer();\n\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const email = state.formState.passwordState.email;\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((email: string, password: string) => {\n setErrorMessage('');\n stytchClient.passwords\n .strengthCheck({ email, password })\n .then(({ score, feedback, valid_password, 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: feedback.warning,\n passwordSuggestions: feedback.suggestions,\n });\n } else if (strength_policy === 'luds') {\n setPasswordError({\n policy: strength_policy,\n ...common,\n missingCharacters: feedback.luds_requirements.missing_characters,\n missingComplexity: feedback.luds_requirements.missing_complexity,\n });\n }\n })\n .catch((e: StytchAPIError) => {\n setErrorMessage(getTranslatedError(e, t));\n });\n }),\n [stytchClient.passwords, t],\n );\n\n const onPasswordChange = (password: string) => {\n setPassword(password);\n updateStrengthCheck(email, password);\n };\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setErrorMessage('');\n setIsSubmitting(true);\n stytchClient.passwords\n .create({\n email,\n password,\n session_duration_minutes: config.sessionOptions?.sessionDurationMinutes ?? DEFAULT_SESSION_DURATION_MINUTES,\n })\n .then((data) => {\n setIsSubmitting(false);\n onEvent({ type: StytchEventType.PasswordCreate, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordConfirmation });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n if (e.error_type === 'reset_password') {\n stytchClient.passwords.resetByEmailStart(convertPasswordResetOptions(email, passwordOptions)).then(() => {\n dispatch({ type: 'transition', screen: AppScreens.PasswordDedupe });\n });\n } else {\n setErrorMessage(getTranslatedError(e, t));\n }\n setIsSubmitting(false);\n });\n };\n\n const passwordInputProps = getNewPasswordProps(bootstrap, passwordError.policy);\n\n return (\n <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n <EmailInput email={email} setEmail={noop} disabled />\n\n <PasswordInput password={password} setPassword={onPasswordChange} error={errorMessage} {...passwordInputProps} />\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({\n id: 'button.continue',\n message: 'Continue',\n })}\n </Button>\n </Column>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { StytchAPIError, StytchEventType } from '@stytch/core/public';\nimport React, { useState } from 'react';\n\nimport { convertPasswordResetOptions } from '../../../../utils';\nimport { getTranslatedError } from '../../../../utils/getTranslatedError';\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Divider from '../../../components/molecules/Divider';\nimport ErrorText from '../../../components/molecules/ErrorText';\nimport { useMountEffect } from '../../../hooks/useMountEffect';\nimport {\n AppScreens,\n useConfig,\n useErrorCallback,\n useEventCallback,\n useGlobalReducer,\n useStytch,\n} from '../../GlobalContextProvider';\nimport { EmailConfirmation } from './EmailConfirmation';\nimport { OTPAuthenticate } from './OTPAuthenticate';\nimport { usePasswordlessAuthenticate } from './usePasswordlessAuthenticate';\n\ntype PasswordlessAuthenticateProps = {\n secondaryType: 'eml' | 'otp' | undefined;\n};\n\nexport const PasswordlessAuthenticate = ({ secondaryType }: PasswordlessAuthenticateProps) => {\n const { t } = useLingui();\n const stytchClient = useStytch();\n const config = useConfig();\n const [state, dispatch] = useGlobalReducer();\n const onEvent = useEventCallback();\n const onError = useErrorCallback();\n\n const [errorMessage, setErrorMessage] = useState('');\n\n const { sendLink, sendCode } = usePasswordlessAuthenticate();\n const passwordOptions = config.passwordOptions;\n\n const email = state.formState.passwordState.email;\n\n const resetPassword = () => {\n stytchClient.passwords\n .resetByEmailStart(convertPasswordResetOptions(email, passwordOptions))\n .then((data) => {\n onEvent({ type: StytchEventType.PasswordResetByEmailStart, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNew });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n setErrorMessage(getTranslatedError(e, t));\n });\n };\n\n useMountEffect(() => {\n switch (secondaryType) {\n case 'eml':\n sendLink().catch(() => {\n // Swallow error to avoid unhandled promise errors, sendLink() will already show error toast\n });\n return;\n\n case 'otp':\n sendCode().catch(() => {\n // Swallow error to avoid unhandled promise errors, sendLink() will already show error toast\n });\n return;\n\n default:\n stytchClient.passwords\n .resetByEmailStart(convertPasswordResetOptions(email, passwordOptions))\n .then((data) => {\n onEvent({ type: StytchEventType.PasswordResetByEmailStart, data });\n dispatch({ type: 'transition', screen: AppScreens.PasswordSetNew });\n })\n .catch((e: StytchAPIError) => {\n onError(e);\n });\n return;\n }\n });\n\n if (!secondaryType) {\n return null;\n }\n\n return (\n <>\n {secondaryType === 'eml' ? <EmailConfirmation showGoBack={false} /> : <OTPAuthenticate hideBackButton />}\n\n <Divider />\n\n <Column gap={2}>\n <Button onClick={resetPassword} variant=\"outline\">\n {t({ id: 'button.createPasswordInstead', message: 'Create a password instead' })}\n </Button>\n {errorMessage && <ErrorText>{errorMessage}</ErrorText>}\n </Column>\n </>\n );\n};\n","import { useLingui } from '@lingui/react/macro';\nimport { OTPMethods } from '@stytch/core/public';\nimport React, { Dispatch } from 'react';\n\nimport Button from '../../../components/atoms/Button';\nimport Column from '../../../components/atoms/Column';\nimport Typography from '../../../components/atoms/Typography';\nimport Divider from '../../../components/molecules/Divider';\nimport TextColumn from '../../../components/molecules/TextColumn';\nimport { AppScreens, useConfig, useGlobalReducer } from '../../GlobalContextProvider';\nimport { Action } from '../../reducer';\nimport { hasProduct } from '../../utils';\nimport { PasswordAuthenticate } from '../Password/PasswordAuthenticate';\nimport { PasswordNewUser } from '../Password/PasswordNewUser';\nimport { PasswordlessAuthenticate } from './PasswordlessAuthenticate';\nimport { usePasswordlessAuthenticate } from './usePasswordlessAuthenticate';\n\nexport const PasswordCreateAuthenticate = () => {\n const { t } = useLingui();\n const { emailMagicLinksOptions, otpOptions, products } = useConfig();\n const [state, dispatch] = useGlobalReducer();\n\n const otpMethods = otpOptions?.methods ?? [];\n const hasEmailMagicLink = hasProduct(products, 'emailMagicLinks') && !!emailMagicLinksOptions;\n const hasOTPEmail = otpMethods.includes(OTPMethods.Email);\n const secondaryType = hasOTPEmail ? 'otp' : hasEmailMagicLink ? 'eml' : undefined;\n const userType = state.formState.passwordState.type;\n\n const secondaryAuth = useSecondaryAuthenticate(secondaryType, { dispatch });\n\n return (\n <Column gap={2}>\n {(() => {\n switch (userType) {\n case 'new':\n return (\n <Column gap={6}>\n {secondaryAuth ? (\n <TextColumn\n header={t({ id: 'password.createAccount.title', message: 'Create an account' })}\n body={t({\n id: 'createAccount.title',\n message: 'Choose how you would like to create your account.',\n })}\n />\n ) : (\n <TextColumn\n header={t({ id: 'password.setPassword.title', message: 'Set a password' })}\n body={t({\n id: 'password.createAccount.content',\n message: 'Finish creating your account by setting a password.',\n })}\n />\n )}\n\n {secondaryAuth && (\n <Button variant=\"primary\" onClick={secondaryAuth.handle} loading={secondaryAuth.isSubmitting}>\n {secondaryAuth.buttonText}\n </Button>\n )}\n\n {secondaryAuth && <Divider />}\n\n <PasswordNewUser />\n </Column>\n );\n\n case 'password':\n return (\n <Column gap={6}>\n <Typography variant=\"header\">{t({ id: 'password.login.title', message: 'Log in' })}</Typography>\n\n <PasswordAuthenticate />\n\n {secondaryAuth && <Divider />}\n\n {secondaryAuth && (\n <Button variant=\"outline\" onClick={secondaryAuth.handle} loading={secondaryAuth.isSubmitting}>\n {secondaryAuth.buttonText}\n </Button>\n )}\n </Column>\n );\n\n case 'passwordless':\n return <PasswordlessAuthenticate secondaryType={secondaryType} />;\n }\n })()}\n\n <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n {t({ id: 'button.goBack', message: 'Go back' })}\n </Button>\n </Column>\n );\n};\n\nfunction useSecondaryAuthenticate(\n secondaryType: 'eml' | 'otp' | undefined,\n {\n dispatch,\n }: {\n dispatch: Dispatch<Action>;\n },\n) {\n const { t } = useLingui();\n const { sendLink, sendCode, isSubmitting } = usePasswordlessAuthenticate();\n\n if (secondaryType == null) {\n return undefined;\n }\n\n const buttonText =\n secondaryType === 'eml'\n ? t({\n id: 'button.emailMagicLink',\n message: 'Email me a login link',\n })\n : t({\n id: 'button.emailOTP',\n message: 'Email me a login code',\n });\n\n const handle =\n secondaryType === 'eml'\n ? async () => {\n await sendLink();\n dispatch({ type: 'transition', screen: AppScreens.EmailConfirmation });\n }\n : async () => {\n await sendCode();\n dispatch({ type: 'transition', screen: AppScreens.OTPAuthenticate });\n };\n\n return {\n buttonText,\n handle,\n isSubmitting,\n };\n}\n","'use client';\n\nimport { OneTapPositions, OTPMethods } from '@stytch/core/public';\nimport React from 'react';\n\nimport { GoogleOneTap } from './components/GoogleOneTap';\nimport { cryptoIcons, emailIcons, oauthIcons } from './components/Icons';\nimport { AppScreens } from './GlobalContextProvider';\nimport { ConnectWallet } from './screens/Crypto/ConnectWallet';\nimport { Error } from './screens/Crypto/Error';\nimport { OtherCryptoWallets } from './screens/Crypto/OtherWallets';\nimport { SetupNewWallet } from './screens/Crypto/SetupNewWallet';\nimport { SignMessage } from './screens/Crypto/SignMessage';\nimport { Success } from './screens/Crypto/Success';\nimport { CryptoWalletButtons } from './screens/Crypto/WalletButtons';\nimport { LoginForm } from './screens/Main/LoginForm';\nimport { MagicLinkEmailForm } from './screens/Main/LoginForm/MagicLinkForm';\nimport { OTPEmailForm, PhoneForm } from './screens/Main/LoginForm/OTPForm';\nimport { PasskeyButton } from './screens/Main/LoginForm/PasskeyButton';\nimport { PasswordsEmailForm } from './screens/Main/LoginForm/PasswordForm';\nimport { OAuthButtons } from './screens/Main/OAuthButtons';\nimport { PasskeyConfirmation } from './screens/Passkey/PasskeyConfirmation';\nimport { PasskeyRegistrationStart } from './screens/Passkey/PasskeyRegistrationStart';\nimport { PasskeyRegistrationSuccess } from './screens/Passkey/PasskeyRegistrationSuccess';\nimport { PasswordBreached } from './screens/Password/PasswordBreached';\nimport { PasswordConfirmation } from './screens/Password/PasswordConfirmation';\nimport { PasswordDedupe } from './screens/Password/PasswordDedupe';\nimport { PasswordForgot } from './screens/Password/PasswordForgot';\nimport { PasswordSetNew } from './screens/Password/PasswordSetNew';\nimport { ResetPasswordScreen } from './screens/Password/ResetPasswordScreen';\nimport { EmailConfirmation } from './screens/Secondary/EmailConfirmation';\nimport { OTPAuthenticate } from './screens/Secondary/OTPAuthenticate';\nimport { OTPConfirmation } from './screens/Secondary/OTPConfirmation';\nimport { PasswordCreateAuthenticate } from './screens/Secondary/PasswordCreateAuthenticate';\nimport { MagicLinkMethods, PasswordMethods, StytchProduct } from './StytchProduct';\n\nconst PhoneFormSMS = () => <PhoneForm method={OTPMethods.SMS} />;\nconst PhoneFormWhatsApp = () => <PhoneForm method={OTPMethods.WhatsApp} />;\nconst MainWalletButtons = () => <CryptoWalletButtons type=\"main\" />;\nconst FloatingOneTap = () => <GoogleOneTap position={OneTapPositions.floating} />;\n\nexport const emailMagicLinks: StytchProduct = {\n id: 'emailMagicLinks',\n screens: {\n [AppScreens.EmailConfirmation]: EmailConfirmation,\n },\n tabs: {\n [MagicLinkMethods.Email]: MagicLinkEmailForm,\n },\n mainScreen: {\n 'login-form': LoginForm,\n },\n icons: emailIcons,\n};\n\nexport const oauth: StytchProduct = {\n id: 'oauth',\n screens: {\n [AppScreens.FloatingOneTap]: FloatingOneTap,\n },\n mainScreen: {\n oauth: OAuthButtons,\n },\n icons: oauthIcons,\n};\n\nexport const otp: StytchProduct = {\n id: 'otp',\n screens: {\n [AppScreens.OTPAuthenticate]: OTPAuthenticate,\n [AppScreens.OTPConfirmation]: OTPConfirmation,\n },\n tabs: {\n [OTPMethods.Email]: OTPEmailForm,\n [OTPMethods.SMS]: PhoneFormSMS,\n [OTPMethods.WhatsApp]: PhoneFormWhatsApp,\n },\n mainScreen: {\n 'login-form': LoginForm,\n },\n icons: emailIcons,\n};\n\nexport const passwords: StytchProduct = {\n id: 'passwords',\n screens: {\n [AppScreens.PasswordCreateOrLogin]: PasswordCreateAuthenticate,\n [AppScreens.PasswordResetForm]: ResetPasswordScreen,\n [AppScreens.PasswordForgot]: PasswordForgot,\n [AppScreens.PasswordBreached]: PasswordBreached,\n [AppScreens.PasswordSetNew]: PasswordSetNew,\n [AppScreens.PasswordDedupe]: PasswordDedupe,\n [AppScreens.PasswordConfirmation]: PasswordConfirmation,\n },\n tabs: {\n [PasswordMethods.Email]: PasswordsEmailForm,\n },\n mainScreen: {\n 'login-form': LoginForm,\n },\n icons: emailIcons,\n};\n\nexport const passkeys: StytchProduct = {\n id: 'passkeys',\n screens: {\n [AppScreens.PasskeyConfirmation]: PasskeyConfirmation,\n },\n mainScreen: {\n 'passkey-button': PasskeyButton,\n },\n};\n\nexport const passkeyRegistration: StytchProduct = {\n id: 'passkeyRegistration',\n screens: {\n [AppScreens.PasskeyRegistrationStart]: PasskeyRegistrationStart,\n [AppScreens.PasskeyRegistrationSuccess]: PasskeyRegistrationSuccess,\n },\n};\n\nexport const crypto: StytchProduct = {\n id: 'crypto',\n screens: {\n [AppScreens.CryptoConnect]: ConnectWallet,\n [AppScreens.CryptoSignMessage]: SignMessage,\n [AppScreens.CryptoOtherScreen]: OtherCryptoWallets,\n [AppScreens.CryptoSetupWallet]: SetupNewWallet,\n [AppScreens.CryptoError]: Error,\n [AppScreens.CryptoConfirmation]: Success,\n },\n mainScreen: {\n crypto: MainWalletButtons,\n },\n icons: cryptoIcons,\n};\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, SDKConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { AppScreens, AppState, DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { passkeyRegistration } from './Products';\nimport { addProduct } from './utils';\n\nexport const PasskeyRegistrationContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n config: rawConfig,\n presentation,\n callbacks,\n strings,\n styles,\n}: SDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const config = addProduct(rawConfig, passkeyRegistration);\n\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 } = readB2CInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then(({ displayWatermark }) => {\n setDisplayWatermark(displayWatermark);\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://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n const initialState: AppState = {\n ...DEFAULT_STATE,\n screen: AppScreens.PasskeyRegistrationStart,\n formState: {\n ...DEFAULT_STATE.formState,\n },\n };\n\n const presentationValue = usePresentationWithDefault(presentation, displayWatermark, config, 'Products');\n\n return (\n <GlobalContextProvider client={client} config={config} callbacks={callbacks} initialState={initialState}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { PasskeyRegistrationContainer } from '../../b2c/PasskeyRegistrationContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\n\n/**\n * The Stytch Passkey Registration component.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <StytchPasskeyRegistration\n * presentation={{\n * theme: { primary: '#ff00f7' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchPasskeyRegistration = /* @__PURE__ */ createB2CComponent(\n 'StytchPasskeyRegistration',\n PasskeyRegistrationContainer,\n);\n","import { logger, RUN_IN_DEV } from '@stytch/core';\nimport { StytchProjectConfigurationInput } from '@stytch/core/public';\nimport React, { useEffect, useState } from 'react';\n\nimport { messages } from '../../messages/en';\nimport { DeprecatedSDKConfig, ResetPasswordSDKConfig } from '../../types';\nimport { readB2CInternals } from '../../utils/internal';\nimport { I18nProviderWrapper } from '../components/atoms/I18nProviderWrapper';\nimport { PresentationContext, usePresentationWithDefault } from '../components/PresentationConfig';\nimport Container from './Container';\nimport { AppScreens, AppState, DEFAULT_STATE, GlobalContextProvider } from './GlobalContextProvider';\nimport { passwords } from './Products';\nimport { addProduct } from './utils';\n\nexport const ResetPasswordContainer = <TProjectConfiguration extends StytchProjectConfigurationInput>({\n client,\n config: rawConfig,\n presentation,\n callbacks,\n strings,\n styles,\n passwordResetToken: rawToken,\n}: ResetPasswordSDKConfig<TProjectConfiguration> & DeprecatedSDKConfig) => {\n const config = addProduct(rawConfig, passwords);\n\n // Default to reading token from URL if not provided\n let token = rawToken;\n if (!token) {\n const result = client.parseAuthenticateUrl();\n if (result?.tokenType === 'reset_password' || result?.tokenType === 'login') {\n token = result.token;\n }\n }\n\n // Read the watermark out of sync storage, then read it out of async storage\n const [displayWatermark, setDisplayWatermark] = useState(() => {\n const { displayWatermark } = readB2CInternals(client).bootstrap.getSync();\n return displayWatermark;\n });\n useEffect(() => {\n readB2CInternals(client)\n .bootstrap.getAsync()\n .then(({ displayWatermark }) => {\n setDisplayWatermark(displayWatermark);\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://stytch.com/docs/api-reference/consumer/frontend-sdks/react/upgrade-guide#step-by-step-guide',\n );\n }\n });\n\n const initialState: AppState = {\n ...DEFAULT_STATE,\n screen: AppScreens.PasswordResetForm,\n formState: {\n ...DEFAULT_STATE.formState,\n resetPasswordState: {\n token: token!,\n },\n },\n };\n\n const presentationValue = usePresentationWithDefault(presentation, displayWatermark, config, 'Products');\n\n return (\n <GlobalContextProvider client={client} config={config} callbacks={callbacks} initialState={initialState}>\n <PresentationContext.Provider value={presentationValue}>\n <I18nProviderWrapper messages={messages} overrides={strings}>\n <Container />\n </I18nProviderWrapper>\n </PresentationContext.Provider>\n </GlobalContextProvider>\n );\n};\n","import { StytchProjectConfigurationInput } from '@stytch/core/public';\n\nimport { ResetPasswordContainer } from '../../b2c/ResetPasswordContainer';\nimport { createB2CComponent } from '../bindings/createB2CComponent';\nimport { StytchProps } from './StytchLogin';\n\nexport interface StytchResetPasswordProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> extends StytchProps<TProjectConfiguration> {\n /**\n * A Stytch password reset token.\n */\n passwordResetToken: string;\n}\n\n/**\n * The Stytch Reset Password component.\n * This component can only be used with a Stytch UI Client\n * passed into the StytchProvider.\n *\n * See the {@link https://stytch.com/docs/sdks online reference}\n *\n * @example\n * <StytchPasswordReset\n * config={{\n * products: [Products.passwords],\n * passwordOptions: {\n * loginRedirectURL: '${exampleURL}/authenticate',\n * resetPasswordRedirectURL: '${exampleURL}/authenticate',\n * },\n * }}\n * passwordResetToken=\"PvC5UudZ7TPZbELt95yXAQ-8MeEUCRob8bUQ-g52fIJs\"\n * presentation={{\n * theme: { primary: '#0577CA' },\n * options: {},\n * }}\n * callbacks={{\n * onEvent: (event) => console.log(event)\n * }}\n * />\n */\nexport const StytchPasswordReset = /* @__PURE__ */ createB2CComponent('StytchPasswordReset', ResetPasswordContainer);\n","'use client';\n\nimport { Session, StytchProjectConfigurationInput, User } from '@stytch/core/public';\nimport { StytchClient } from '@stytch/web/headless';\nimport {\n StytchProvider as StytchProviderShared,\n useStytchIsAuthorized as useStytchIsAuthorizedShared,\n useStytchSession as useStytchSessionShared,\n useStytchUser as useStytchUserShared,\n withStytchPermissions as withStytchPermissionsShared,\n withStytchSession as withStytchSessionShared,\n withStytchUser as withStytchUserShared,\n} from '@stytch/web/react/b2c';\nimport React, { ComponentType, ReactNode } from 'react';\n\nexport { useStytch, withStytch } from '@stytch/web/react/b2c';\n\n/**\n * Returns the active User.\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 user data is from persistent storage.\n * @example\n * const {user, isInitialized, fromCache} = useStytchUser();\n * if (!isInitialized) {\n * return <p>Loading...</p>;\n * }\n * return (<h1>Welcome, {user.name.first_name}</h1>);\n */\nexport const useStytchUser = useStytchUserShared as <TAssumeHydrated extends boolean = true>() => ReturnType<\n typeof useStytchUserShared<TAssumeHydrated>\n>;\n\n/**\n * Returns the active user's Stytch 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} = useStytchSession();\n * useEffect(() => {\n * if (!isInitialized) {\n * return;\n * }\n * if (!session) {\n * router.replace('/login')\n * }\n * }, [session, isInitialized]);\n */\nexport const useStytchSession = useStytchSessionShared as <TAssumeHydrated extends boolean = true>() => ReturnType<\n typeof useStytchSessionShared<TAssumeHydrated>\n>;\n\nexport const withStytchUser = withStytchUserShared as <T extends object, TAssumeHydrated extends boolean = true>(\n Component: ComponentType<\n T & { stytchUser: User | null; stytchUserIsInitialized: boolean; stytchUserIsFromCache: boolean }\n >,\n) => ReturnType<typeof withStytchUserShared<T, TAssumeHydrated>>;\n\nexport const withStytchSession = withStytchSessionShared as <T extends object, TAssumeHydrated extends boolean = true>(\n Component: ComponentType<\n T & { stytchSession: Session | null; stytchSessionIsInitialized: boolean; stytchSessionIsFromCache: boolean }\n >,\n) => ReturnType<typeof withStytchSessionShared<T, TAssumeHydrated>>;\n\nexport const useStytchIsAuthorized = useStytchIsAuthorizedShared as <TAssumeHydrated extends boolean = true>(\n resourceId: string,\n action: string,\n) => ReturnType<typeof useStytchIsAuthorizedShared<TAssumeHydrated>>;\n\nexport const withStytchPermissions = withStytchPermissionsShared as <\n Permissions extends Record<string, string>,\n T extends object,\n>(\n Component: ComponentType<T & { stytchPermissions: Record<string, Record<string, boolean>> }>,\n) => ReturnType<typeof withStytchPermissionsShared<Permissions, T>>;\n\nexport interface StytchProviderProps<\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n> {\n /**\n * A Stytch client instance, a {@link StytchClient}\n */\n stytch: StytchClient<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 = createStytchClient('public-token-<find yours in the stytch dashboard>')\n *\n * ReactDOM.render(\n * <StytchProvider stytch={stytch}>\n * <App />\n * </StytchProvider>,\n * document.getElementById('root'),\n * )\n */\nexport const StytchProvider = <\n TProjectConfiguration extends StytchProjectConfigurationInput = Stytch.DefaultProjectConfiguration,\n>({\n stytch,\n children,\n assumeHydrated = true,\n}: StytchProviderProps<TProjectConfiguration>): JSX.Element => (\n <StytchProviderShared stytch={stytch} assumeHydrated={assumeHydrated}>\n {children}\n </StytchProviderShared>\n);\n","import { createStytchClient } from '@stytch/web/headless';\n\n/**\n * @deprecated - use {@link createStytchClient} instead\n */\nexport const createStytchUIClient = createStytchClient;\n\nexport type { StytchProviderProps } from './StytchContext';\nexport {\n StytchProvider,\n useStytch,\n useStytchIsAuthorized,\n useStytchSession,\n useStytchUser,\n withStytch,\n withStytchPermissions,\n withStytchSession,\n withStytchUser,\n} from './StytchContext';\nexport * from '@stytch/core/public';\nexport type {\n AuthTokenParams,\n IDPConsentManifestGenerator,\n IDPSDKConfig,\n ResetPasswordSDKConfig,\n SDKConfig,\n Strings,\n StytchLoginConfig,\n} from '@stytch/web';\nexport { Products } from '@stytch/web';\nexport * from '@stytch/web/common';\nexport * from '@stytch/web/headless';\nexport type { IdentityProviderProps, StytchProps, StytchResetPasswordProps } from '@stytch/web/react/b2c';\nexport { IdentityProvider, StytchLogin, StytchPasskeyRegistration, StytchPasswordReset } from '@stytch/web/react/b2c';\n"],"names":["EmailSentType","messages","_messages","reducer","state","action","type","screen","formState","magicLinkState","email","otpState","cryptoState","passwordState","Error","AppScreens","Main","FloatingOneTap","PasskeyRegistrationStart","PasskeyRegistrationSuccess","PasskeyConfirmation","PasswordCreateOrLogin","PasswordResetForm","PasswordForgot","PasswordBreached","PasswordSetNew","PasswordDedupe","PasswordConfirmation","EmailConfirmation","OTPAuthenticate","OTPConfirmation","CryptoConnect","CryptoSignMessage","CryptoOtherScreen","CryptoSetupWallet","CryptoError","CryptoConfirmation","DEFAULT_STATE","OTPMethods","Email","methodId","otpDestination","walletAddress","walletOption","Wallets","Metamask","walletChallenge","resetPasswordState","token","GlobalContext","React","createContext","client","config","GlobalContextProvider","children","callbacks","initialState","useReducer","Provider","value","useGlobalContext","useContext","useStytch","useGlobalReducer","useConfig","useErrorCallback","useEvent","onError","noop","useEventCallback","onEvent","GenericWalletIcon","size","DEFAULT_ICON_SIZE","props","svg","width","height","viewBox","xmlns","path","d","fill","PasskeyIcon","useStytchUser","stytch","useSyncExternalStore","onStateChange","user","getSync","useBootstrap","stytchClient","bootstrap","setBootstrap","useState","readB2CInternals","fromCache","useEffect","getAsync","then","data","hasProduct","products","product","some","p","id","useProductComponents","screenType","useMemo","map","Object","assign","addProduct","includes","IDPConsentScreenImpl","initialError","initialParams","oauthAuthorizeStart","oauthAuthorizeSubmit","idp","bootstrapNotLoaded","idpConsentInfo","useIDPState","IDPConsent","IDPLogoutScreenImpl","navigate","oauthLogoutStart","revokeSession","session","revoke","forceClear","idpLogoutState","useLogoutState","IDPLogout","IDPConsentScreen","searchParams","window","location","search","flow","error","parseIDPParams","theme","displayWatermark","usePresentation","content","EnsureUserIsLoggedIn","params","MainContainer","useLingui","onErrorRef","useRef","current","authParams","useTrustedAuthTokenParams","attesting","setAttesting","attested","setAttested","attestTrustedToken","trustedAuthToken","tokenProfileID","profile_id","attest","session_duration_minutes","NoCurrentSessionError","LoadingScreen","ErrorDisplay","text","IDPContainer","presentation","strings","styles","getIDPConsentManifest","authTokenParams","presentationValue","usePresentationWithDefault","networkClient","logEvent","name","details","IDPContextProvider","consentManifestGenerator","PresentationContext","I18nProviderWrapper","overrides","initialUser","isInitialized","initialSession","StytchContext","isMounted","StytchUserContext","StytchSessionContext","useIsMounted__INTERNAL","invariant","noProviderError","useStytchSession","ctx","withStytch","Component","WithStytch","displayName","withStytchUser","WithStytchUser","stytchUser","stytchUserIsInitialized","stytchUserIsFromCache","withStytchSession","WithStytchSession","stytchSession","stytchSessionIsInitialized","stytchSessionIsFromCache","useStytchIsAuthorized","resourceId","isAuthorized","setIsAuthorized","useAsyncState","isStytchSSRProxy","rbac","isAuthorizedSync","roles","withStytchPermissions","WithStytchPermissions","permissions","setPermissions","loaded","allPermissions","stytchPermissions","StytchProvider","assumeHydrated","providerMustBeUniqueError","getHydratedState","useCallback","getInfo","getInitialState","setClientState","assumeHydratedRef","updateState","oldState","mergeWithStableProps","createB2CComponent","Wrapped","shadow","options","enableShadowDOM","root","mountPoint","setMountPoint","useLayoutEffect","shadowRoot","attachShadow","mode","document","createElement","appendChild","injectCssIntoNode","injectGlobalStyle","element","div","ref","createPortal","IdentityProvider","useIsOnlyFloatingOneTap","position","oauthOptions","providers","length","OAuthProviders","Google","one_tap","getShouldRenderFloatingOneTap","MAX_ATTEMPTS","usePromptPasskey","canAutofill","shadowDOM","hasPasskeys","dispatch","setError","startPasskeyAuth","conditionalMediation","abortController","resp","webauthn","authenticate","domain","passkeyOptions","sessionOptions","sessionDurationMinutes","DEFAULT_SESSION_DURATION_MINUTES","conditional_mediation","is_passkey","signal","disable_input_check","StytchEventType","PasskeyAuthenticate","e","extractErrorType","message","extractErrorMessage","AbortController","browserSupportsAutofill","i","aborted","DOMException","abort","MainScreen","mainScreenGroups","setMainScreenGroups","hasButtons","hasInput","passkeyError","Boolean","productComponents","loadProductComponents","keys","Array","from","Set","filter","isTruthy","showDivider","splice","unshift","groups","walletIndex","indexOf","oauthIndex","Math","abs","index","min","Typography","variant","color","renderComponent","key","isArray","Column","gap","Divider","hideHeaderText","align","ErrorText","AppContainer","isOnlyFloatingOneTap","currentScreen","screenComponentMap","ScreenComponent","logo","Logo","appLogo","setDisplayWatermark","Container","StytchLogin","useLastUsedOAuth","publicToken","lastUsedOAuth","safeLocalStorage","getItem","setLastUsedOAuth","providerType","setItem","providerInfo","messageDescriptor","Microsoft","Apple","Github","GitLab","Facebook","Discord","Salesforce","Slack","Amazon","Bitbucket","LinkedIn","Coinbase","Twitch","Twitter","TikTok","Snapchat","Figma","Yahoo","OAuthButton","loginRedirectUrl","signupRedirectUrl","customScopes","providerParams","onSuccess","iconRegistry","getButtonId","provider","label","icon","iconName","Icon","onButtonClick","oauth","start","login_redirect_url","signup_redirect_url","custom_scopes","provider_params","Button","onClick","OAUTH_BUTTON_HEIGHT","OneTapMountNode","slot","data-prompt_parent_id","GoogleOneTap","cancelOnTapOutside","oneTapRenderMode","getRenderedOneTapMode","shouldRenderEmbeddedOneTap","shouldRenderOneTap","pending","setPending","canDisplayOneTap","setCanDisplayOneTap","setHeight","oneTapError","setOneTapError","resizeCount","timeout","useIsMounted","lastUsedMethod","onResize","el","clearTimeout","currentHeight","contentRect","setTimeout","getElementById","resizeObserver","ResizeObserver","observe","disconnect","attemptToLoadOneTap","oneTap","clientResult","createOneTapClient","success","reason","OneTapErrors","NoConfiguredOAuthClient","NoConfiguredSignupRedirectUrls","NoConfiguredLoginRedirectUrls","logger","onOneTapCancelled","showError","OriginNotAllowedForClient","renderResult","render","callback","createOnSuccessHandler","loginRedirectURL","signupRedirectURL","redirectOnSuccess","style","cancel","InvalidOAuthClient","$client","catch","err","fallbackButton","fallbackWithLastUsed","LastUsed","DEV","OneTapProvider","willGoogleOneTapShowEmbedded","className","classNames","container","CircularProgress","AmazonIcon","fillRule","clipRule","_styles","darkInvert","AppleIcon","BinanceIcon","BitbucketIcon","CoinbaseIcon","DiscordIcon","FacebookIcon","FigmaIcon","GitlabIcon","LinkedinIcon","MetamaskIcon","PhantomIcon","SalesforceIcon","SnapchatIcon","TiktokIcon","TwitchIcon","XTwitterIcon","oauthIcons","amazon","apple","bitbucket","coinbase","discord","facebook","figma","github","GithubIcon","gitlab","google","GoogleIcon","linkedin","microsoft","MicrosoftIcon","salesforce","slack","SlackIcon","snapchat","tiktok","twitch","xTwitter","yahoo","YahooIcon","cryptoIcons","phantom","metamask","binance","emailIcons","gmail","GmailIcon","outlook","OutlookIcon","require$$0","hasMultipleEthereumWallets","ethereum","hasMetaMask","find","wallet","isMetaMask","hasCoinbaseWallet","isCoinbaseWallet","hasOtherEthereumWallet","getMetaMaskProvider","getCoinbaseProvider","getOtherInjectedProvider","walletIcons","Phantom","Binance","useCryptoButtonProps","getIcon","getId","WalletToText","GenericEthereumWallet","GenericSolanaWallet","isWalletVisible","solana","isPhantom","BinanceChain","connectWithEthereumProvider","request","address","method","connectWithWallet","connectResp","connect","publicKey","toString","signMessageWithSolanaProvider","encodedMessage","TextEncoder","encode","signResp","display","signature","signMessageWithEthereumProvider","signMessageWithWallet","isSolanaWallet","solanaWallets","ConnectWallet","handleError","walletType","onConnectWallet","cryptoWallets","authenticateStart","crypto_wallet_address","crypto_wallet_type","CryptoWalletAuthenticateStart","challenge","useMountEffect","TextColumn","header","body","helper","MAX_BUTTONS","walletMessages","CryptoWalletButtons","oAuthOptions","cryptoButtonsOnMainScreen","onWalletStart","allDetectedWallets","renderOtherScreenButton","mainWallets","slice","otherWallet","walletsToRender","ButtonColumn","walletEnum","OtherCryptoWallets","SetupNewWallet","ButtonAnchor","target","rel","href","SignMessage","onSignWallet","CryptoWalletAuthenticate","Success","Confirmation","jsx","getElementRef","React2","RovingFocusGroup.Root","RovingFocusGroup.Item","MagicLinkMethods","PasswordMethods","OTPTabHeaders","SMS","WhatsApp","getTabMethods","otpMethods","hasPassword","tabMethods","add","LoginForm","otpOptions","productsIncludesOtp","methods","hasEmailMagicLink","hasOTPEmail","tabMethodComponents","Tabs","defaultValue","tabRow","aria-label","buttonClassNames","block","tab","tabIndex","MagicLinkEmailForm","emailMagicLinksOptions","setEmail","errorMessage","setErrorMessage","isSubmitting","setIsSubmitting","handleSubmit","preventDefault","submittingEmail","match","EMAIL_REGEX","magicLinks","loginOrCreate","convertMagicLinkOptions","MagicLinkLoginOrCreateEvent","LoginOrCreateEML","getTranslatedError","as","onSubmit","EmailInput","hideLabel","loading","OTPButtonText","OTPEmailForm","stopSubmit","errorText","handleEmailSubmit","otps","expiration_minutes","expirationMinutes","DEFAULT_OTP_EXPIRATION_MINUTES","login_template_id","loginTemplateId","signup_template_id","signupTemplateId","locale","OTPsLoginOrCreateEvent","method_id","LoginOrCreateOTP","PhoneForm","phoneNumber","setPhoneNumber","country","setCountry","parsePhoneNumber","getExampleNumber","getPhoneNumberProps","clientsideServices","handlePhoneSubmit","parsedNumber","formatNumberToIncludeCountryCode","isValid","number","PhoneInput","phone","setPhone","PasskeyButton","PasswordsEmailForm","searchManager","searchUser","userType","ResetPassword","OAuthButtons","reorderedProviders","foundLastUsed","arrayUtils","moveToFront","providerProps","cancel_on_tap_outside","button","AuthenticateFlowComplete","SAFARI_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE","CHROME_CROSS_DEVICE_DUPLICATE_REG_ERROR_MESSAGE","userState","setUserState","get","onCreatePasskey","undefined","register","PasskeyRegister","onSkip","PasskeySkip","commonButtonProps","EditableRow","handleEdit","isEditing","isEditingRow","othersEditing","inputRef","focus","form","row","evt","newName","data-testid","testId","input","Input","onChange","actions","disabled","optimisticRegistrations","setOptimisticRegistrations","webAuthnRegistrations","registrations","webauthn_registrations","editableRowState","setEditableRowState","onSetUpANewPasskey","update","onDone","PasskeyDone","startOptimisticUpdate","prevEditableRowState","errorToast","errorToStytchError","deleteReg","r","webauthn_registration_id","deleteWebauthnRegistration","updateReg","weight","existing","registration","passkeyRow","role","useResetResendPasswordActions","passwordOptions","resendResetPassword","passwords","resetByEmailStart","convertPasswordResetOptions","sendMagicLink","result","goBack","EmailActionLayout","description","Trans","components","bold","b","values","resend","PasswordResetByEmailStart","ResetPasswordScreen","passwordToken","resetTokenType","parsed","parseAuthenticateUrl","tokenType","password","setPassword","passwordError","setPasswordError","policy","loginErrorMessage","setLoginErrorMessage","isLoggingIn","setIsLoggingIn","updateStrengthCheck","debounce","strengthCheck","score","feedback","valid_password","strength_policy","breached_password","common","passwordInvalid","isPasswordBreached","passwordScore","passwordWarning","warning","passwordSuggestions","suggestions","missingCharacters","luds_requirements","missing_characters","missingComplexity","missing_complexity","onPasswordChange","resetByEmail","PasswordResetByEmail","handlePasswordlessLogin","finally","passwordInputProps","getNewPasswordProps","PasswordInput","PasswordError","top","bottom","VerticalTransition","primary","secondary","triggered","usePasswordlessAuthenticate","sendLink","sendCode","useEmailDomain","emailDomains","setEmailDomains","domainHint","showGoBack","emailDomain","countdown","useCountdown","EmailConfirmationView","hideBackButton","destination","selectionMethod","formattedDestination","setFormattedDestination","calculateExpiration","Date","now","parseDestination","parsedPhoneNumber","national","formatNumber","expiration","setExpiration","resendCountdown","resendOTP","otp","OTPsAuthenticate","clear","SentOTPEntry","ResendOTPButton","PasswordAuthenticate","error_type","onForgot","PasswordNewUser","create","PasswordCreate","PasswordlessAuthenticate","secondaryType","resetPassword","PasswordCreateAuthenticate","secondaryAuth","useSecondaryAuthenticate","handle","buttonText","PhoneFormSMS","PhoneFormWhatsApp","MainWalletButtons","OneTapPositions","floating","emailMagicLinks","screens","tabs","mainScreen","icons","passkeys","passkeyRegistration","crypto","PasskeyRegistrationContainer","rawConfig","StytchPasskeyRegistration","ResetPasswordContainer","passwordResetToken","rawToken","StytchPasswordReset","useStytchUserShared","useStytchSessionShared","withStytchUserShared","withStytchSessionShared","useStytchIsAuthorizedShared","withStytchPermissionsShared","StytchProviderShared","createStytchUIClient","createStytchClient"],"mappings":"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","x_google_ignoreList":[40,41,50,51,52,53,54,55,56,57,58,59,60,61,62,63]}