@passflow/react 0.14.0 → 0.15.1

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 (377) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/README.md +29 -16
  3. package/dist/index.cjs +2 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.es.js +143 -143
  6. package/dist/index.es.js.map +1 -1
  7. package/dist/src/components/error/index.d.cts +7 -0
  8. package/dist/src/components/error/index.d.ts +1 -1
  9. package/dist/src/components/error/index.d.ts.map +1 -1
  10. package/dist/src/components/flow/consent/index.d.cts +13 -0
  11. package/dist/src/components/flow/consent/index.d.ts +1 -1
  12. package/dist/src/components/flow/consent/index.d.ts.map +1 -1
  13. package/dist/src/components/flow/consent/screen.d.cts +9 -0
  14. package/dist/src/components/flow/consent/screen.d.ts +2 -2
  15. package/dist/src/components/flow/consent/screen.d.ts.map +1 -1
  16. package/dist/src/components/flow/device-verify/index.d.cts +10 -0
  17. package/dist/src/components/flow/device-verify/index.d.ts +1 -1
  18. package/dist/src/components/flow/device-verify/index.d.ts.map +1 -1
  19. package/dist/src/components/flow/device-verify/screen.d.cts +4 -0
  20. package/dist/src/components/flow/device-verify/screen.d.ts +2 -2
  21. package/dist/src/components/flow/device-verify/screen.d.ts.map +1 -1
  22. package/dist/src/components/flow/index.d.cts +5 -0
  23. package/dist/src/components/flow/index.d.ts +4 -4
  24. package/dist/src/components/flow/index.d.ts.map +1 -1
  25. package/dist/src/components/flow/passflow/index.d.cts +16 -0
  26. package/dist/src/components/flow/passflow/index.d.ts +5 -1
  27. package/dist/src/components/flow/passflow/index.d.ts.map +1 -1
  28. package/dist/src/components/flow/two-factor-setup/index.d.cts +10 -0
  29. package/dist/src/components/flow/two-factor-setup/index.d.ts +2 -2
  30. package/dist/src/components/flow/two-factor-setup/index.d.ts.map +1 -1
  31. package/dist/src/components/flow/two-factor-setup-magic-link/index.d.cts +35 -0
  32. package/dist/src/components/flow/two-factor-setup-magic-link/index.d.ts +2 -2
  33. package/dist/src/components/flow/two-factor-setup-magic-link/index.d.ts.map +1 -1
  34. package/dist/src/components/flow/two-factor-verify/index.d.cts +11 -0
  35. package/dist/src/components/flow/two-factor-verify/index.d.ts +2 -2
  36. package/dist/src/components/flow/two-factor-verify/index.d.ts.map +1 -1
  37. package/dist/src/components/form/forgot-password/forgot-password-success.d.cts +2 -0
  38. package/dist/src/components/form/forgot-password/forgot-password-success.d.ts +1 -1
  39. package/dist/src/components/form/forgot-password/forgot-password-success.d.ts.map +1 -1
  40. package/dist/src/components/form/forgot-password/forgot-password.d.cts +9 -0
  41. package/dist/src/components/form/forgot-password/forgot-password.d.ts +1 -1
  42. package/dist/src/components/form/forgot-password/forgot-password.d.ts.map +1 -1
  43. package/dist/src/components/form/forgot-password/index.d.cts +3 -0
  44. package/dist/src/components/form/forgot-password/index.d.ts +2 -2
  45. package/dist/src/components/form/index.d.cts +10 -0
  46. package/dist/src/components/form/index.d.ts +9 -9
  47. package/dist/src/components/form/index.d.ts.map +1 -1
  48. package/dist/src/components/form/invitation-join/index.d.cts +7 -0
  49. package/dist/src/components/form/invitation-join/index.d.ts +1 -2
  50. package/dist/src/components/form/invitation-join/index.d.ts.map +1 -1
  51. package/dist/src/components/form/reset-password/index.d.cts +9 -0
  52. package/dist/src/components/form/reset-password/index.d.ts +2 -2
  53. package/dist/src/components/form/reset-password/index.d.ts.map +1 -1
  54. package/dist/src/components/form/signin/index.d.cts +15 -0
  55. package/dist/src/components/form/signin/index.d.ts +2 -2
  56. package/dist/src/components/form/signin/index.d.ts.map +1 -1
  57. package/dist/src/components/form/signup/index.d.cts +14 -0
  58. package/dist/src/components/form/signup/index.d.ts +2 -2
  59. package/dist/src/components/form/signup/index.d.ts.map +1 -1
  60. package/dist/src/components/form/two-factor-challenge/index.d.cts +10 -0
  61. package/dist/src/components/form/two-factor-challenge/index.d.ts +1 -1
  62. package/dist/src/components/form/two-factor-challenge/index.d.ts.map +1 -1
  63. package/dist/src/components/form/two-factor-challenge/method-selector.d.cts +12 -0
  64. package/dist/src/components/form/two-factor-challenge/method-selector.d.ts +2 -2
  65. package/dist/src/components/form/two-factor-setup/index.d.cts +2 -0
  66. package/dist/src/components/form/two-factor-setup/index.d.ts +1 -1
  67. package/dist/src/components/form/two-factor-setup/two-factor-setup-form.d.cts +9 -0
  68. package/dist/src/components/form/two-factor-setup/two-factor-setup-form.d.ts +1 -1
  69. package/dist/src/components/form/two-factor-setup/two-factor-setup-form.d.ts.map +1 -1
  70. package/dist/src/components/form/two-factor-verify/index.d.cts +3 -0
  71. package/dist/src/components/form/two-factor-verify/index.d.ts +2 -2
  72. package/dist/src/components/form/two-factor-verify/index.d.ts.map +1 -1
  73. package/dist/src/components/form/two-factor-verify/two-factor-recovery-form.d.cts +13 -0
  74. package/dist/src/components/form/two-factor-verify/two-factor-recovery-form.d.ts +1 -1
  75. package/dist/src/components/form/two-factor-verify/two-factor-recovery-form.d.ts.map +1 -1
  76. package/dist/src/components/form/two-factor-verify/two-factor-verify-form.d.cts +16 -0
  77. package/dist/src/components/form/two-factor-verify/two-factor-verify-form.d.ts +1 -1
  78. package/dist/src/components/form/two-factor-verify/two-factor-verify-form.d.ts.map +1 -1
  79. package/dist/src/components/form/verify-challenge/index.d.cts +3 -0
  80. package/dist/src/components/form/verify-challenge/index.d.ts +2 -2
  81. package/dist/src/components/form/verify-challenge/timer-button.d.cts +9 -0
  82. package/dist/src/components/form/verify-challenge/timer-button.d.ts +1 -1
  83. package/dist/src/components/form/verify-challenge/timer-button.d.ts.map +1 -1
  84. package/dist/src/components/form/verify-challenge/verify-challenge-magic-link.d.cts +2 -0
  85. package/dist/src/components/form/verify-challenge/verify-challenge-magic-link.d.ts +1 -1
  86. package/dist/src/components/form/verify-challenge/verify-challenge-magic-link.d.ts.map +1 -1
  87. package/dist/src/components/form/verify-challenge/verify-challenge-otp-manual.d.cts +16 -0
  88. package/dist/src/components/form/verify-challenge/verify-challenge-otp-manual.d.ts +1 -1
  89. package/dist/src/components/form/verify-challenge/verify-challenge-otp-manual.d.ts.map +1 -1
  90. package/dist/src/components/form/verify-challenge/verify-challenge-otp-redirect.d.cts +9 -0
  91. package/dist/src/components/form/verify-challenge/verify-challenge-otp-redirect.d.ts +1 -2
  92. package/dist/src/components/form/verify-challenge/verify-challenge-otp-redirect.d.ts.map +1 -1
  93. package/dist/src/components/form/verify-challenge/verify-challenge-otp.d.cts +12 -0
  94. package/dist/src/components/form/verify-challenge/verify-challenge-otp.d.ts +2 -2
  95. package/dist/src/components/form/verify-challenge/verify-challenge-otp.d.ts.map +1 -1
  96. package/dist/src/components/form/verify-challenge/verify-challenge-success.d.cts +3 -0
  97. package/dist/src/components/form/verify-challenge/verify-challenge-success.d.ts +1 -1
  98. package/dist/src/components/form/verify-challenge/verify-challenge-success.d.ts.map +1 -1
  99. package/dist/src/components/form/wrapper/index.d.cts +2 -0
  100. package/dist/src/components/form/wrapper/index.d.ts +1 -1
  101. package/dist/src/components/passkey/index.d.cts +7 -0
  102. package/dist/src/components/passkey/index.d.ts +1 -1
  103. package/dist/src/components/passkey/index.d.ts.map +1 -1
  104. package/dist/src/components/passkey/passkey-actions.d.cts +13 -0
  105. package/dist/src/components/passkey/passkey-actions.d.ts +1 -1
  106. package/dist/src/components/passkey/passkey-actions.d.ts.map +1 -1
  107. package/dist/src/components/passkey/passkey-dialog.d.cts +10 -0
  108. package/dist/src/components/passkey/passkey-dialog.d.ts +1 -1
  109. package/dist/src/components/passkey/passkey-list.d.cts +9 -0
  110. package/dist/src/components/passkey/passkey-list.d.ts +2 -2
  111. package/dist/src/components/passkey/passkey-list.d.ts.map +1 -1
  112. package/dist/src/components/provider/index.d.cts +4 -0
  113. package/dist/src/components/provider/index.d.ts +3 -3
  114. package/dist/src/components/provider/index.d.ts.map +1 -1
  115. package/dist/src/components/provider/passflow-provider.d.cts +160 -0
  116. package/dist/src/components/provider/passflow-provider.d.ts +4 -4
  117. package/dist/src/components/provider/passflow-provider.d.ts.map +1 -1
  118. package/dist/src/components/provider/upgrade-provider.d.cts +85 -0
  119. package/dist/src/components/provider/upgrade-provider.d.ts +39 -3
  120. package/dist/src/components/provider/upgrade-provider.d.ts.map +1 -1
  121. package/dist/src/components/ui/button/index.d.cts +34 -0
  122. package/dist/src/components/ui/button/index.d.ts +3 -2
  123. package/dist/src/components/ui/button/index.d.ts.map +1 -1
  124. package/dist/src/components/ui/continuing-status/index.d.cts +8 -0
  125. package/dist/src/components/ui/continuing-status/index.d.ts +1 -1
  126. package/dist/src/components/ui/country-flag/index.d.cts +7 -0
  127. package/dist/src/components/ui/country-flag/index.d.ts +1 -1
  128. package/dist/src/components/ui/country-flag/index.d.ts.map +1 -1
  129. package/dist/src/components/ui/country-flag/positions.d.cts +245 -0
  130. package/dist/src/components/ui/country-flag/positions.d.ts +241 -241
  131. package/dist/src/components/ui/country-flag/positions.d.ts.map +1 -1
  132. package/dist/src/components/ui/dialog/index.d.cts +20 -0
  133. package/dist/src/components/ui/dialog/index.d.ts +18 -18
  134. package/dist/src/components/ui/dialog/index.d.ts.map +1 -1
  135. package/dist/src/components/ui/fields/field-otp.d.cts +48 -0
  136. package/dist/src/components/ui/fields/field-otp.d.ts +48 -0
  137. package/dist/src/components/ui/fields/field-otp.d.ts.map +1 -0
  138. package/dist/src/components/ui/fields/field-password.d.cts +13 -0
  139. package/dist/src/components/ui/fields/field-password.d.ts +4 -4
  140. package/dist/src/components/ui/fields/field-password.d.ts.map +1 -1
  141. package/dist/src/components/ui/fields/field-phone.d.cts +11 -0
  142. package/dist/src/components/ui/fields/field-phone.d.ts +1 -1
  143. package/dist/src/components/ui/fields/field-phone.d.ts.map +1 -1
  144. package/dist/src/components/ui/fields/field-text.d.cts +8 -0
  145. package/dist/src/components/ui/fields/field-text.d.ts +3 -3
  146. package/dist/src/components/ui/fields/field-text.d.ts.map +1 -1
  147. package/dist/src/components/ui/fields/index.d.cts +5 -0
  148. package/dist/src/components/ui/fields/index.d.ts +4 -3
  149. package/dist/src/components/ui/fields/index.d.ts.map +1 -1
  150. package/dist/src/components/ui/icon/index.d.cts +11 -0
  151. package/dist/src/components/ui/icon/index.d.ts +1 -1
  152. package/dist/src/components/ui/icon/index.d.ts.map +1 -1
  153. package/dist/src/components/ui/index.d.cts +14 -0
  154. package/dist/src/components/ui/index.d.ts +13 -13
  155. package/dist/src/components/ui/index.d.ts.map +1 -1
  156. package/dist/src/components/ui/link/index.d.cts +11 -0
  157. package/dist/src/components/ui/link/index.d.ts +1 -1
  158. package/dist/src/components/ui/link/index.d.ts.map +1 -1
  159. package/dist/src/components/ui/login-screen/code-entry.d.cts +4 -0
  160. package/dist/src/components/ui/login-screen/code-entry.d.ts +2 -2
  161. package/dist/src/components/ui/login-screen/consent.d.cts +15 -0
  162. package/dist/src/components/ui/login-screen/consent.d.ts +2 -2
  163. package/dist/src/components/ui/login-screen/credentials.d.cts +4 -0
  164. package/dist/src/components/ui/login-screen/credentials.d.ts +2 -2
  165. package/dist/src/components/ui/login-screen/credentials.d.ts.map +1 -1
  166. package/dist/src/components/ui/login-screen/device-approval.d.cts +4 -0
  167. package/dist/src/components/ui/login-screen/device-approval.d.ts +2 -2
  168. package/dist/src/components/ui/login-screen/general-error.d.cts +4 -0
  169. package/dist/src/components/ui/login-screen/general-error.d.ts +2 -2
  170. package/dist/src/components/ui/login-screen/index.d.cts +4 -0
  171. package/dist/src/components/ui/login-screen/index.d.ts +3 -3
  172. package/dist/src/components/ui/login-screen/index.d.ts.map +1 -1
  173. package/dist/src/components/ui/login-screen/invitation.d.cts +4 -0
  174. package/dist/src/components/ui/login-screen/invitation.d.ts +2 -2
  175. package/dist/src/components/ui/login-screen/login-screen.d.cts +4 -0
  176. package/dist/src/components/ui/login-screen/login-screen.d.ts +2 -2
  177. package/dist/src/components/ui/login-screen/passkey-progress.d.cts +4 -0
  178. package/dist/src/components/ui/login-screen/passkey-progress.d.ts +2 -2
  179. package/dist/src/components/ui/login-screen/second-factor.d.cts +4 -0
  180. package/dist/src/components/ui/login-screen/second-factor.d.ts +2 -2
  181. package/dist/src/components/ui/login-screen/shared.d.cts +15 -0
  182. package/dist/src/components/ui/login-screen/shared.d.ts +2 -2
  183. package/dist/src/components/ui/login-screen/shell.d.cts +13 -0
  184. package/dist/src/components/ui/login-screen/shell.d.ts +1 -1
  185. package/dist/src/components/ui/login-screen/shell.d.ts.map +1 -1
  186. package/dist/src/components/ui/login-screen/status.d.cts +4 -0
  187. package/dist/src/components/ui/login-screen/status.d.ts +2 -2
  188. package/dist/src/components/ui/login-screen/types.d.cts +192 -0
  189. package/dist/src/components/ui/login-screen/types.d.ts +2 -2
  190. package/dist/src/components/ui/login-screen/types.d.ts.map +1 -1
  191. package/dist/src/components/ui/popover/index.d.cts +7 -0
  192. package/dist/src/components/ui/popover/index.d.ts +5 -5
  193. package/dist/src/components/ui/popover/index.d.ts.map +1 -1
  194. package/dist/src/components/ui/providers-box/index.d.cts +10 -0
  195. package/dist/src/components/ui/providers-box/index.d.ts +2 -2
  196. package/dist/src/components/ui/providers-box/index.d.ts.map +1 -1
  197. package/dist/src/components/ui/spinner/index.d.cts +23 -0
  198. package/dist/src/components/ui/spinner/index.d.ts +1 -1
  199. package/dist/src/components/ui/spinner/index.d.ts.map +1 -1
  200. package/dist/src/components/ui/switch/index.d.cts +22 -0
  201. package/dist/src/components/ui/switch/index.d.ts +1 -1
  202. package/dist/src/components/ui/switch/index.d.ts.map +1 -1
  203. package/dist/src/components/ui/upgrade-dialog/challenge.d.cts +12 -0
  204. package/dist/src/components/ui/upgrade-dialog/challenge.d.ts +2 -2
  205. package/dist/src/components/ui/upgrade-dialog/factor-list.d.cts +20 -0
  206. package/dist/src/components/ui/upgrade-dialog/factor-list.d.ts +2 -2
  207. package/dist/src/components/ui/upgrade-dialog/index.d.cts +8 -0
  208. package/dist/src/components/ui/upgrade-dialog/index.d.ts +7 -7
  209. package/dist/src/components/ui/upgrade-dialog/index.d.ts.map +1 -1
  210. package/dist/src/components/ui/upgrade-dialog/state-mapping.d.cts +130 -0
  211. package/dist/src/components/ui/upgrade-dialog/state-mapping.d.ts +12 -1
  212. package/dist/src/components/ui/upgrade-dialog/state-mapping.d.ts.map +1 -1
  213. package/dist/src/components/ui/upgrade-dialog/status.d.cts +27 -0
  214. package/dist/src/components/ui/upgrade-dialog/status.d.ts +2 -2
  215. package/dist/src/components/ui/upgrade-dialog/types.d.cts +188 -0
  216. package/dist/src/components/ui/upgrade-dialog/upgrade-dialog.d.cts +13 -0
  217. package/dist/src/components/ui/upgrade-dialog/upgrade-dialog.d.ts +2 -2
  218. package/dist/src/components/ui/visually-hidden/index.d.cts +17 -0
  219. package/dist/src/components/ui/visually-hidden/index.d.ts +17 -0
  220. package/dist/src/components/ui/visually-hidden/index.d.ts.map +1 -0
  221. package/dist/src/constants/countries-phone-code.d.cts +253 -0
  222. package/dist/src/constants/countries-phone-code.d.ts.map +1 -1
  223. package/dist/src/constants/formats.d.cts +4 -0
  224. package/dist/src/constants/formats.d.ts.map +1 -1
  225. package/dist/src/constants/index.d.cts +3 -0
  226. package/dist/src/constants/index.d.ts +2 -2
  227. package/dist/src/context/auth-context.d.cts +23 -0
  228. package/dist/src/context/auth-context.d.ts +3 -3
  229. package/dist/src/context/auth-context.d.ts.map +1 -1
  230. package/dist/src/context/index.d.cts +6 -0
  231. package/dist/src/context/index.d.ts +5 -5
  232. package/dist/src/context/index.d.ts.map +1 -1
  233. package/dist/src/context/navigation-context.d.cts +25 -0
  234. package/dist/src/context/navigation-context.d.ts +1 -1
  235. package/dist/src/context/passflow-context.d.cts +26 -0
  236. package/dist/src/context/passflow-context.d.ts +3 -3
  237. package/dist/src/context/passflow-context.d.ts.map +1 -1
  238. package/dist/src/context/router-context.d.cts +42 -0
  239. package/dist/src/context/router-context.d.ts.map +1 -1
  240. package/dist/src/context/upgrade-context.d.cts +107 -0
  241. package/dist/src/context/upgrade-context.d.ts +24 -2
  242. package/dist/src/hocs/index.d.cts +2 -0
  243. package/dist/src/hocs/index.d.ts +1 -1
  244. package/dist/src/hocs/with-error.d.cts +8 -0
  245. package/dist/src/hocs/with-error.d.ts +5 -5
  246. package/dist/src/hocs/with-error.d.ts.map +1 -1
  247. package/dist/src/hooks/index.d.cts +28 -0
  248. package/dist/src/hooks/index.d.ts +27 -27
  249. package/dist/src/hooks/index.d.ts.map +1 -1
  250. package/dist/src/hooks/use-app-settings.d.cts +16 -0
  251. package/dist/src/hooks/use-app-settings.d.ts +1 -1
  252. package/dist/src/hooks/use-app-settings.d.ts.map +1 -1
  253. package/dist/src/hooks/use-auth-cloud-redirect.d.cts +4 -0
  254. package/dist/src/hooks/use-auth.d.cts +3 -0
  255. package/dist/src/hooks/use-auth.d.ts +1 -1
  256. package/dist/src/hooks/use-auth.d.ts.map +1 -1
  257. package/dist/src/hooks/use-consent.d.cts +68 -0
  258. package/dist/src/hooks/use-device-verify.d.cts +96 -0
  259. package/dist/src/hooks/use-device-verify.d.ts +1 -1
  260. package/dist/src/hooks/use-device-verify.d.ts.map +1 -1
  261. package/dist/src/hooks/use-forgot-password.d.cts +10 -0
  262. package/dist/src/hooks/use-forgot-password.d.ts +1 -1
  263. package/dist/src/hooks/use-join-invite.d.cts +8 -0
  264. package/dist/src/hooks/use-logout.d.cts +8 -0
  265. package/dist/src/hooks/use-navigation.d.cts +29 -0
  266. package/dist/src/hooks/use-navigation.d.ts +2 -2
  267. package/dist/src/hooks/use-navigation.d.ts.map +1 -1
  268. package/dist/src/hooks/use-outsideclick.d.cts +3 -0
  269. package/dist/src/hooks/use-outsideclick.d.ts +2 -2
  270. package/dist/src/hooks/use-outsideclick.d.ts.map +1 -1
  271. package/dist/src/hooks/use-passflow-store.d.cts +3 -0
  272. package/dist/src/hooks/use-passflow-store.d.ts +1 -1
  273. package/dist/src/hooks/use-passflow.d.cts +3 -0
  274. package/dist/src/hooks/use-passflow.d.ts +1 -1
  275. package/dist/src/hooks/use-passflow.d.ts.map +1 -1
  276. package/dist/src/hooks/use-passwordless-complete.d.cts +10 -0
  277. package/dist/src/hooks/use-passwordless-complete.d.ts +1 -1
  278. package/dist/src/hooks/use-passwordless-complete.d.ts.map +1 -1
  279. package/dist/src/hooks/use-provider.d.cts +7 -0
  280. package/dist/src/hooks/use-provider.d.ts +1 -1
  281. package/dist/src/hooks/use-provider.d.ts.map +1 -1
  282. package/dist/src/hooks/use-reset-password.d.cts +9 -0
  283. package/dist/src/hooks/use-session-expired.d.cts +49 -0
  284. package/dist/src/hooks/use-signin.d.cts +11 -0
  285. package/dist/src/hooks/use-signin.d.ts +2 -2
  286. package/dist/src/hooks/use-signin.d.ts.map +1 -1
  287. package/dist/src/hooks/use-signup.d.cts +11 -0
  288. package/dist/src/hooks/use-signup.d.ts +2 -2
  289. package/dist/src/hooks/use-signup.d.ts.map +1 -1
  290. package/dist/src/hooks/use-trusted-devices.d.cts +21 -0
  291. package/dist/src/hooks/use-trusted-devices.d.ts +1 -1
  292. package/dist/src/hooks/use-two-factor-challenge.d.cts +16 -0
  293. package/dist/src/hooks/use-two-factor-challenge.d.ts +1 -1
  294. package/dist/src/hooks/use-two-factor-manage.d.cts +15 -0
  295. package/dist/src/hooks/use-two-factor-manage.d.ts +1 -1
  296. package/dist/src/hooks/use-two-factor-methods.d.cts +14 -0
  297. package/dist/src/hooks/use-two-factor-methods.d.ts +1 -1
  298. package/dist/src/hooks/use-two-factor-setup-magic-link.d.cts +55 -0
  299. package/dist/src/hooks/use-two-factor-setup-magic-link.d.ts.map +1 -1
  300. package/dist/src/hooks/use-two-factor-setup.d.cts +18 -0
  301. package/dist/src/hooks/use-two-factor-setup.d.ts +1 -1
  302. package/dist/src/hooks/use-two-factor-status.d.cts +13 -0
  303. package/dist/src/hooks/use-two-factor-status.d.ts +1 -1
  304. package/dist/src/hooks/use-two-factor-verify.d.cts +20 -0
  305. package/dist/src/hooks/use-two-factor-verify.d.ts +2 -2
  306. package/dist/src/hooks/use-two-factor-verify.d.ts.map +1 -1
  307. package/dist/src/hooks/use-upgrade.d.cts +53 -0
  308. package/dist/src/hooks/use-upgrade.d.ts +12 -2
  309. package/dist/src/hooks/use-upgrade.d.ts.map +1 -1
  310. package/dist/src/hooks/use-user-passkeys.d.cts +12 -0
  311. package/dist/src/hooks/use-user-passkeys.d.ts +1 -1
  312. package/dist/src/index.d.cts +10 -0
  313. package/dist/src/index.d.ts +8 -8
  314. package/dist/src/index.d.ts.map +1 -1
  315. package/dist/src/types/auth-errors.d.cts +8 -0
  316. package/dist/src/types/device-errors.d.cts +95 -0
  317. package/dist/src/types/index.d.cts +26 -0
  318. package/dist/src/types/index.d.ts +4 -4
  319. package/dist/src/types/index.d.ts.map +1 -1
  320. package/dist/src/types/two-factor-errors.d.cts +14 -0
  321. package/dist/src/utils/auth-error.d.cts +7 -0
  322. package/dist/src/utils/auth-error.d.ts +1 -1
  323. package/dist/src/utils/auth-error.d.ts.map +1 -1
  324. package/dist/src/utils/classify-device-error.d.cts +35 -0
  325. package/dist/src/utils/classify-device-error.d.ts +1 -1
  326. package/dist/src/utils/classify-device-error.d.ts.map +1 -1
  327. package/dist/src/utils/classify-two-factor-error.d.cts +13 -0
  328. package/dist/src/utils/classify-two-factor-error.d.ts +1 -1
  329. package/dist/src/utils/cn.d.cts +3 -0
  330. package/dist/src/utils/cn.d.ts +1 -1
  331. package/dist/src/utils/cn.d.ts.map +1 -1
  332. package/dist/src/utils/dayjs/format.d.cts +8 -0
  333. package/dist/src/utils/dayjs/format.d.ts.map +1 -1
  334. package/dist/src/utils/dayjs/index.d.cts +2 -0
  335. package/dist/src/utils/dayjs/index.d.ts +1 -1
  336. package/dist/src/utils/get-app-version.d.cts +7 -0
  337. package/dist/src/utils/get-auth-methods.d.cts +30 -0
  338. package/dist/src/utils/get-auth-methods.d.ts +1 -1
  339. package/dist/src/utils/get-auth-methods.d.ts.map +1 -1
  340. package/dist/src/utils/get-form-labels.d.cts +10 -0
  341. package/dist/src/utils/get-form-labels.d.ts +5 -5
  342. package/dist/src/utils/get-form-labels.d.ts.map +1 -1
  343. package/dist/src/utils/get-url-errors.d.cts +5 -0
  344. package/dist/src/utils/get-url-errors.d.ts.map +1 -1
  345. package/dist/src/utils/get-url-with-tokens.d.cts +4 -0
  346. package/dist/src/utils/get-url-with-tokens.d.ts +1 -1
  347. package/dist/src/utils/get-url-with-tokens.d.ts.map +1 -1
  348. package/dist/src/utils/index.d.cts +18 -0
  349. package/dist/src/utils/index.d.ts +17 -17
  350. package/dist/src/utils/index.d.ts.map +1 -1
  351. package/dist/src/utils/invitation-auth-chrome.d.cts +8 -0
  352. package/dist/src/utils/invitation-auth-chrome.d.ts.map +1 -1
  353. package/dist/src/utils/login-theme.d.cts +8 -0
  354. package/dist/src/utils/login-theme.d.ts +1 -1
  355. package/dist/src/utils/login-theme.d.ts.map +1 -1
  356. package/dist/src/utils/second-factor.d.cts +21 -0
  357. package/dist/src/utils/second-factor.d.ts +3 -3
  358. package/dist/src/utils/second-factor.d.ts.map +1 -1
  359. package/dist/src/utils/two-factor-loop-prevention.d.cts +40 -0
  360. package/dist/src/utils/two-factor-loop-prevention.d.ts.map +1 -1
  361. package/dist/src/utils/undefined-on-catch.d.cts +2 -0
  362. package/dist/src/utils/upgrade-auth.d.cts +82 -0
  363. package/dist/src/utils/upgrade-auth.d.ts +45 -1
  364. package/dist/src/utils/upgrade-auth.d.ts.map +1 -1
  365. package/dist/src/utils/url-params.d.cts +14 -0
  366. package/dist/src/utils/url-params.d.ts.map +1 -1
  367. package/dist/src/utils/validate-url.d.cts +2 -0
  368. package/dist/src/utils/validate-url.d.ts.map +1 -1
  369. package/dist/src/utils/validation-schemas/index.d.cts +6 -0
  370. package/dist/src/utils/validation-schemas/index.d.ts +1 -1
  371. package/dist/src/utils/validation-schemas/index.d.ts.map +1 -1
  372. package/dist/style.css +1 -1
  373. package/package.json +54 -56
  374. package/dist/index.cjs.js +0 -2
  375. package/dist/index.cjs.js.map +0 -1
  376. package/dist/src/components/form/two-factor-challenge/otp-input.d.ts +0 -12
  377. package/dist/src/components/form/two-factor-challenge/otp-input.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,72 @@
2
2
 
3
3
  All notable changes to `@passflow/react` are documented in this file.
4
4
 
5
+ ## [0.15.1] - 2026-11-02
6
+
7
+ ### Fixed
8
+
9
+ - `PassflowFlow` navigates through its own router whatever the provider's `router` prop says. With the default value, every step inside the flow did a full page load through `window.location` to an unprefixed path, leaving a memory, hash or host router. Hosts that pass `router="react-router"` were not affected.
10
+ - A navigation asked for with `replace: true` inside `PassflowFlow` replaces the history entry. It pushed a new one, because `replace` was handed to React Router as part of the destination.
11
+ - The passwordless OTP screen and the 2FA verify form name the code field with a visible "Verification code" label. They used hidden text only, which fails WCAG labelling (axe `label-title-only`) once a wrong code shows an error.
12
+
13
+ ### Added
14
+
15
+ - `FieldOtp` takes an optional `label`: the field then draws its own visible label above the boxes. `labelledBy` still works; a field takes one or the other. New stories: With label, With label error.
16
+ - `PassflowProps`, the props of `PassflowFlow`, is exported from the package root.
17
+
18
+ ### Changed
19
+
20
+ - `lodash` and `tailwind-merge` are no longer dependencies. lodash is CommonJS, so it could not be tree-shaken and added about 70 KB minified to an app's bundle; tailwind-merge resolved Tailwind class conflicts in a library that styles only with `passflow-*` classes.
21
+
22
+ ### Internal
23
+
24
+ - CI loads the packed package in plain Node through both `require` and `import`, and fails if either throws or the two expose different exports.
25
+ - README examples import from `@passflow/react` instead of the old package name.
26
+ - Two flaky UI tests fixed: the Storybook audits wait for the theme to settle, and the FieldOtp length test no longer depends on keystroke timing.
27
+
28
+ ## [0.15.0] - 2026-11-02
29
+
30
+ ### Breaking
31
+
32
+ - `react-router` is now a required peer dependency, `^7.0.0 || ^8.0.0`, and is no longer bundled, so the SDK and the host share one router. `react-router-dom` is not a peer. A host on React Router 7 adds `react-router`, which `react-router-dom` 7 already installs; a host on React Router 8 needs React 19.2.7 or later, as React Router 8 itself does. Hosts on React Router 6 are no longer supported. A host that routes with Wouter or TanStack Router installs `react-router` too, because the package imports it.
33
+ - `PassflowFlow` inside a host React Router `<Router>` now uses that router. Mount it under a splat route, `<Route path="/auth/*" element={<PassflowFlow />} />`; `pathPrefix` is then relative to that route, and `routerType` is ignored with a console warning. Before, a nested flow ran a private router of its own. A flow with no host router behaves as before.
34
+ - The CommonJS entry is `dist/index.cjs`, renamed from `dist/index.cjs.js`. Under the package's `"type": "module"`, Node loaded the old file as an empty module, so `require('@passflow/react')` returned nothing; it now returns the full export set. React Router 8 is ESM-only, so a CommonJS consumer on it relies on Node's `require(esm)`.
35
+ - Requires Node `^22.12.0 || ^24.0.0 || >=26.0.0` (`engines`), the same lines as `@passflow/core`.
36
+
37
+ ### Changed
38
+
39
+ - Requires `@passflow/core` 0.20.1 or later, up from 0.19.0.
40
+ - One-time-code fields are one input instead of one per digit. The browser's one-time-code autofill works, a whole code pastes in one go, and numeric codes accept digits only, with the numeric keypad on phones. The boxes look as before, and `custom_css` aimed at `.passflow-field-otp` still styles each box.
41
+ - An app's `customCss` is rendered as a `<style>` element inside `#passflow-wrapper`, and only when it is set, instead of in `document.head`. No `HelmetProvider` is needed.
42
+ - Developed on React 19. React 18 is still supported and tested in CI.
43
+
44
+ ### Added
45
+
46
+ - `FieldOtp`, the code field above, with its Storybook stories.
47
+
48
+ ### Fixed
49
+
50
+ - `TwoFactorSetupMagicLinkFlow` reads `:token` from the host's router. With the router bundled it read a separate copy and never saw the host's route params.
51
+ - Type declarations resolve under `moduleResolution` `node16`, `nodenext` and `bundler`, and the `require` entry has its own `.d.cts` declarations. CI type-checks the packed package as a consumer would, on TypeScript 5.9 and 7, with React 19 and React Router 8 and with React 18 and React Router 7.
52
+ - The ESM and CommonJS entries load in plain Node with no DOM, as server rendering needs. 0.14.0 threw `window is not defined` at module load, and its ESM entry failed to link its named imports from `lodash`.
53
+ - The `option` button's accessible name is all of its visible text, label and hint, so a voice-control user can say what they see (WCAG 2.5.3, flagged by axe 4.14).
54
+
55
+ ### Removed
56
+
57
+ - The runtime dependencies `react-otp-input`, `react-helmet-async`, `history` and `tailwindcss-scoped-preflight`. `terser` is build-only, and React Router is no longer bundled.
58
+
59
+ Dependencies: `@simplewebauthn/browser` 14, `react-error-boundary` 6, `query-string` 10 and `tailwind-merge` 3 at runtime, with `input-otp` new. The toolchain moves to TypeScript 7, Vite 8.3, Vitest 5, Biome 2, pnpm 12 and Storybook 10.6; none of it ships.
60
+
61
+ ## [0.14.0] - 2026-11-02
62
+
63
+ ### Changed
64
+
65
+ - Password sign-up under an OIDC parent reaches the relying party. The provider's interceptor now covers `/auth/register`, so a sign-up on a PKCE app carries `parent_challenge_id` like sign-in does and follows the server's redirect back to the app.
66
+ - The line shown while a session is handed over to the app is `ContinuingStatus`, a themed library component, instead of an inline-styled placeholder.
67
+ - Requires `@passflow/core` 0.19.0 or later, up from 0.18.0.
68
+
69
+ Needs a server that accepts an OIDC parent on password sign-up (Passflow `src/v0.22.0`).
70
+
5
71
  ## [0.13.0] - 2026-10-30
6
72
 
7
73
  ### Added
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
- # @passflow/passflow-react-sdk
1
+ # @passflow/react
2
2
 
3
3
  This is a SDK for react application.
4
4
 
5
5
  ## Table of Contents
6
6
 
7
- - [@passflow/passflow-react-sdk](#passflowpassflow-react-sdk)
7
+ - [@passflow/react](#passflowreact)
8
8
  - [Table of Contents](#table-of-contents)
9
9
  - [Local Development](#local-development)
10
10
  - [Using Local Passflow JS SDK](#using-local-passflow-js-sdk)
@@ -16,7 +16,7 @@ This is a SDK for react application.
16
16
  - [Integration](#integration)
17
17
  - [Passflow Cloud](#passflow-cloud)
18
18
  - [PassflowFlow](#passflowflow)
19
- - [React Router DOM](#react-router-dom)
19
+ - [React Router](#react-router)
20
20
  - [Wouter](#wouter)
21
21
  - [TanStack Router](#tanstack-router)
22
22
  - [Props](#props)
@@ -137,13 +137,17 @@ Both scripts automatically start the demo app and Storybook. `pnpm test` uses th
137
137
  ## Installation
138
138
 
139
139
  ```bash
140
- pnpm add @passflow/passflow-react-sdk
140
+ pnpm add @passflow/react react-router
141
141
  ```
142
142
 
143
+ `react-router` (`^7.0.0 || ^8.0.0`) is a required peer dependency and is not bundled, so install it even when the app routes with Wouter or TanStack Router. `react-router-dom` is not needed: from v7 on, `BrowserRouter` and the rest are exported by `react-router`.
144
+
143
145
  ## Requirements
144
146
 
145
- - React 18+
146
- - React Router DOM v6/v7 or Wouter or TanStack Router
147
+ - React 18+ (React 19.2.7+ with React Router 8)
148
+ - React Router 7 or 8 (React Router 6 is not supported)
149
+ - Node `^22.12.0 || ^24.0.0 || >=26.0.0`
150
+ - Your app may route with React Router, Wouter or TanStack Router
147
151
 
148
152
  ## Integration
149
153
 
@@ -162,7 +166,7 @@ const passflowConfig: PassflowConfig = {
162
166
  export const PassflowProviderWrapper: FC<PropsWithChildren> = ({
163
167
  children,
164
168
  }) => {
165
- const navigate = useNavigate(); // from react-router-dom
169
+ const navigate = useNavigate(); // from react-router
166
170
 
167
171
  return (
168
172
  <PassflowProvider
@@ -248,9 +252,18 @@ authentication-context claims those tokens carry.
248
252
  | federatedDisplayMode | "popup" \| "redirect" | Federated authentication display mode |
249
253
  | pathPrefix | string | Prefix for all routes (optional) |
250
254
 
251
- ### React Router DOM
255
+ Inside an app that already has a React Router `<Router>`, `PassflowFlow` uses that router rather than its own (`routerType` is ignored). Mount it under a splat route so its own routes can match, and `pathPrefix` is relative to that route:
256
+
257
+ ```tsx
258
+ <Routes>
259
+ <Route path="/" element={<Home />} />
260
+ <Route path="/auth/*" element={<PassflowFlow successAuthRedirect="/" />} />
261
+ </Routes>
262
+ ```
263
+
264
+ ### React Router
252
265
 
253
- Example of integration with React Router DOM:
266
+ Example of integration with React Router:
254
267
  PS: The example uses the Declarative approach.
255
268
 
256
269
  ```tsx
@@ -260,8 +273,8 @@ import {
260
273
  SignUp,
261
274
  ForgotPassword,
262
275
  ForgotPasswordSuccess,
263
- } from "@passflow/passflow-react-sdk";
264
- import { BrowserRouter, Routes, Route, useNavigate } from "react-router-dom";
276
+ } from "@passflow/react";
277
+ import { BrowserRouter, Routes, Route, useNavigate } from "react-router";
265
278
 
266
279
  const passflowConfig = {
267
280
  url: import.meta.env.VITE_PASSFLOW_URL,
@@ -331,7 +344,7 @@ import {
331
344
  SignUp,
332
345
  ForgotPassword,
333
346
  ForgotPasswordSuccess,
334
- } from "@passflow/passflow-react-sdk";
347
+ } from "@passflow/react";
335
348
  import { Switch, Route, useLocation } from "wouter";
336
349
 
337
350
  const passflowConfig = {
@@ -397,7 +410,7 @@ export const App = () => (
397
410
  );
398
411
 
399
412
  // PassflowProviderWrapper.tsx
400
- import { PassflowProvider } from '@passflow/passflow-react-sdk';
413
+ import { PassflowProvider } from '@passflow/react';
401
414
 
402
415
  const passflowConfig = {
403
416
  url: import.meta.env.VITE_PASSFLOW_URL,
@@ -419,7 +432,7 @@ export const PassflowProviderWrapper = ({ children }) => (
419
432
  );
420
433
 
421
434
  // router/root.tsx
422
- import { useNavigation } from '@passflow/passflow-react-sdk';
435
+ import { useNavigation } from '@passflow/react';
423
436
  import { Outlet, useNavigate } from '@tanstack/react-router';
424
437
 
425
438
  export const Root = () => {
@@ -438,7 +451,7 @@ import { QueryClient } from '@tanstack/react-query';
438
451
  import { createRouter } from '@tanstack/react-router';
439
452
  import { queryClient } from '../query';
440
453
  import { routerTree } from './routes';
441
- import { Passflow } from '@passflow/passflow-react-sdk';
454
+ import { Passflow } from '@passflow/react';
442
455
 
443
456
  export interface RouterContext {
444
457
  queryClient: QueryClient;
@@ -466,7 +479,7 @@ import { Outlet, createRootRouteWithContext, createRoute, redirect } from '@tans
466
479
  import { RouterContext } from './router';
467
480
  import { Root } from './root';
468
481
  import { About, Home } from '@/pages';
469
- import { ForgotPassword, ForgotPasswordSuccess, SignIn, SignUp } from '@passflow/passflow-react-sdk';
482
+ import { ForgotPassword, ForgotPasswordSuccess, SignIn, SignUp } from '@passflow/react';
470
483
  import { RootLayout } from '@/layouts';
471
484
 
472
485
  const redirectToSignin = () => {