@leancodepl/kratos 8.5.1 → 9.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 (554) hide show
  1. package/README.md +457 -263
  2. package/index.cjs.js +16665 -3810
  3. package/index.esm.js +16644 -3789
  4. package/package.json +6 -7
  5. package/src/index.d.ts +4 -11
  6. package/src/lib/factories/index.d.ts +1 -0
  7. package/src/lib/factories/mkKratos.d.ts +292 -0
  8. package/src/lib/flows/index.d.ts +6 -7
  9. package/src/lib/flows/login/chooseMethodForm/ChooseMethodFormWrapper.d.ts +46 -0
  10. package/src/lib/flows/login/chooseMethodForm/chooseMethodFormContext.d.ts +10 -0
  11. package/src/lib/flows/login/chooseMethodForm/fields/Identifier.d.ts +6 -0
  12. package/src/lib/flows/login/chooseMethodForm/fields/Oidc.d.ts +13 -0
  13. package/src/lib/flows/login/chooseMethodForm/fields/Passkey.d.ts +9 -0
  14. package/src/lib/flows/login/chooseMethodForm/fields/Password.d.ts +6 -0
  15. package/src/lib/flows/login/chooseMethodForm/fields/index.d.ts +4 -0
  16. package/src/lib/flows/login/chooseMethodForm/index.d.ts +1 -0
  17. package/src/lib/flows/login/chooseMethodForm/types.d.ts +4 -0
  18. package/src/lib/flows/login/chooseMethodForm/usePasswordForm.d.ts +34 -0
  19. package/src/lib/flows/login/hooks/index.d.ts +5 -0
  20. package/src/lib/flows/login/hooks/queryKeys.d.ts +1 -0
  21. package/src/lib/flows/login/hooks/useCreateLoginFlow.d.ts +5 -0
  22. package/src/lib/flows/login/hooks/useExistingIdentifierFromFlow.d.ts +1 -0
  23. package/src/lib/flows/login/hooks/useGetLoginFlow.d.ts +2 -0
  24. package/src/lib/flows/login/hooks/useLoginFlowContext.d.ts +11 -0
  25. package/src/lib/flows/login/hooks/useUpdateLoginFlow.d.ts +2 -0
  26. package/src/lib/flows/login/index.d.ts +5 -0
  27. package/src/lib/flows/login/loginFlow.d.ts +58 -0
  28. package/src/lib/flows/login/secondFactorEmailForm/SecondFactorEmailFormWrapper.d.ts +21 -0
  29. package/src/lib/flows/login/secondFactorEmailForm/fields/Code.d.ts +6 -0
  30. package/src/lib/flows/login/secondFactorEmailForm/fields/Resend.d.ts +6 -0
  31. package/src/lib/flows/login/secondFactorEmailForm/fields/index.d.ts +2 -0
  32. package/src/lib/flows/login/secondFactorEmailForm/index.d.ts +1 -0
  33. package/src/lib/flows/login/secondFactorEmailForm/secondFactorEmailFormContext.d.ts +10 -0
  34. package/src/lib/flows/login/secondFactorEmailForm/types.d.ts +3 -0
  35. package/src/lib/flows/login/secondFactorEmailForm/useCodeForm.d.ts +25 -0
  36. package/src/lib/flows/login/secondFactorForm/SecondFactorFormWrapper.d.ts +33 -0
  37. package/src/lib/flows/login/secondFactorForm/fields/Email.d.ts +6 -0
  38. package/src/lib/flows/login/secondFactorForm/fields/Totp.d.ts +6 -0
  39. package/src/lib/flows/login/secondFactorForm/fields/index.d.ts +2 -0
  40. package/src/lib/flows/login/secondFactorForm/index.d.ts +1 -0
  41. package/src/lib/flows/login/secondFactorForm/secondFactorFormContext.d.ts +10 -0
  42. package/src/lib/flows/login/secondFactorForm/types.d.ts +3 -0
  43. package/src/lib/flows/login/secondFactorForm/useTotpForm.d.ts +25 -0
  44. package/src/lib/flows/login/types.d.ts +6 -0
  45. package/src/lib/flows/logout/index.d.ts +1 -0
  46. package/src/lib/flows/logout/useLogout.d.ts +32 -0
  47. package/src/lib/flows/recovery/codeForm/CodeFormWrapper.d.ts +17 -0
  48. package/src/lib/flows/recovery/codeForm/codeFormContext.d.ts +10 -0
  49. package/src/lib/flows/recovery/codeForm/fields/Code.d.ts +6 -0
  50. package/src/lib/flows/recovery/codeForm/fields/index.d.ts +1 -0
  51. package/src/lib/flows/recovery/codeForm/index.d.ts +1 -0
  52. package/src/lib/flows/recovery/codeForm/types.d.ts +3 -0
  53. package/src/lib/flows/recovery/codeForm/useCodeForm.d.ts +24 -0
  54. package/src/lib/flows/recovery/emailForm/EmailFormWrapper.d.ts +17 -0
  55. package/src/lib/flows/recovery/emailForm/emailFormContext.d.ts +10 -0
  56. package/src/lib/flows/recovery/emailForm/fields/Email.d.ts +6 -0
  57. package/src/lib/flows/recovery/emailForm/fields/index.d.ts +1 -0
  58. package/src/lib/flows/recovery/emailForm/index.d.ts +1 -0
  59. package/src/lib/flows/recovery/emailForm/types.d.ts +3 -0
  60. package/src/lib/flows/recovery/emailForm/useEmailForm.d.ts +24 -0
  61. package/src/lib/flows/recovery/hooks/index.d.ts +4 -0
  62. package/src/lib/flows/recovery/hooks/queryKeys.d.ts +1 -0
  63. package/src/lib/flows/recovery/hooks/useCreateRecoveryFlow.d.ts +3 -0
  64. package/src/lib/flows/recovery/hooks/useGetRecoveryFlow.d.ts +2 -0
  65. package/src/lib/flows/recovery/hooks/useRecoveryFlowContext.d.ts +11 -0
  66. package/src/lib/flows/recovery/hooks/useUpdateRecoveryFlow.d.ts +2 -0
  67. package/src/lib/flows/recovery/index.d.ts +4 -0
  68. package/src/lib/flows/recovery/recoveryFlow.d.ts +49 -0
  69. package/src/lib/flows/recovery/types.d.ts +5 -0
  70. package/src/lib/flows/registration/chooseMethodForm/ChooseMethodFormWrapper.d.ts +27 -0
  71. package/src/lib/flows/registration/chooseMethodForm/chooseMethodFormContext.d.ts +10 -0
  72. package/src/lib/flows/registration/chooseMethodForm/fields/Passkey.d.ts +10 -0
  73. package/src/lib/flows/registration/chooseMethodForm/fields/Password.d.ts +6 -0
  74. package/src/lib/flows/registration/chooseMethodForm/fields/PasswordConfirmation.d.ts +9 -0
  75. package/src/lib/flows/registration/chooseMethodForm/fields/ReturnToTraitsForm.d.ts +6 -0
  76. package/src/lib/flows/registration/chooseMethodForm/fields/index.d.ts +4 -0
  77. package/src/lib/flows/registration/chooseMethodForm/index.d.ts +1 -0
  78. package/src/lib/flows/registration/chooseMethodForm/types.d.ts +4 -0
  79. package/src/lib/flows/registration/chooseMethodForm/useChooseMethodForm.d.ts +35 -0
  80. package/src/lib/flows/registration/hooks/index.d.ts +4 -0
  81. package/src/lib/flows/registration/hooks/queryKeys.d.ts +1 -0
  82. package/src/lib/flows/registration/hooks/useCreateRegistrationFlow.d.ts +3 -0
  83. package/src/lib/flows/registration/hooks/useGetRegistrationFlow.d.ts +2 -0
  84. package/src/lib/flows/registration/hooks/useRegistrationFlowContext.d.ts +15 -0
  85. package/src/lib/flows/registration/hooks/useUpdateRegistrationFlow.d.ts +2 -0
  86. package/src/lib/flows/registration/index.d.ts +4 -0
  87. package/src/lib/flows/registration/registrationFlow.d.ts +61 -0
  88. package/src/lib/flows/registration/traitsForm/TraitsFormWrapper.d.ts +33 -0
  89. package/src/lib/flows/registration/traitsForm/fields/Oidc.d.ts +13 -0
  90. package/src/lib/flows/registration/traitsForm/fields/Trait.d.ts +8 -0
  91. package/src/lib/flows/registration/traitsForm/fields/index.d.ts +2 -0
  92. package/src/lib/flows/registration/traitsForm/index.d.ts +1 -0
  93. package/src/lib/flows/registration/traitsForm/traitsFormContext.d.ts +10 -0
  94. package/src/lib/flows/registration/traitsForm/useTraitsForm.d.ts +27 -0
  95. package/src/lib/flows/registration/types.d.ts +4 -0
  96. package/src/lib/flows/settings/hooks/index.d.ts +4 -0
  97. package/src/lib/flows/settings/hooks/queryKeys.d.ts +1 -0
  98. package/src/lib/flows/settings/hooks/useCreateSettingsFlow.d.ts +1 -0
  99. package/src/lib/flows/settings/hooks/useGetSettingsFlow.d.ts +2 -0
  100. package/src/lib/flows/settings/hooks/useSettingsFlowContext.d.ts +13 -0
  101. package/src/lib/flows/settings/hooks/useUpdateSettingsFlow.d.ts +2 -0
  102. package/src/lib/flows/settings/index.d.ts +8 -0
  103. package/src/lib/flows/settings/newPasswordForm/NewPasswordFormWrapper.d.ts +24 -0
  104. package/src/lib/flows/settings/newPasswordForm/fields/Password.d.ts +6 -0
  105. package/src/lib/flows/settings/newPasswordForm/fields/PasswordConfirmation.d.ts +9 -0
  106. package/src/lib/flows/settings/newPasswordForm/fields/index.d.ts +2 -0
  107. package/src/lib/flows/settings/newPasswordForm/index.d.ts +1 -0
  108. package/src/lib/flows/settings/newPasswordForm/newPasswordFormContext.d.ts +10 -0
  109. package/src/lib/flows/settings/newPasswordForm/types.d.ts +4 -0
  110. package/src/lib/flows/settings/newPasswordForm/useNewPasswordForm.d.ts +35 -0
  111. package/src/lib/flows/settings/oidcForm/OidcFormWrapper.d.ts +15 -0
  112. package/src/lib/flows/settings/oidcForm/fields/Oidc.d.ts +12 -0
  113. package/src/lib/flows/settings/oidcForm/fields/index.d.ts +1 -0
  114. package/src/lib/flows/settings/oidcForm/index.d.ts +2 -0
  115. package/src/lib/flows/settings/oidcForm/providers.d.ts +3 -0
  116. package/src/lib/flows/settings/passkeysForm/PasskeysFormWrapper.d.ts +18 -0
  117. package/src/lib/flows/settings/passkeysForm/fields/AddPasskey.d.ts +6 -0
  118. package/src/lib/flows/settings/passkeysForm/fields/index.d.ts +1 -0
  119. package/src/lib/flows/settings/passkeysForm/hooks/index.d.ts +1 -0
  120. package/src/lib/flows/settings/passkeysForm/hooks/usePasskeys.d.ts +5 -0
  121. package/src/lib/flows/settings/passkeysForm/index.d.ts +1 -0
  122. package/src/lib/flows/settings/settingsFlow.d.ts +72 -0
  123. package/src/lib/flows/settings/totpForm/TotpFormFormWrapper.d.ts +38 -0
  124. package/src/lib/flows/settings/totpForm/fields/Code.d.ts +6 -0
  125. package/src/lib/flows/settings/totpForm/fields/Unlink.d.ts +6 -0
  126. package/src/lib/flows/settings/totpForm/fields/index.d.ts +2 -0
  127. package/src/lib/flows/settings/totpForm/index.d.ts +1 -0
  128. package/src/lib/flows/settings/totpForm/totpFormContext.d.ts +10 -0
  129. package/src/lib/flows/settings/totpForm/types.d.ts +3 -0
  130. package/src/lib/flows/settings/totpForm/useTotpForm.d.ts +26 -0
  131. package/src/lib/flows/settings/traitsForm/TraitsFormWrapper.d.ts +27 -0
  132. package/src/lib/flows/settings/traitsForm/fields/Trait.d.ts +8 -0
  133. package/src/lib/flows/settings/traitsForm/fields/index.d.ts +1 -0
  134. package/src/lib/flows/settings/traitsForm/index.d.ts +1 -0
  135. package/src/lib/flows/settings/traitsForm/traitsFormContext.d.ts +10 -0
  136. package/src/lib/flows/settings/traitsForm/types.d.ts +3 -0
  137. package/src/lib/flows/settings/traitsForm/useTraitsForm.d.ts +27 -0
  138. package/src/lib/flows/settings/types.d.ts +4 -0
  139. package/src/lib/flows/verification/emailVerificationForm/EmailVerificationFormWrapper.d.ts +21 -0
  140. package/src/lib/flows/verification/emailVerificationForm/emailVerificationFormContext.d.ts +10 -0
  141. package/src/lib/flows/verification/emailVerificationForm/fields/Code.d.ts +6 -0
  142. package/src/lib/flows/verification/emailVerificationForm/fields/Resend.d.ts +6 -0
  143. package/src/lib/flows/verification/emailVerificationForm/fields/index.d.ts +2 -0
  144. package/src/lib/flows/verification/emailVerificationForm/index.d.ts +1 -0
  145. package/src/lib/flows/verification/emailVerificationForm/types.d.ts +3 -0
  146. package/src/lib/flows/verification/emailVerificationForm/useEmailVerificationForm.d.ts +25 -0
  147. package/src/lib/flows/verification/hooks/index.d.ts +4 -0
  148. package/src/lib/flows/verification/hooks/queryKeys.d.ts +1 -0
  149. package/src/lib/flows/verification/hooks/useCreateVerificationFlow.d.ts +3 -0
  150. package/src/lib/flows/verification/hooks/useGetVerificationFlow.d.ts +2 -0
  151. package/src/lib/flows/verification/hooks/useUpdateVerificationFlow.d.ts +2 -0
  152. package/src/lib/flows/verification/hooks/useVerificationFlowContext.d.ts +13 -0
  153. package/src/lib/flows/verification/index.d.ts +4 -0
  154. package/src/lib/flows/verification/types.d.ts +3 -0
  155. package/src/lib/flows/verification/verificationFlow.d.ts +41 -0
  156. package/src/lib/hooks/index.d.ts +4 -0
  157. package/src/lib/hooks/useFlowManager.d.ts +10 -0
  158. package/src/lib/hooks/useFormErrors.d.ts +2 -0
  159. package/src/lib/hooks/useKratosClientContext.d.ts +12 -0
  160. package/src/lib/hooks/useKratosSessionContext.d.ts +13 -0
  161. package/src/lib/kratos/api.generated/apis/CourierApi.d.ts +86 -0
  162. package/src/lib/kratos/api.generated/apis/EventsApi.d.ts +133 -0
  163. package/src/lib/kratos/api.generated/apis/FrontendApi.d.ts +979 -0
  164. package/src/lib/kratos/api.generated/apis/IdentityApi.d.ts +630 -0
  165. package/src/lib/kratos/api.generated/apis/JwkApi.d.ts +227 -0
  166. package/src/lib/kratos/api.generated/apis/MetadataApi.d.ts +49 -0
  167. package/src/lib/kratos/api.generated/apis/OAuth2Api.d.ts +830 -0
  168. package/src/lib/kratos/api.generated/apis/OidcApi.d.ts +232 -0
  169. package/src/lib/kratos/api.generated/apis/PermissionApi.d.ts +228 -0
  170. package/src/lib/kratos/api.generated/apis/ProjectApi.d.ts +511 -0
  171. package/src/lib/kratos/api.generated/apis/RelationshipApi.d.ts +212 -0
  172. package/src/lib/kratos/api.generated/apis/WellknownApi.d.ts +49 -0
  173. package/src/lib/kratos/api.generated/apis/WorkspaceApi.d.ts +244 -0
  174. package/src/lib/kratos/api.generated/apis/index.d.ts +13 -0
  175. package/src/lib/kratos/api.generated/index.d.ts +3 -0
  176. package/src/lib/kratos/api.generated/models/AcceptOAuth2ConsentRequest.d.ts +71 -0
  177. package/src/lib/kratos/api.generated/models/AcceptOAuth2ConsentRequestSession.d.ts +42 -0
  178. package/src/lib/kratos/api.generated/models/AcceptOAuth2LoginRequest.d.ts +105 -0
  179. package/src/lib/kratos/api.generated/models/AccountExperienceColors.d.ts +884 -0
  180. package/src/lib/kratos/api.generated/models/AccountExperienceConfiguration.d.ts +145 -0
  181. package/src/lib/kratos/api.generated/models/AccountExperienceThemeVariables.d.ts +572 -0
  182. package/src/lib/kratos/api.generated/models/ActiveProjectInConsole.d.ts +34 -0
  183. package/src/lib/kratos/api.generated/models/AddProjectToWorkspaceBody.d.ts +66 -0
  184. package/src/lib/kratos/api.generated/models/Attribute.d.ts +38 -0
  185. package/src/lib/kratos/api.generated/models/AttributeFilter.d.ts +59 -0
  186. package/src/lib/kratos/api.generated/models/AttributesCountDatapoint.d.ts +38 -0
  187. package/src/lib/kratos/api.generated/models/AuthenticatorAssuranceLevel.d.ts +34 -0
  188. package/src/lib/kratos/api.generated/models/BatchCheckPermissionBody.d.ts +33 -0
  189. package/src/lib/kratos/api.generated/models/BatchCheckPermissionResult.d.ts +33 -0
  190. package/src/lib/kratos/api.generated/models/BatchPatchIdentitiesResponse.d.ts +33 -0
  191. package/src/lib/kratos/api.generated/models/BillingPeriodBucket.d.ts +46 -0
  192. package/src/lib/kratos/api.generated/models/CheckOplSyntaxResult.d.ts +33 -0
  193. package/src/lib/kratos/api.generated/models/CheckPermissionResult.d.ts +32 -0
  194. package/src/lib/kratos/api.generated/models/CheckPermissionResultWithError.d.ts +38 -0
  195. package/src/lib/kratos/api.generated/models/CloudAccount.d.ts +50 -0
  196. package/src/lib/kratos/api.generated/models/ConsistencyRequestParameters.d.ts +60 -0
  197. package/src/lib/kratos/api.generated/models/ContinueWith.d.ts +36 -0
  198. package/src/lib/kratos/api.generated/models/ContinueWithRecoveryUi.d.ts +48 -0
  199. package/src/lib/kratos/api.generated/models/ContinueWithRecoveryUiFlow.d.ts +40 -0
  200. package/src/lib/kratos/api.generated/models/ContinueWithRedirectBrowserTo.d.ts +47 -0
  201. package/src/lib/kratos/api.generated/models/ContinueWithSetOrySessionToken.d.ts +47 -0
  202. package/src/lib/kratos/api.generated/models/ContinueWithSettingsUi.d.ts +48 -0
  203. package/src/lib/kratos/api.generated/models/ContinueWithSettingsUiFlow.d.ts +40 -0
  204. package/src/lib/kratos/api.generated/models/ContinueWithVerificationUi.d.ts +48 -0
  205. package/src/lib/kratos/api.generated/models/ContinueWithVerificationUiFlow.d.ts +46 -0
  206. package/src/lib/kratos/api.generated/models/CourierMessageStatus.d.ts +28 -0
  207. package/src/lib/kratos/api.generated/models/CourierMessageType.d.ts +26 -0
  208. package/src/lib/kratos/api.generated/models/CreateCustomDomainBody.d.ts +56 -0
  209. package/src/lib/kratos/api.generated/models/CreateEventStreamBody.d.ts +52 -0
  210. package/src/lib/kratos/api.generated/models/CreateFedcmFlowResponse.d.ts +39 -0
  211. package/src/lib/kratos/api.generated/models/CreateIdentityBody.d.ts +105 -0
  212. package/src/lib/kratos/api.generated/models/CreateInviteResponse.d.ts +39 -0
  213. package/src/lib/kratos/api.generated/models/CreateJsonWebKeySet.d.ts +53 -0
  214. package/src/lib/kratos/api.generated/models/CreateProjectApiKeyRequest.d.ts +42 -0
  215. package/src/lib/kratos/api.generated/models/CreateProjectBody.d.ts +84 -0
  216. package/src/lib/kratos/api.generated/models/CreateProjectBranding.d.ts +63 -0
  217. package/src/lib/kratos/api.generated/models/CreateProjectMemberInviteBody.d.ts +32 -0
  218. package/src/lib/kratos/api.generated/models/CreateProjectNormalizedPayload.d.ts +1903 -0
  219. package/src/lib/kratos/api.generated/models/CreateRecoveryCodeForIdentityBody.d.ts +49 -0
  220. package/src/lib/kratos/api.generated/models/CreateRecoveryLinkForIdentityBody.d.ts +43 -0
  221. package/src/lib/kratos/api.generated/models/CreateRelationshipBody.d.ts +59 -0
  222. package/src/lib/kratos/api.generated/models/CreateSubscriptionBody.d.ts +78 -0
  223. package/src/lib/kratos/api.generated/models/CreateSubscriptionCommon.d.ts +72 -0
  224. package/src/lib/kratos/api.generated/models/CreateVerifiableCredentialRequestBody.d.ts +45 -0
  225. package/src/lib/kratos/api.generated/models/CreateWorkspaceApiKeyBody.d.ts +40 -0
  226. package/src/lib/kratos/api.generated/models/CreateWorkspaceBody.d.ts +32 -0
  227. package/src/lib/kratos/api.generated/models/CreateWorkspaceMemberInviteBody.d.ts +49 -0
  228. package/src/lib/kratos/api.generated/models/CreateWorkspaceSubscriptionBody.d.ts +72 -0
  229. package/src/lib/kratos/api.generated/models/CredentialSupportedDraft00.d.ts +58 -0
  230. package/src/lib/kratos/api.generated/models/CustomDomain.d.ts +121 -0
  231. package/src/lib/kratos/api.generated/models/DeleteMySessionsCount.d.ts +32 -0
  232. package/src/lib/kratos/api.generated/models/EmailTemplateData.d.ts +39 -0
  233. package/src/lib/kratos/api.generated/models/EmailTemplateDataBody.d.ts +38 -0
  234. package/src/lib/kratos/api.generated/models/ErrorAuthenticatorAssuranceLevelNotSatisfied.d.ts +39 -0
  235. package/src/lib/kratos/api.generated/models/ErrorBrowserLocationChangeRequired.d.ts +39 -0
  236. package/src/lib/kratos/api.generated/models/ErrorFlowReplaced.d.ts +39 -0
  237. package/src/lib/kratos/api.generated/models/ErrorGeneric.d.ts +33 -0
  238. package/src/lib/kratos/api.generated/models/ErrorOAuth2.d.ts +60 -0
  239. package/src/lib/kratos/api.generated/models/EventStream.d.ts +62 -0
  240. package/src/lib/kratos/api.generated/models/ExpandedPermissionTree.d.ts +68 -0
  241. package/src/lib/kratos/api.generated/models/FlowError.d.ts +50 -0
  242. package/src/lib/kratos/api.generated/models/GenericError.d.ts +91 -0
  243. package/src/lib/kratos/api.generated/models/GenericErrorContent.d.ts +73 -0
  244. package/src/lib/kratos/api.generated/models/GenericUsage.d.ts +39 -0
  245. package/src/lib/kratos/api.generated/models/GetAttributesCountResponse.d.ts +33 -0
  246. package/src/lib/kratos/api.generated/models/GetManagedIdentitySchemaLocation.d.ts +32 -0
  247. package/src/lib/kratos/api.generated/models/GetMetricsEventAttributesResponse.d.ts +32 -0
  248. package/src/lib/kratos/api.generated/models/GetMetricsEventTypesResponse.d.ts +32 -0
  249. package/src/lib/kratos/api.generated/models/GetOrganizationResponse.d.ts +33 -0
  250. package/src/lib/kratos/api.generated/models/GetProjectEventsBody.d.ts +63 -0
  251. package/src/lib/kratos/api.generated/models/GetProjectEventsResponse.d.ts +39 -0
  252. package/src/lib/kratos/api.generated/models/GetProjectMetricsResponse.d.ts +33 -0
  253. package/src/lib/kratos/api.generated/models/GetSessionActivityResponse.d.ts +33 -0
  254. package/src/lib/kratos/api.generated/models/GetVersion200Response.d.ts +32 -0
  255. package/src/lib/kratos/api.generated/models/HealthNotReadyStatus.d.ts +34 -0
  256. package/src/lib/kratos/api.generated/models/HealthStatus.d.ts +32 -0
  257. package/src/lib/kratos/api.generated/models/Identity.d.ts +135 -0
  258. package/src/lib/kratos/api.generated/models/IdentityCredentials.d.ts +91 -0
  259. package/src/lib/kratos/api.generated/models/IdentityCredentialsCode.d.ts +33 -0
  260. package/src/lib/kratos/api.generated/models/IdentityCredentialsCodeAddress.d.ts +38 -0
  261. package/src/lib/kratos/api.generated/models/IdentityCredentialsOidc.d.ts +33 -0
  262. package/src/lib/kratos/api.generated/models/IdentityCredentialsOidcProvider.d.ts +68 -0
  263. package/src/lib/kratos/api.generated/models/IdentityCredentialsPassword.d.ts +40 -0
  264. package/src/lib/kratos/api.generated/models/IdentityPatch.d.ts +43 -0
  265. package/src/lib/kratos/api.generated/models/IdentityPatchResponse.d.ts +61 -0
  266. package/src/lib/kratos/api.generated/models/IdentitySchemaContainer.d.ts +38 -0
  267. package/src/lib/kratos/api.generated/models/IdentitySchemaPreset.d.ts +38 -0
  268. package/src/lib/kratos/api.generated/models/IdentityWithCredentials.d.ts +47 -0
  269. package/src/lib/kratos/api.generated/models/IdentityWithCredentialsOidc.d.ts +33 -0
  270. package/src/lib/kratos/api.generated/models/IdentityWithCredentialsOidcConfig.d.ts +33 -0
  271. package/src/lib/kratos/api.generated/models/IdentityWithCredentialsOidcConfigProvider.d.ts +50 -0
  272. package/src/lib/kratos/api.generated/models/IdentityWithCredentialsPassword.d.ts +33 -0
  273. package/src/lib/kratos/api.generated/models/IdentityWithCredentialsPasswordConfig.d.ts +44 -0
  274. package/src/lib/kratos/api.generated/models/IdentityWithCredentialsSaml.d.ts +33 -0
  275. package/src/lib/kratos/api.generated/models/IdentityWithCredentialsSamlConfig.d.ts +33 -0
  276. package/src/lib/kratos/api.generated/models/IdentityWithCredentialsSamlConfigProvider.d.ts +44 -0
  277. package/src/lib/kratos/api.generated/models/InternalGetProjectBrandingBody.d.ts +32 -0
  278. package/src/lib/kratos/api.generated/models/InternalIsAXWelcomeScreenEnabledForProjectBody.d.ts +38 -0
  279. package/src/lib/kratos/api.generated/models/InternalIsOwnerForProjectBySlugBody.d.ts +60 -0
  280. package/src/lib/kratos/api.generated/models/InternalIsOwnerForProjectBySlugResponse.d.ts +32 -0
  281. package/src/lib/kratos/api.generated/models/IntrospectedOAuth2Token.d.ts +132 -0
  282. package/src/lib/kratos/api.generated/models/InviteTokenBody.d.ts +36 -0
  283. package/src/lib/kratos/api.generated/models/Invoice.d.ts +68 -0
  284. package/src/lib/kratos/api.generated/models/InvoiceDataV1.d.ts +101 -0
  285. package/src/lib/kratos/api.generated/models/IsOwnerForProjectBySlug.d.ts +38 -0
  286. package/src/lib/kratos/api.generated/models/JsonPatch.d.ts +69 -0
  287. package/src/lib/kratos/api.generated/models/JsonWebKey.d.ts +153 -0
  288. package/src/lib/kratos/api.generated/models/JsonWebKeySet.d.ts +39 -0
  289. package/src/lib/kratos/api.generated/models/KetoNamespace.d.ts +38 -0
  290. package/src/lib/kratos/api.generated/models/LineItemV1.d.ts +62 -0
  291. package/src/lib/kratos/api.generated/models/ListEventStreams.d.ts +33 -0
  292. package/src/lib/kratos/api.generated/models/ListInvoicesResponse.d.ts +45 -0
  293. package/src/lib/kratos/api.generated/models/ListOrganizationsResponse.d.ts +45 -0
  294. package/src/lib/kratos/api.generated/models/ListWorkspaceProjects.d.ts +45 -0
  295. package/src/lib/kratos/api.generated/models/ListWorkspaces.d.ts +45 -0
  296. package/src/lib/kratos/api.generated/models/LoginFlow.d.ts +183 -0
  297. package/src/lib/kratos/api.generated/models/LoginFlowState.d.ts +27 -0
  298. package/src/lib/kratos/api.generated/models/LogoutFlow.d.ts +40 -0
  299. package/src/lib/kratos/api.generated/models/ManagedIdentitySchema.d.ts +76 -0
  300. package/src/lib/kratos/api.generated/models/ManagedIdentitySchemaValidationResult.d.ts +38 -0
  301. package/src/lib/kratos/api.generated/models/MemberInvite.d.ts +114 -0
  302. package/src/lib/kratos/api.generated/models/Message.d.ts +131 -0
  303. package/src/lib/kratos/api.generated/models/MessageDispatch.d.ts +75 -0
  304. package/src/lib/kratos/api.generated/models/MetricsDatapoint.d.ts +38 -0
  305. package/src/lib/kratos/api.generated/models/Money.d.ts +44 -0
  306. package/src/lib/kratos/api.generated/models/Namespace.d.ts +32 -0
  307. package/src/lib/kratos/api.generated/models/NeedsPrivilegedSessionError.d.ts +39 -0
  308. package/src/lib/kratos/api.generated/models/NormalizedProject.d.ts +151 -0
  309. package/src/lib/kratos/api.generated/models/NormalizedProjectRevision.d.ts +1853 -0
  310. package/src/lib/kratos/api.generated/models/NormalizedProjectRevisionCourierChannel.d.ts +127 -0
  311. package/src/lib/kratos/api.generated/models/NormalizedProjectRevisionHook.d.ts +134 -0
  312. package/src/lib/kratos/api.generated/models/NormalizedProjectRevisionIdentitySchema.d.ts +96 -0
  313. package/src/lib/kratos/api.generated/models/NormalizedProjectRevisionSAMLProvider.d.ts +100 -0
  314. package/src/lib/kratos/api.generated/models/NormalizedProjectRevisionScimClient.d.ts +89 -0
  315. package/src/lib/kratos/api.generated/models/NormalizedProjectRevisionThirdPartyProvider.d.ts +243 -0
  316. package/src/lib/kratos/api.generated/models/NormalizedProjectRevisionTokenizerTemplate.d.ts +74 -0
  317. package/src/lib/kratos/api.generated/models/OAuth2Client.d.ts +415 -0
  318. package/src/lib/kratos/api.generated/models/OAuth2ClientTokenLifespans.d.ts +86 -0
  319. package/src/lib/kratos/api.generated/models/OAuth2ConsentRequest.d.ts +122 -0
  320. package/src/lib/kratos/api.generated/models/OAuth2ConsentRequestOpenIDConnectContext.d.ts +81 -0
  321. package/src/lib/kratos/api.generated/models/OAuth2ConsentSession.d.ts +95 -0
  322. package/src/lib/kratos/api.generated/models/OAuth2ConsentSessionExpiresAt.d.ts +56 -0
  323. package/src/lib/kratos/api.generated/models/OAuth2LoginRequest.d.ts +92 -0
  324. package/src/lib/kratos/api.generated/models/OAuth2LogoutRequest.d.ts +75 -0
  325. package/src/lib/kratos/api.generated/models/OAuth2RedirectTo.d.ts +32 -0
  326. package/src/lib/kratos/api.generated/models/OAuth2TokenExchange.d.ts +65 -0
  327. package/src/lib/kratos/api.generated/models/OidcConfiguration.d.ts +292 -0
  328. package/src/lib/kratos/api.generated/models/OidcUserInfo.d.ts +140 -0
  329. package/src/lib/kratos/api.generated/models/Organization.d.ts +62 -0
  330. package/src/lib/kratos/api.generated/models/OrganizationBody.d.ts +38 -0
  331. package/src/lib/kratos/api.generated/models/Pagination.d.ts +44 -0
  332. package/src/lib/kratos/api.generated/models/PaginationHeaders.d.ts +44 -0
  333. package/src/lib/kratos/api.generated/models/ParseError.d.ts +45 -0
  334. package/src/lib/kratos/api.generated/models/PatchIdentitiesBody.d.ts +35 -0
  335. package/src/lib/kratos/api.generated/models/PerformNativeLogoutBody.d.ts +34 -0
  336. package/src/lib/kratos/api.generated/models/PermissionsOnWorkspace.d.ts +34 -0
  337. package/src/lib/kratos/api.generated/models/Plan.d.ts +38 -0
  338. package/src/lib/kratos/api.generated/models/PlanDetails.d.ts +77 -0
  339. package/src/lib/kratos/api.generated/models/PostCheckPermissionBody.d.ts +59 -0
  340. package/src/lib/kratos/api.generated/models/PostCheckPermissionOrErrorBody.d.ts +59 -0
  341. package/src/lib/kratos/api.generated/models/Project.d.ts +141 -0
  342. package/src/lib/kratos/api.generated/models/ProjectApiKey.d.ts +76 -0
  343. package/src/lib/kratos/api.generated/models/ProjectBranding.d.ts +63 -0
  344. package/src/lib/kratos/api.generated/models/ProjectBrandingColors.d.ts +200 -0
  345. package/src/lib/kratos/api.generated/models/ProjectBrandingTheme.d.ts +271 -0
  346. package/src/lib/kratos/api.generated/models/ProjectCors.d.ts +38 -0
  347. package/src/lib/kratos/api.generated/models/ProjectEventsDatapoint.d.ts +45 -0
  348. package/src/lib/kratos/api.generated/models/ProjectHost.d.ts +44 -0
  349. package/src/lib/kratos/api.generated/models/ProjectMember.d.ts +56 -0
  350. package/src/lib/kratos/api.generated/models/ProjectMetadata.d.ts +150 -0
  351. package/src/lib/kratos/api.generated/models/ProjectServiceIdentity.d.ts +32 -0
  352. package/src/lib/kratos/api.generated/models/ProjectServiceOAuth2.d.ts +32 -0
  353. package/src/lib/kratos/api.generated/models/ProjectServicePermission.d.ts +32 -0
  354. package/src/lib/kratos/api.generated/models/ProjectServices.d.ts +47 -0
  355. package/src/lib/kratos/api.generated/models/Provider.d.ts +84 -0
  356. package/src/lib/kratos/api.generated/models/QuotaUsage.d.ts +149 -0
  357. package/src/lib/kratos/api.generated/models/RFC6749ErrorJson.d.ts +56 -0
  358. package/src/lib/kratos/api.generated/models/RecoveryCodeForIdentity.d.ts +48 -0
  359. package/src/lib/kratos/api.generated/models/RecoveryFlow.d.ts +104 -0
  360. package/src/lib/kratos/api.generated/models/RecoveryFlowState.d.ts +27 -0
  361. package/src/lib/kratos/api.generated/models/RecoveryIdentityAddress.d.ts +56 -0
  362. package/src/lib/kratos/api.generated/models/RecoveryLinkForIdentity.d.ts +42 -0
  363. package/src/lib/kratos/api.generated/models/RegistrationFlow.d.ts +154 -0
  364. package/src/lib/kratos/api.generated/models/RegistrationFlowState.d.ts +27 -0
  365. package/src/lib/kratos/api.generated/models/RejectOAuth2Request.d.ts +61 -0
  366. package/src/lib/kratos/api.generated/models/RelationQuery.d.ts +59 -0
  367. package/src/lib/kratos/api.generated/models/Relationship.d.ts +59 -0
  368. package/src/lib/kratos/api.generated/models/RelationshipNamespaces.d.ts +33 -0
  369. package/src/lib/kratos/api.generated/models/RelationshipPatch.d.ts +48 -0
  370. package/src/lib/kratos/api.generated/models/Relationships.d.ts +41 -0
  371. package/src/lib/kratos/api.generated/models/SchemaPatch.d.ts +38 -0
  372. package/src/lib/kratos/api.generated/models/SelfServiceFlowExpiredError.d.ts +53 -0
  373. package/src/lib/kratos/api.generated/models/Session.d.ts +99 -0
  374. package/src/lib/kratos/api.generated/models/SessionActivityDatapoint.d.ts +44 -0
  375. package/src/lib/kratos/api.generated/models/SessionAuthenticationMethod.d.ts +73 -0
  376. package/src/lib/kratos/api.generated/models/SessionDevice.d.ts +50 -0
  377. package/src/lib/kratos/api.generated/models/SetActiveProjectInConsoleBody.d.ts +36 -0
  378. package/src/lib/kratos/api.generated/models/SetCustomDomainBody.d.ts +56 -0
  379. package/src/lib/kratos/api.generated/models/SetEventStreamBody.d.ts +52 -0
  380. package/src/lib/kratos/api.generated/models/SetProject.d.ts +52 -0
  381. package/src/lib/kratos/api.generated/models/SetProjectBrandingThemeBody.d.ts +63 -0
  382. package/src/lib/kratos/api.generated/models/SettingsFlow.d.ts +116 -0
  383. package/src/lib/kratos/api.generated/models/SettingsFlowState.d.ts +26 -0
  384. package/src/lib/kratos/api.generated/models/SourcePosition.d.ts +38 -0
  385. package/src/lib/kratos/api.generated/models/SubjectSet.d.ts +44 -0
  386. package/src/lib/kratos/api.generated/models/Subscription.d.ts +147 -0
  387. package/src/lib/kratos/api.generated/models/SuccessfulCodeExchangeResponse.d.ts +46 -0
  388. package/src/lib/kratos/api.generated/models/SuccessfulNativeLogin.d.ts +56 -0
  389. package/src/lib/kratos/api.generated/models/SuccessfulNativeRegistration.d.ts +65 -0
  390. package/src/lib/kratos/api.generated/models/SuccessfulProjectUpdate.d.ts +48 -0
  391. package/src/lib/kratos/api.generated/models/TaxLineItem.d.ts +38 -0
  392. package/src/lib/kratos/api.generated/models/TimeInterval.d.ts +38 -0
  393. package/src/lib/kratos/api.generated/models/TokenPagination.d.ts +44 -0
  394. package/src/lib/kratos/api.generated/models/TokenPaginationHeaders.d.ts +44 -0
  395. package/src/lib/kratos/api.generated/models/TokenPaginationRequestParameters.d.ts +47 -0
  396. package/src/lib/kratos/api.generated/models/TokenPaginationResponseHeaders.d.ts +54 -0
  397. package/src/lib/kratos/api.generated/models/TrustOAuth2JwtGrantIssuer.d.ts +63 -0
  398. package/src/lib/kratos/api.generated/models/TrustedOAuth2JwtGrantIssuer.d.ts +75 -0
  399. package/src/lib/kratos/api.generated/models/TrustedOAuth2JwtGrantJsonWebKey.d.ts +38 -0
  400. package/src/lib/kratos/api.generated/models/UiContainer.d.ts +52 -0
  401. package/src/lib/kratos/api.generated/models/UiNode.d.ts +113 -0
  402. package/src/lib/kratos/api.generated/models/UiNodeAnchorAttributes.d.ts +73 -0
  403. package/src/lib/kratos/api.generated/models/UiNodeAttributes.d.ts +39 -0
  404. package/src/lib/kratos/api.generated/models/UiNodeDivisionAttributes.d.ts +74 -0
  405. package/src/lib/kratos/api.generated/models/UiNodeImageAttributes.d.ts +78 -0
  406. package/src/lib/kratos/api.generated/models/UiNodeInputAttributes.d.ts +229 -0
  407. package/src/lib/kratos/api.generated/models/UiNodeMeta.d.ts +34 -0
  408. package/src/lib/kratos/api.generated/models/UiNodeScriptAttributes.d.ts +104 -0
  409. package/src/lib/kratos/api.generated/models/UiNodeTextAttributes.d.ts +65 -0
  410. package/src/lib/kratos/api.generated/models/UiText.d.ts +63 -0
  411. package/src/lib/kratos/api.generated/models/UpdateFedcmFlowBody.d.ts +51 -0
  412. package/src/lib/kratos/api.generated/models/UpdateIdentityBody.d.ts +78 -0
  413. package/src/lib/kratos/api.generated/models/UpdateLoginFlowBody.d.ts +48 -0
  414. package/src/lib/kratos/api.generated/models/UpdateLoginFlowWithCodeMethod.d.ts +70 -0
  415. package/src/lib/kratos/api.generated/models/UpdateLoginFlowWithIdentifierFirstMethod.d.ts +50 -0
  416. package/src/lib/kratos/api.generated/models/UpdateLoginFlowWithLookupSecretMethod.d.ts +44 -0
  417. package/src/lib/kratos/api.generated/models/UpdateLoginFlowWithOidcMethod.d.ts +92 -0
  418. package/src/lib/kratos/api.generated/models/UpdateLoginFlowWithPasskeyMethod.d.ts +46 -0
  419. package/src/lib/kratos/api.generated/models/UpdateLoginFlowWithPasswordMethod.d.ts +63 -0
  420. package/src/lib/kratos/api.generated/models/UpdateLoginFlowWithSamlMethod.d.ts +52 -0
  421. package/src/lib/kratos/api.generated/models/UpdateLoginFlowWithTotpMethod.d.ts +50 -0
  422. package/src/lib/kratos/api.generated/models/UpdateLoginFlowWithWebAuthnMethod.d.ts +58 -0
  423. package/src/lib/kratos/api.generated/models/UpdateRecoveryFlowBody.d.ts +27 -0
  424. package/src/lib/kratos/api.generated/models/UpdateRecoveryFlowWithCodeMethod.d.ts +80 -0
  425. package/src/lib/kratos/api.generated/models/UpdateRecoveryFlowWithLinkMethod.d.ts +69 -0
  426. package/src/lib/kratos/api.generated/models/UpdateRegistrationFlowBody.d.ts +42 -0
  427. package/src/lib/kratos/api.generated/models/UpdateRegistrationFlowWithCodeMethod.d.ts +64 -0
  428. package/src/lib/kratos/api.generated/models/UpdateRegistrationFlowWithOidcMethod.d.ts +92 -0
  429. package/src/lib/kratos/api.generated/models/UpdateRegistrationFlowWithPasskeyMethod.d.ts +61 -0
  430. package/src/lib/kratos/api.generated/models/UpdateRegistrationFlowWithPasswordMethod.d.ts +58 -0
  431. package/src/lib/kratos/api.generated/models/UpdateRegistrationFlowWithProfileMethod.d.ts +76 -0
  432. package/src/lib/kratos/api.generated/models/UpdateRegistrationFlowWithSamlMethod.d.ts +58 -0
  433. package/src/lib/kratos/api.generated/models/UpdateRegistrationFlowWithWebAuthnMethod.d.ts +69 -0
  434. package/src/lib/kratos/api.generated/models/UpdateSettingsFlowBody.d.ts +45 -0
  435. package/src/lib/kratos/api.generated/models/UpdateSettingsFlowWithLookupMethod.d.ts +70 -0
  436. package/src/lib/kratos/api.generated/models/UpdateSettingsFlowWithOidcMethod.d.ts +90 -0
  437. package/src/lib/kratos/api.generated/models/UpdateSettingsFlowWithPasskeyMethod.d.ts +57 -0
  438. package/src/lib/kratos/api.generated/models/UpdateSettingsFlowWithPasswordMethod.d.ts +52 -0
  439. package/src/lib/kratos/api.generated/models/UpdateSettingsFlowWithProfileMethod.d.ts +56 -0
  440. package/src/lib/kratos/api.generated/models/UpdateSettingsFlowWithSamlMethod.d.ts +84 -0
  441. package/src/lib/kratos/api.generated/models/UpdateSettingsFlowWithTotpMethod.d.ts +60 -0
  442. package/src/lib/kratos/api.generated/models/UpdateSettingsFlowWithWebAuthnMethod.d.ts +71 -0
  443. package/src/lib/kratos/api.generated/models/UpdateSubscriptionBody.d.ts +55 -0
  444. package/src/lib/kratos/api.generated/models/UpdateVerificationFlowBody.d.ts +27 -0
  445. package/src/lib/kratos/api.generated/models/UpdateVerificationFlowWithCodeMethod.d.ts +80 -0
  446. package/src/lib/kratos/api.generated/models/UpdateVerificationFlowWithLinkMethod.d.ts +69 -0
  447. package/src/lib/kratos/api.generated/models/UpdateWorkspaceBody.d.ts +32 -0
  448. package/src/lib/kratos/api.generated/models/Usage.d.ts +33 -0
  449. package/src/lib/kratos/api.generated/models/VerifiableCredentialPrimingResponse.d.ts +74 -0
  450. package/src/lib/kratos/api.generated/models/VerifiableCredentialProof.d.ts +38 -0
  451. package/src/lib/kratos/api.generated/models/VerifiableCredentialResponse.d.ts +38 -0
  452. package/src/lib/kratos/api.generated/models/VerifiableIdentityAddress.d.ts +85 -0
  453. package/src/lib/kratos/api.generated/models/VerificationFlow.d.ts +101 -0
  454. package/src/lib/kratos/api.generated/models/VerificationFlowState.d.ts +27 -0
  455. package/src/lib/kratos/api.generated/models/Version.d.ts +32 -0
  456. package/src/lib/kratos/api.generated/models/Warning.d.ts +38 -0
  457. package/src/lib/kratos/api.generated/models/Workspace.d.ts +62 -0
  458. package/src/lib/kratos/api.generated/models/WorkspaceApiKey.d.ts +76 -0
  459. package/src/lib/kratos/api.generated/models/index.d.ts +283 -0
  460. package/src/lib/kratos/api.generated/runtime.d.ts +182 -0
  461. package/src/lib/kratos/contrib/continueWith.d.ts +51 -0
  462. package/src/lib/kratos/contrib/error.d.ts +87 -0
  463. package/src/lib/kratos/contrib/flowTypes.d.ts +9 -0
  464. package/src/lib/kratos/contrib/index.d.ts +6 -0
  465. package/src/lib/kratos/contrib/ui.d.ts +63 -0
  466. package/src/lib/kratos/contrib/urlHelpers.d.ts +25 -0
  467. package/src/lib/kratos/contrib/utils.d.ts +32 -0
  468. package/src/lib/kratos/index.d.ts +2 -0
  469. package/src/lib/sessionManager/baseSessionManager.d.ts +50 -27
  470. package/src/lib/sessionManager/index.d.ts +1 -0
  471. package/src/lib/sessionManager/types.d.ts +10 -0
  472. package/src/lib/types/index.d.ts +17 -0
  473. package/src/lib/utils/assertion.d.ts +9 -0
  474. package/src/lib/utils/errors.d.ts +386 -0
  475. package/src/lib/utils/fields.d.ts +9 -0
  476. package/src/lib/utils/flow.d.ts +46 -0
  477. package/src/lib/utils/form.d.ts +12 -0
  478. package/src/lib/utils/index.d.ts +9 -0
  479. package/src/lib/utils/passkeys/credential.d.ts +13 -0
  480. package/src/lib/utils/passkeys/helpers.d.ts +2 -0
  481. package/src/lib/utils/passkeys/index.d.ts +4 -0
  482. package/src/lib/utils/passkeys/types.d.ts +31 -0
  483. package/src/lib/utils/query.d.ts +3 -0
  484. package/src/lib/utils/searchQuery.d.ts +6 -0
  485. package/src/lib/utils/traits.d.ts +5 -0
  486. package/src/lib/cards/index.d.ts +0 -2
  487. package/src/lib/cards/userAuthCard.d.ts +0 -62
  488. package/src/lib/cards/userSettingsCard.d.ts +0 -36
  489. package/src/lib/createKratosClient.d.ts +0 -19
  490. package/src/lib/defaultComponents/DefaultButtonComponent/index.d.ts +0 -2
  491. package/src/lib/defaultComponents/DefaultCheckboxComponent/index.d.ts +0 -2
  492. package/src/lib/defaultComponents/DefaultImageComponent/index.d.ts +0 -2
  493. package/src/lib/defaultComponents/DefaultInputComponent/index.d.ts +0 -2
  494. package/src/lib/defaultComponents/DefaultLinkComponent/index.d.ts +0 -2
  495. package/src/lib/defaultComponents/DefaultMessageComponent/index.d.ts +0 -2
  496. package/src/lib/defaultComponents/DefaultMessageFormatComponent/index.d.ts +0 -2
  497. package/src/lib/defaultComponents/DefaultTextComponent/index.d.ts +0 -2
  498. package/src/lib/defaultComponents/DefaultUiMessagesComponent/index.d.ts +0 -2
  499. package/src/lib/defaultComponents.d.ts +0 -2
  500. package/src/lib/flows/useLoginFlow.d.ts +0 -50
  501. package/src/lib/flows/useLogoutFlow.d.ts +0 -33
  502. package/src/lib/flows/useReauthenticationFlow.d.ts +0 -31
  503. package/src/lib/flows/useRecoveryFlow.d.ts +0 -47
  504. package/src/lib/flows/useRegistrationFlow.d.ts +0 -47
  505. package/src/lib/flows/useSettingsFlow.d.ts +0 -47
  506. package/src/lib/flows/useVerificationFlow.d.ts +0 -47
  507. package/src/lib/helpers/errorMessages.d.ts +0 -7
  508. package/src/lib/helpers/filterFlowNodes.d.ts +0 -7
  509. package/src/lib/helpers/formattedMessage.d.ts +0 -4
  510. package/src/lib/helpers/getNodeLabel.d.ts +0 -2
  511. package/src/lib/helpers/node.d.ts +0 -7
  512. package/src/lib/helpers/useScriptNodes.d.ts +0 -5
  513. package/src/lib/helpers/userAuthForm.d.ts +0 -31
  514. package/src/lib/kratosContext.d.ts +0 -29
  515. package/src/lib/kratosContextProvider.d.ts +0 -34
  516. package/src/lib/sections/authCodeSection.d.ts +0 -14
  517. package/src/lib/sections/identifierFirstLoginSection.d.ts +0 -8
  518. package/src/lib/sections/linkSection.d.ts +0 -14
  519. package/src/lib/sections/loginSection.d.ts +0 -8
  520. package/src/lib/sections/lookupSecretSettingsSection.d.ts +0 -8
  521. package/src/lib/sections/oidcSection.d.ts +0 -8
  522. package/src/lib/sections/oidcSettingsSection.d.ts +0 -8
  523. package/src/lib/sections/passkeySettingsSection.d.ts +0 -8
  524. package/src/lib/sections/passwordSettingsSection.d.ts +0 -8
  525. package/src/lib/sections/passwordlessSection.d.ts +0 -8
  526. package/src/lib/sections/profileLoginSection.d.ts +0 -8
  527. package/src/lib/sections/profileRegistrationSection.d.ts +0 -8
  528. package/src/lib/sections/profileSettingsSection.d.ts +0 -8
  529. package/src/lib/sections/registrationSection.d.ts +0 -8
  530. package/src/lib/sections/totpSettingsSection.d.ts +0 -8
  531. package/src/lib/types/components.d.ts +0 -78
  532. package/src/lib/types/enums/errorId.d.ts +0 -16
  533. package/src/lib/types/enums/errorValidation.d.ts +0 -30
  534. package/src/lib/types/enums/errorValidationLogin.d.ts +0 -9
  535. package/src/lib/types/enums/errorValidationRecovery.d.ts +0 -9
  536. package/src/lib/types/enums/errorValidationRegistration.d.ts +0 -4
  537. package/src/lib/types/enums/errorValidationSettings.d.ts +0 -4
  538. package/src/lib/types/enums/errorValidationVerification.d.ts +0 -9
  539. package/src/lib/types/enums/index.d.ts +0 -14
  540. package/src/lib/types/enums/infoNodeLabel.d.ts +0 -14
  541. package/src/lib/types/enums/infoSelfServiceLogin.d.ts +0 -16
  542. package/src/lib/types/enums/infoSelfServiceRecovery.d.ts +0 -6
  543. package/src/lib/types/enums/infoSelfServiceRegistration.d.ts +0 -7
  544. package/src/lib/types/enums/infoSelfServiceSettings.d.ts +0 -21
  545. package/src/lib/types/enums/infoSelfServiceVerification.d.ts +0 -6
  546. package/src/lib/types/enums/misc.d.ts +0 -10
  547. package/src/lib/types/responseError.d.ts +0 -2
  548. package/src/lib/types/useHandleFlowError.d.ts +0 -13
  549. package/src/lib/utils/filterNodesByGroups.d.ts +0 -22
  550. package/src/lib/utils/getNodeInputType.d.ts +0 -1
  551. package/src/lib/utils/handleCancelError.d.ts +0 -2
  552. package/src/lib/utils/helpers.d.ts +0 -11
  553. package/src/lib/utils/typeGuards.d.ts +0 -24
  554. package/src/lib/utils/variables.d.ts +0 -4
package/README.md CHANGED
@@ -1,14 +1,6 @@
1
1
  # @leancodepl/kratos
2
2
 
3
- React components and hooks for Ory Kratos authentication integration.
4
-
5
- ## Features
6
-
7
- - **Complete auth flows** - Login, registration, recovery, verification, and settings flows
8
- - **Ready-to-use components** - Login, registration, recovery, and settings cards
9
- - **Session management** - Automatic token handling with RxJS observables
10
- - **Customizable UI** - Override any component with your own implementation
11
- - **Error handling** - Built-in validation and flow error management
3
+ Headless React components library for building Ory Kratos authentication flows.
12
4
 
13
5
  ## Installation
14
6
 
@@ -20,352 +12,554 @@ yarn add @leancodepl/kratos
20
12
 
21
13
  ## API
22
14
 
23
- ### `createKratosClient(configuration)`
24
-
25
- Creates Ory Kratos FrontendApi client with axios and credentials configuration.
26
-
27
- **Parameters:**
28
-
29
- - `configuration: ConfigurationParameters` - Kratos client configuration parameters
30
-
31
- **Returns:** Configured FrontendApi instance for Kratos operations
32
-
33
- ### `useKratosContext()`
34
-
35
- Access Kratos context data with components and error handling.
36
-
37
- **Returns:** Kratos context data with initialized components
38
-
39
- **Throws:** Error when Kratos context components are not initialized
40
-
41
- ### `KratosContextProvider(components, useHandleFlowError, excludeScripts, children)`
42
-
43
- Provides Kratos context to child components with customizable configuration.
44
-
45
- **Parameters:**
46
-
47
- - `components?: Partial<KratosComponents>` - Partial override of default Kratos UI components
48
- - `useHandleFlowError?: UseHandleFlowError` - Custom error handler for authentication flows
49
- - `excludeScripts?: boolean` - Whether to exclude script node execution
50
- - `children?: ReactNode` - Child React components
51
-
52
- **Returns:** JSX element providing Kratos context
53
-
54
- ### `BaseSessionManager(authUrl, loginRoute)`
55
-
56
- Manages Kratos session state with RxJS observables for authentication status.
57
-
58
- **Parameters:**
59
-
60
- - `authUrl: string` - Base URL for Kratos authentication endpoints
61
- - `loginRoute: string` - Application route for login page
62
-
63
- ### `useLoginFlow(kratosClient, returnTo, onLoggedIn, onSessionAlreadyAvailable, searchParams, updateSearchParams)`
15
+ ### `mkKratos(queryClient, basePath, traits, SessionManager)`
64
16
 
65
- Manages Kratos login flow state and form submission.
17
+ Creates a Kratos client factory with authentication flows, session management, and React providers.
66
18
 
67
19
  **Parameters:**
68
20
 
69
- - `kratosClient: FrontendApi` - Configured Kratos FrontendApi client
70
- - `returnTo?: string` - URL to redirect after successful login
71
- - `onLoggedIn?: Function` - Callback executed when user successfully logs in
72
- - `onSessionAlreadyAvailable?: Function` - Callback when session already exists
73
- - `searchParams?: LoginSearchParams` - URL search parameters for flow state
74
- - `updateSearchParams: Function` - Function to update URL search parameters
75
-
76
- **Returns:** Object with current flow and submit function
77
-
78
- ### `useRegistrationFlow(kratosClient, onSessionAlreadyAvailable, onContinueWith, searchParams, updateSearchParams)`
79
-
80
- Manages Kratos registration flow state and form submission.
81
-
82
- **Parameters:**
83
-
84
- - `kratosClient: FrontendApi` - Configured Kratos FrontendApi client
85
- - `onSessionAlreadyAvailable: Function` - Callback when session already exists
86
- - `onContinueWith?: Function` - Optional callback for post-registration actions
87
- - `searchParams?: Object` - URL search parameters for flow state
88
- - `updateSearchParams: Function` - Function to update URL search parameters
89
-
90
- **Returns:** Object with current flow, submit function, and registration status
21
+ - `queryClient: QueryClient` - React Query client instance for managing server state
22
+ - `basePath: string` - Base URL for the Kratos API server
23
+ - `traits?: TTraitsConfig` - Optional traits configuration object for user schema validation
24
+ - `SessionManager?: new (props: BaseSessionManagerContructorProps) => TSessionManager` - Optional session manager
25
+ constructor, defaults to BaseSessionManager
91
26
 
92
- ### `useRecoveryFlow(kratosClient, onSessionAlreadyAvailable, onContinueWith, searchParams, updateSearchParams)`
27
+ **Returns:** Object with the following structure:
93
28
 
94
- Manages Kratos account recovery flow state and form submission.
29
+ #### `flows`
95
30
 
96
- **Parameters:**
31
+ Authentication flow components and hooks:
97
32
 
98
- - `kratosClient: FrontendApi` - Configured Kratos FrontendApi client
99
- - `onSessionAlreadyAvailable: Function` - Callback when session already exists
100
- - `onContinueWith?: Function` - Optional callback for post-recovery actions
101
- - `searchParams?: Object` - URL search parameters for flow state
102
- - `updateSearchParams: Function` - Function to update URL search parameters
33
+ - `useLogout()` - Hook providing logout functionality with optional returnTo parameter
34
+ - `LoginFlow` - Complete login flow component with multi-step authentication support
35
+ - `RecoveryFlow` - Password recovery flow component with email verification and reset
36
+ - `RegistrationFlow` - User registration flow component with traits collection and verification
37
+ - `SettingsFlow` - User settings flow component for account management and profile updates
38
+ - `VerificationFlow` - Email verification flow component
103
39
 
104
- **Returns:** Object with current flow, submit function, and recovery status
40
+ #### `providers`
105
41
 
106
- ### `LoginCard(flow, onSubmit, className)`
42
+ React context providers for the application:
107
43
 
108
- Pre-built login card component for Kratos login flows.
44
+ - `KratosProviders` - Composite provider that wraps your app with necessary Kratos context
45
+ - Includes `KratosClientProvider` for API access
46
+ - Includes `KratosSessionProvider` for session management
109
47
 
110
- **Parameters:**
48
+ #### `session`
111
49
 
112
- - `flow: LoginFlow` - Kratos login flow object
113
- - `onSubmit?: Function` - Form submission handler
114
- - `className?: string` - Optional CSS class name
50
+ Session management utilities:
115
51
 
116
- **Returns:** JSX element with login form
52
+ - `sessionManager` - Session manager instance with methods and hooks for:
53
+ - **Async Methods**: `getSession()`, `getIdentity()`, `getUserId()`, `isLoggedIn()`, `checkIfLoggedIn()`
54
+ - **React Hooks**: `useSession()`, `useIdentity()`, `useUserId()`, `useIsLoggedIn()`, `useIsAal2Required()`
55
+ - **Extensible**: Can be extended to provide trait-specific methods like `useEmail()`, `useFirstName()` for typed user
56
+ data access
117
57
 
118
- ### `RegistrationCard(flow, onSubmit, className)`
58
+ ### `BaseSessionManager(queryClient, api)`
119
59
 
120
- Pre-built registration card component for Kratos registration flows.
60
+ Manages Ory Kratos session and identity state with React Query integration.
121
61
 
122
62
  **Parameters:**
123
63
 
124
- - `flow: RegistrationFlow` - Kratos registration flow object
125
- - `onSubmit?: Function` - Form submission handler
126
- - `className?: string` - Optional CSS class name
64
+ - `queryClient: QueryClient` - React Query `QueryClient` instance for caching and fetching session data
65
+ - `api: FrontendApi` - Ory Kratos `FrontendApi` instance for session and identity requests
127
66
 
128
- **Returns:** JSX element with registration form
129
-
130
- ### `RecoveryCard(flow, onSubmit, className)`
67
+ ## Usage Examples
131
68
 
132
- Pre-built recovery card component for Kratos account recovery flows.
69
+ ### Basic Setup
133
70
 
134
- **Parameters:**
71
+ To use the library, you need to create new instance of Kratos client with `mkKratos` factory:
135
72
 
136
- - `flow: RecoveryFlow` - Kratos recovery flow object
137
- - `onSubmit?: Function` - Form submission handler
138
- - `className?: string` - Optional CSS class name
73
+ ```typescript
74
+ // kratosService.ts
139
75
 
140
- **Returns:** JSX element with recovery form
76
+ import { queryClient } from "./queryService"
141
77
 
142
- ### `VerificationCard(flow, onSubmit, className)`
78
+ const traitsConfig = {
79
+ Email: { trait: "email", type: "string" },
80
+ GivenName: { trait: "given_name", type: "string" },
81
+ RegulationsAccepted: { trait: "regulations_accepted", type: "boolean" },
82
+ } as const
143
83
 
144
- Pre-built verification card component for Kratos verification flows.
84
+ const {
85
+ session: { sessionManager },
86
+ providers: { KratosProviders },
87
+ flows: { LoginFlow, RegistrationFlow, SettingsFlow, VerificationFlow, RecoveryFlow, useLogout },
88
+ } = mkKratos({
89
+ queryClient,
90
+ basePath: environment.authUrl,
91
+ traits: traitsConfig,
92
+ })
145
93
 
146
- **Parameters:**
94
+ // session
95
+ export { sessionManager }
147
96
 
148
- - `flow: VerificationFlow` - Kratos verification flow object
149
- - `onSubmit?: Function` - Form submission handler
150
- - `className?: string` - Optional CSS class name
97
+ // providers
98
+ export { KratosProviders }
151
99
 
152
- **Returns:** JSX element with verification form
100
+ // flows
101
+ export { LoginFlow, RecoveryFlow, RegistrationFlow, SettingsFlow, useLogout, VerificationFlow }
153
102
 
154
- ### `useVerificationFlow(initialFlowId, kratosClient, onVerified, searchParams, updateSearchParams)`
155
-
156
- Manages Kratos email/phone verification flow state and form submission.
103
+ // traits
104
+ export type AuthTraitsConfig = typeof traitsConfig
105
+ ```
157
106
 
158
- **Parameters:**
107
+ And then wrap your app with `KratosProviders` from `mkKratos`:
159
108
 
160
- - `initialFlowId?: string` - Optional initial flow ID to start with
161
- - `kratosClient: FrontendApi` - Configured Kratos FrontendApi client
162
- - `onVerified: Function` - Callback executed when verification is successful
163
- - `searchParams?: Object` - URL search parameters for flow state
164
- - `updateSearchParams: Function` - Function to update URL search parameters
109
+ ```tsx
110
+ // main.tsx
165
111
 
166
- **Returns:** Object with current flow, submit function, and reset function
112
+ import { QueryClientProvider } from "@tanstack/react-query"
113
+ import { KratosProviders } from "./kratosService"
114
+ import { queryClient } from "./queryService"
167
115
 
168
- ### `useSettingsFlow(kratosClient, params, onContinueWith, searchParams, updateSearchParams)`
116
+ function App() {
117
+ return (
118
+ <QueryClientProvider client={queryClient}>
119
+ <KratosProviders>
120
+ <Routes>
121
+ <Route path="/login" element={<LoginPage />} />
122
+ <Route path="/register" element={<RegisterPage />} />
123
+ <Route path="/settings" element={<SettingsPage />} />
124
+ </Routes>
125
+ </KratosProviders>
126
+ </QueryClientProvider>
127
+ )
128
+ }
129
+ ```
169
130
 
170
- Manages Kratos user settings flow state and form submission.
131
+ ### Session Management
171
132
 
172
- **Parameters:**
133
+ ```tsx
134
+ import { sessionManager } from "./kratosService"
173
135
 
174
- - `kratosClient: FrontendApi` - Configured Kratos FrontendApi client
175
- - `params?: Object` - Optional Axios request parameters
176
- - `onContinueWith?: Function` - Optional callback for post-settings actions
177
- - `searchParams?: Object` - URL search parameters for flow state
178
- - `updateSearchParams: Function` - Function to update URL search parameters
136
+ function UserProfile() {
137
+ const { isLoggedIn, isLoading } = sessionManager.useIsLoggedIn()
138
+ const { userId } = sessionManager.useUserId()
139
+ const { email } = sessionManager.useEmail()
140
+ const { firstName } = sessionManager.useFirstName()
179
141
 
180
- **Returns:** Object with current flow and submit function
142
+ if (isLoading) return <div>Loading...</div>
143
+ if (!isLoggedIn) return <div>Not logged in</div>
181
144
 
182
- ### `useReauthenticationFlow(kratosClient, onReauthenticated)`
145
+ return (
146
+ <div>
147
+ <h1>User Profile</h1>
148
+ <p>ID: {userId}</p>
149
+ <p>Email: {email}</p>
150
+ <p>Name: {firstName}</p>
151
+ </div>
152
+ )
153
+ }
154
+ ```
183
155
 
184
- Manages Kratos reauthentication flow for elevated security operations.
156
+ ### Login Flow
185
157
 
186
- **Parameters:**
158
+ ```tsx
159
+ import { LoginFlow } from "./kratosService"
187
160
 
188
- - `kratosClient: FrontendApi` - Configured Kratos FrontendApi client
189
- - `onReauthenticated: Function` - Callback executed with session after successful reauthentication
161
+ function LoginPage() {
162
+ return (
163
+ <LoginFlow
164
+ chooseMethodForm={ChooseMethodForm}
165
+ secondFactorForm={SecondFactorForm}
166
+ secondFactorEmailForm={SecondFactorEmailForm}
167
+ emailVerificationForm={EmailVerificationForm}
168
+ returnTo="/identity"
169
+ onLoginSuccess={() => {
170
+ console.log("Login successful")
171
+ }}
172
+ onSessionAlreadyAvailable={() => {
173
+ location.href = "/identity"
174
+ }}
175
+ onError={({ target, errors }) => {
176
+ console.error(`Error in ${target}:`, errors)
177
+ }}
178
+ />
179
+ )
180
+ }
181
+ ```
190
182
 
191
- **Returns:** Object with current flow and submit function
183
+ ### Registration Flow
192
184
 
193
- ### `useLogoutFlow(kratosClient, returnTo, onLoggedOut)`
185
+ ```tsx
186
+ import { RegistrationFlow } from "./kratosService"
194
187
 
195
- Manages Kratos user logout flow with callback support.
188
+ function RegisterPage() {
189
+ return (
190
+ <RegistrationFlow
191
+ chooseMethodForm={ChooseMethodForm}
192
+ emailVerificationForm={EmailVerificationForm}
193
+ traitsForm={TraitsForm}
194
+ returnTo="/welcome"
195
+ onRegistrationSuccess={() => {
196
+ console.log("Registration successful")
197
+ }}
198
+ onVerificationSuccess={() => {
199
+ console.log("Email verified")
200
+ }}
201
+ onError={({ target, errors }) => {
202
+ console.error(`Registration error in ${target}:`, errors)
203
+ }}
204
+ />
205
+ )
206
+ }
207
+ ```
196
208
 
197
- **Parameters:**
209
+ ### Settings Flow
198
210
 
199
- - `kratosClient: FrontendApi` - Configured Kratos FrontendApi client
200
- - `returnTo?: string` - Optional URL to redirect after logout
201
- - `onLoggedOut?: Function` - Optional callback executed after successful logout
211
+ ```tsx
212
+ import { SettingsFlow } from "./kratosService"
202
213
 
203
- **Returns:** Object with logout function
214
+ function SettingsPage() {
215
+ const { isLoggedIn, isLoading } = sessionManager.useIsLoggedIn()
204
216
 
205
- ### `UserSettingsCard(flow, flowType, onSubmit, className)`
217
+ if (isLoading) return <div>Loading...</div>
218
+ if (!isLoggedIn) return <div>Access denied</div>
206
219
 
207
- Pre-built settings card component for Kratos settings flows.
220
+ return (
221
+ <SettingsFlow
222
+ newPasswordForm={NewPasswordForm}
223
+ traitsForm={TraitsForm}
224
+ passkeysForm={PasskeysForm}
225
+ totpForm={TotpForm}
226
+ oidcForm={OidcForm}
227
+ settingsForm={({ traitsForm, newPasswordForm, passkeysForm }) => (
228
+ <div>
229
+ {traitsForm}
230
+ {newPasswordForm}
231
+ {passkeysForm}
232
+ </div>
233
+ )}
234
+ onChangePasswordSuccess={() => {
235
+ console.log("Password updated")
236
+ }}
237
+ onChangeTraitsSuccess={() => {
238
+ console.log("Profile updated")
239
+ }}
240
+ />
241
+ )
242
+ }
243
+ ```
208
244
 
209
- **Parameters:**
245
+ ### Logout Functionality
210
246
 
211
- - `flow: SettingsFlow` - Kratos settings flow object
212
- - `flowType: UserSettingsFlowType` - Type of settings flow to render
213
- - `onSubmit?: Function` - Form submission handler
214
- - `className?: string` - Optional CSS class name
247
+ ```tsx
248
+ import { useLogout } from "./kratosService"
215
249
 
216
- **Returns:** JSX element with settings form or null if flow type unavailable
250
+ function LogoutButton() {
251
+ const { logout } = useLogout()
217
252
 
218
- ## Usage Examples
253
+ const handleLogout = async () => {
254
+ const result = await logout({ returnTo: "/login" })
255
+ if (result.isSuccess) {
256
+ console.log("Logout successful")
257
+ } else {
258
+ console.error("Logout failed:", result.error)
259
+ }
260
+ }
219
261
 
220
- ### Basic Setup
262
+ return <button onClick={handleLogout}>Logout</button>
263
+ }
264
+ ```
221
265
 
222
- ```typescript
223
- import { createKratosClient, KratosContextProvider } from '@leancodepl/kratos';
266
+ ### Recovery Flow
224
267
 
225
- const kratosClient = createKratosClient({
226
- basePath: 'https://auth.example.com'
227
- });
268
+ ```tsx
269
+ import { RecoveryFlow } from "./kratosService"
228
270
 
229
- function App() {
271
+ function RecoveryPage() {
230
272
  return (
231
- <KratosContextProvider>
232
- <Routes>
233
- <Route path="/login" element={<LoginPage />} />
234
- <Route path="/register" element={<RegisterPage />} />
235
- </Routes>
236
- </KratosContextProvider>
237
- );
273
+ <RecoveryFlow
274
+ emailForm={EmailForm}
275
+ codeForm={CodeForm}
276
+ newPasswordForm={NewPasswordForm}
277
+ onRecoverySuccess={() => {
278
+ console.log("Password recovery completed")
279
+ }}
280
+ onError={error => {
281
+ console.error("Recovery failed:", error)
282
+ }}
283
+ />
284
+ )
238
285
  }
239
286
  ```
240
287
 
241
- ### Login Flow
288
+ ### Custom Error Handling
242
289
 
243
290
  ```typescript
244
- import { useLoginFlow, LoginCard } from '@leancodepl/kratos';
245
- import { useSearchParams, useNavigate } from 'react-router-dom';
246
-
247
- function LoginPage() {
248
- const [searchParams, setSearchParams] = useSearchParams();
249
- const navigate = useNavigate();
250
-
251
- const { flow, submit } = useLoginFlow({
252
- kratosClient,
253
- onLoggedIn: (session) => navigate('/dashboard'),
254
- searchParams: Object.fromEntries(searchParams),
255
- updateSearchParams: (params) => setSearchParams(params)
256
- });
257
-
258
- if (!flow) return <div>Loading...</div>;
291
+ import { AuthError } from "@leancodepl/kratos"
292
+
293
+ function getErrorMessage(error: AuthError) {
294
+ switch (error.id) {
295
+ case "Error_InvalidCredentials":
296
+ return "Invalid email or password"
297
+ case "Error_MissingProperty":
298
+ return "This field is required"
299
+ case "Error_TooShort":
300
+ return "Password is too short"
301
+ default:
302
+ return "An error occurred"
303
+ }
304
+ }
259
305
 
260
- return <LoginCard flow={flow} onSubmit={submit} />;
306
+ function handleError({ target, errors }) {
307
+ if (target === "root") {
308
+ console.error("Form errors:", errors.map(getErrorMessage))
309
+ } else {
310
+ console.error(`Field ${target} errors:`, errors.map(getErrorMessage))
311
+ }
261
312
  }
262
313
  ```
263
314
 
264
- ### Session Management
315
+ ### Implementing flow form
265
316
 
266
- ```typescript
267
- import { BaseSessionManager } from "@leancodepl/kratos"
268
- import { useEffect, useState } from "react"
317
+ Each form in every flow exposes [slot components](https://www.radix-ui.com/primitives/docs/utilities/slot) for inputs
318
+ and buttons. When wrapping your custom components with these slots, relevant props (such as the `onInput` event handler)
319
+ are automatically applied. If you use a custom component as a child, you receive props from one of the following types:
320
+ `CommonInputFieldProps`, `CommonCheckboxFieldProps`, or `CommonButtonProps`.
269
321
 
270
- const sessionManager = new BaseSessionManager("https://auth.example.com", "/login")
322
+ Forms like `TraitsForm` have dynamic parameters determined by the `traitsConfig` you provide to the `mkKratos` factory.
323
+ To type these correctly, use a generic such as `registrationFlow.TraitsFormProps<AuthTraitsConfig>` and pass your traits
324
+ config.
271
325
 
272
- function useAuth() {
273
- const [isLoggedIn, setIsLoggedIn] = useState(false)
274
- const [userId, setUserId] = useState<string>()
326
+ Some forms are typed as discriminated unions with multiple variants.
275
327
 
276
- useEffect(() => {
277
- const subscription = sessionManager.isLoggedIn.subscribe(setIsLoggedIn)
278
- const userSub = sessionManager.userId$.subscribe(setUserId)
328
+ #### Custom Input component with CommonInputFieldProps
279
329
 
280
- return () => {
281
- subscription.unsubscribe()
282
- userSub.unsubscribe()
283
- }
284
- }, [])
330
+ ```tsx
331
+ import { CommonInputFieldProps } from "@leancodepl/kratos"
332
+ import { getErrorMessage } from "./kratosService"
285
333
 
286
- return { isLoggedIn, userId }
287
- }
334
+ type InputProps = CommonInputFieldProps & { placeholder?: string }
335
+
336
+ export const Input = ({ errors, ...props }: InputProps) => (
337
+ <div>
338
+ <input {...props} />
339
+ {errors && errors.length > 0 && (
340
+ <div>
341
+ {errors.map(error => (
342
+ <div key={error.id}>{getErrorMessage(error)}</div>
343
+ ))}
344
+ </div>
345
+ )}
346
+ </div>
347
+ )
288
348
  ```
289
349
 
290
- ### Custom Components
350
+ #### ChooseMethodForm in login flow
291
351
 
292
- ```typescript
293
- import { KratosContextProvider, useKratosContext } from '@leancodepl/kratos';
294
-
295
- const customComponents = {
296
- InputComponent: ({ node, attributes }) => (
297
- <input
298
- className="custom-input"
299
- {...attributes}
300
- value={node.attributes.value}
352
+ ```tsx
353
+ import { loginFlow } from "@leancodepl/kratos"
354
+ import { LoginFlow, getErrorMessage } from "./kratosService"
355
+ import type { AuthTraitsConfig } from "./kratosService"
356
+
357
+ function LoginPage() {
358
+ return (
359
+ <LoginFlow
360
+ chooseMethodForm={ChooseMethodForm}
361
+ // other props
301
362
  />
302
- ),
303
- ButtonComponent: ({ node, attributes }) => (
304
- <button className="custom-button" {...attributes}>
305
- {node.meta.label}
306
- </button>
307
363
  )
308
- };
364
+ }
365
+
366
+ function ChooseMethodForm(props: loginFlow.ChooseMethodFormProps) {
367
+ if (props.isLoading) {
368
+ return <p>Loading login methods...</p>
369
+ }
370
+
371
+ const { Password, Google, Passkey, Apple, Facebook, errors, isSubmitting, isValidating } = props
372
+
373
+ if (props.isRefresh) {
374
+ const { identifier } = props
375
+
376
+ return (
377
+ <div>
378
+ <h2>
379
+ Complete login process as <strong>{identifier}</strong>
380
+ </h2>
381
+
382
+ {Password && (
383
+ <Password>
384
+ <input placeholder="Password" />
385
+ </Password>
386
+ )}
387
+
388
+ <button type="submit">Login</button>
389
+
390
+ {Google && (
391
+ <Google>
392
+ <button>Sign in with Google</button>
393
+ </Google>
394
+ )}
395
+
396
+ {Apple && (
397
+ <Apple>
398
+ <button>Sign in with Apple</button>
399
+ </Apple>
400
+ )}
401
+
402
+ {Facebook && (
403
+ <Facebook>
404
+ <button>Sign in with Facebook</button>
405
+ </Facebook>
406
+ )}
407
+
408
+ {Passkey && (
409
+ <Passkey>
410
+ <button>Sign in with Passkey</button>
411
+ </Passkey>
412
+ )}
413
+
414
+ {errors && errors.length > 0 && (
415
+ <div>
416
+ {errors.map(error => (
417
+ <div key={error.id}>{getErrorMessage(error)}</div>
418
+ ))}
419
+ </div>
420
+ )}
421
+ </div>
422
+ )
423
+ }
424
+
425
+ const { Identifier } = props
309
426
 
310
- function App() {
311
427
  return (
312
- <KratosContextProvider components={customComponents}>
313
- <LoginForm />
314
- </KratosContextProvider>
315
- );
428
+ <div>
429
+ {Identifier && (
430
+ <Identifier>
431
+ <input placeholder="Identifier" />
432
+ </Identifier>
433
+ )}
434
+
435
+ {Password && (
436
+ <Password>
437
+ <input placeholder="Password" />
438
+ </Password>
439
+ )}
440
+
441
+ <button type="submit">Login</button>
442
+
443
+ {Google && (
444
+ <Google>
445
+ <button>Sign in with Google</button>
446
+ </Google>
447
+ )}
448
+
449
+ {Apple && (
450
+ <Apple>
451
+ <button>Sign in with Apple</button>
452
+ </Apple>
453
+ )}
454
+
455
+ {Facebook && (
456
+ <Facebook>
457
+ <button>Sign in with Facebook</button>
458
+ </Facebook>
459
+ )}
460
+
461
+ {Passkey && (
462
+ <Passkey>
463
+ <button>Sign in with Passkey</button>
464
+ </Passkey>
465
+ )}
466
+
467
+ {errors && errors.length > 0 && (
468
+ <div>
469
+ {errors.map(error => (
470
+ <div key={error.id}>{getErrorMessage(error)}</div>
471
+ ))}
472
+ </div>
473
+ )}
474
+ </div>
475
+ )
316
476
  }
317
477
  ```
318
478
 
319
- ### Registration Flow
479
+ #### TraitsForm in registration flow
320
480
 
321
- ```typescript
322
- import { useRegistrationFlow, RegistrationCard } from '@leancodepl/kratos';
481
+ ```tsx
482
+ import { registrationFlow } from "@leancodepl/kratos"
483
+ import { RegistrationFlow, getErrorMessage } from "./kratosService"
484
+ import type { AuthTraitsConfig } from "./kratosService"
323
485
 
324
486
  function RegisterPage() {
325
- const [searchParams, setSearchParams] = useSearchParams();
326
- const navigate = useNavigate();
327
-
328
- const { flow, submit } = useRegistrationFlow({
329
- kratosClient,
330
- onRegistrationSuccess: () => navigate('/welcome'),
331
- searchParams: Object.fromEntries(searchParams),
332
- updateSearchParams: (params) => setSearchParams(params)
333
- });
334
-
335
- if (!flow) return <div>Loading...</div>;
487
+ return (
488
+ <RegistrationFlow
489
+ traitsForm={TraitsForm}
490
+ onError={handleError}
491
+ // other props
492
+ />
493
+ )
494
+ }
336
495
 
496
+ function TraitsForm({
497
+ errors,
498
+ Email,
499
+ RegulationsAccepted,
500
+ GivenName,
501
+ Google,
502
+ Apple,
503
+ Facebook,
504
+ isSubmitting,
505
+ isValidating,
506
+ }: registrationFlow.TraitsFormProps<AuthTraitsConfig>) {
337
507
  return (
338
508
  <div>
339
- <h1>Create Account</h1>
340
- <RegistrationCard flow={flow} onSubmit={submit} />
509
+ {Email && (
510
+ <Email>
511
+ <input placeholder="Email" />
512
+ </Email>
513
+ )}
514
+ {GivenName && (
515
+ <GivenName>
516
+ <input placeholder="First name" />
517
+ </GivenName>
518
+ )}
519
+ {RegulationsAccepted && (
520
+ <RegulationsAccepted>
521
+ <input placeholder="Regulations accepted" type="checkbox">
522
+ I accept the regulations
523
+ </input>
524
+ </RegulationsAccepted>
525
+ )}
526
+
527
+ <button type="submit">Register</button>
528
+
529
+ {Google && (
530
+ <Google>
531
+ <button>Sign up with Google</button>
532
+ </Google>
533
+ )}
534
+
535
+ {Apple && (
536
+ <Apple>
537
+ <button>Sign up with Apple</button>
538
+ </Apple>
539
+ )}
540
+
541
+ {Facebook && (
542
+ <Facebook>
543
+ <button>Sign up with Facebook</button>
544
+ </Facebook>
545
+ )}
546
+
547
+ {errors && errors.length > 0 && (
548
+ <div>
549
+ {errors.map(error => (
550
+ <div key={error.id}>{getErrorMessage(error)}</div>
551
+ ))}
552
+ </div>
553
+ )}
341
554
  </div>
342
- );
343
- }
344
- ```
345
-
346
- ### Error Handling
347
-
348
- ```typescript
349
- import { useHandleFlowError } from '@leancodepl/kratos';
350
-
351
- function useCustomErrorHandler() {
352
- return useHandleFlowError({
353
- onUnauthenticated: () => navigate('/login'),
354
- onValidationError: (error) => {
355
- console.error('Validation failed:', error);
356
- toast.error('Please check your input');
357
- },
358
- resetFlow: () => setFlow(undefined)
359
- });
555
+ )
360
556
  }
361
557
 
362
- function AppWithErrorHandling() {
363
- const customErrorHandler = useCustomErrorHandler();
364
-
365
- return (
366
- <KratosContextProvider useHandleFlowError={customErrorHandler}>
367
- <App />
368
- </KratosContextProvider>
369
- );
558
+ const handleError: registrationFlow.OnRegistrationFlowError<AuthTraitsConfig> = ({ target, errors }) => {
559
+ if (target === "root") {
560
+ console.error("Form errors:", errors.map(getErrorMessage))
561
+ } else {
562
+ console.error(`Field ${target} errors:`, errors.map(getErrorMessage))
563
+ }
370
564
  }
371
565
  ```