authhero 5.8.1 → 5.9.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 (386) hide show
  1. package/dist/assets/u/widget/index.esm.js +1 -1
  2. package/dist/authhero.cjs +97 -97
  3. package/dist/authhero.d.ts +17622 -72311
  4. package/dist/authhero.mjs +5587 -5593
  5. package/dist/stats.html +1 -1
  6. package/dist/tsconfig.types.tsbuildinfo +1 -0
  7. package/dist/types/adapters/cache/in-memory.d.ts +52 -0
  8. package/dist/types/adapters/cache/index.d.ts +2 -0
  9. package/dist/types/adapters/index.d.ts +1 -0
  10. package/dist/types/authentication-flows/auth0-migration.d.ts +53 -0
  11. package/dist/types/authentication-flows/authorization-code.d.ts +23 -0
  12. package/dist/types/authentication-flows/client-credentials.d.ts +16 -0
  13. package/dist/types/authentication-flows/common.d.ts +253 -0
  14. package/dist/types/authentication-flows/connection.d.ts +17 -0
  15. package/dist/types/authentication-flows/mfa.d.ts +49 -0
  16. package/dist/types/authentication-flows/passkey-enrollment.d.ts +19 -0
  17. package/dist/types/authentication-flows/password.d.ts +24 -0
  18. package/dist/types/authentication-flows/passwordless.d.ts +571 -0
  19. package/dist/types/authentication-flows/refresh-token-migration.d.ts +17 -0
  20. package/dist/types/authentication-flows/refresh-token.d.ts +15 -0
  21. package/dist/types/authentication-flows/resume.d.ts +22 -0
  22. package/dist/types/authentication-flows/silent.d.ts +25 -0
  23. package/dist/types/authentication-flows/ticket.d.ts +7 -0
  24. package/dist/types/authentication-flows/try-connection.d.ts +33 -0
  25. package/dist/types/authentication-flows/universal.d.ts +19 -0
  26. package/dist/types/build-hash.d.ts +7 -0
  27. package/dist/types/client/client-bundle.d.ts +1 -0
  28. package/dist/types/client/form-handler.d.ts +9 -0
  29. package/dist/types/client/incognito-handler.d.ts +5 -0
  30. package/dist/types/client/index.d.ts +1 -0
  31. package/dist/types/client/input-otp.d.ts +12 -0
  32. package/dist/types/client/password-toggle.d.ts +10 -0
  33. package/dist/types/client/user-agent-detector.d.ts +22 -0
  34. package/dist/types/components/AccountChangeEmailPage.d.ts +14 -0
  35. package/dist/types/components/AccountForm.d.ts +17 -0
  36. package/dist/types/components/AccountPage.d.ts +15 -0
  37. package/dist/types/components/AppLogo.d.ts +8 -0
  38. package/dist/types/components/AuthLayout.d.ts +18 -0
  39. package/dist/types/components/Button.d.ts +12 -0
  40. package/dist/types/components/ChangeEmailForm.d.ts +14 -0
  41. package/dist/types/components/ChangeEmailPage.d.ts +15 -0
  42. package/dist/types/components/ContinueForm.d.ts +13 -0
  43. package/dist/types/components/EmailValidatedForm.d.ts +12 -0
  44. package/dist/types/components/EmailValidatedPage.d.ts +11 -0
  45. package/dist/types/components/EnterCodeForm.d.ts +13 -0
  46. package/dist/types/components/EnterCodePage.d.ts +14 -0
  47. package/dist/types/components/EnterPasswordForm.d.ts +14 -0
  48. package/dist/types/components/EnterPasswordPage.d.ts +13 -0
  49. package/dist/types/components/ErrorMessage.d.ts +6 -0
  50. package/dist/types/components/Footer.d.ts +9 -0
  51. package/dist/types/components/ForgotPasswordForm.d.ts +14 -0
  52. package/dist/types/components/ForgotPasswordPage.d.ts +13 -0
  53. package/dist/types/components/ForgotPasswordSentPage.d.ts +11 -0
  54. package/dist/types/components/Form.d.ts +6 -0
  55. package/dist/types/components/FormNodePage.d.ts +16 -0
  56. package/dist/types/components/GoBack.d.ts +5 -0
  57. package/dist/types/components/GoogleLogo.d.ts +4 -0
  58. package/dist/types/components/Icon.d.ts +8 -0
  59. package/dist/types/components/IconEye.d.ts +8 -0
  60. package/dist/types/components/IconEyeSlash.d.ts +8 -0
  61. package/dist/types/components/IconPen.d.ts +7 -0
  62. package/dist/types/components/IdentifierForm.d.ts +16 -0
  63. package/dist/types/components/IdentifierPage.d.ts +15 -0
  64. package/dist/types/components/ImpersonateForm.d.ts +14 -0
  65. package/dist/types/components/ImpersonationPage.d.ts +13 -0
  66. package/dist/types/components/InvalidSessionPage.d.ts +11 -0
  67. package/dist/types/components/Layout.d.ts +11 -0
  68. package/dist/types/components/LoginForm.d.ts +15 -0
  69. package/dist/types/components/MessagePage.d.ts +13 -0
  70. package/dist/types/components/PasswordInput.d.ts +6 -0
  71. package/dist/types/components/PreSignUpConfirmationPage.d.ts +12 -0
  72. package/dist/types/components/PreSignUpPage.d.ts +12 -0
  73. package/dist/types/components/ResetPasswordForm.d.ts +14 -0
  74. package/dist/types/components/ResetPasswordPage.d.ts +12 -0
  75. package/dist/types/components/SignUpForm.d.ts +15 -0
  76. package/dist/types/components/SignUpPage.d.ts +14 -0
  77. package/dist/types/components/SocialButton.d.ts +10 -0
  78. package/dist/types/components/Spinner.d.ts +6 -0
  79. package/dist/types/components/Trans.d.ts +8 -0
  80. package/dist/types/components/UnverifiedEmailPage.d.ts +11 -0
  81. package/dist/types/components/UserNotFoundPage.d.ts +12 -0
  82. package/dist/types/components/VippsLogo.d.ts +4 -0
  83. package/dist/types/components/index.d.ts +34 -0
  84. package/dist/types/components/stories/AccountForm.stories.d.ts +13 -0
  85. package/dist/types/components/stories/AuthLayout.stories.d.ts +27 -0
  86. package/dist/types/components/stories/ChangeEmailForm.stories.d.ts +11 -0
  87. package/dist/types/components/stories/ContinueForm.stories.d.ts +10 -0
  88. package/dist/types/components/stories/EnterCodeForm.stories.d.ts +9 -0
  89. package/dist/types/components/stories/EnterPasswordForm.stories.d.ts +22 -0
  90. package/dist/types/components/stories/IdentifierForm.stories.d.ts +42 -0
  91. package/dist/types/components/stories/IdentifierPage.stories.d.ts +33 -0
  92. package/dist/types/components/stories/ImpersonateForm.stories.d.ts +11 -0
  93. package/dist/types/components/stories/LoginForm.stories.d.ts +12 -0
  94. package/dist/types/components/ui/button.d.ts +12 -0
  95. package/dist/types/components/ui/card.d.ts +30 -0
  96. package/dist/types/components/ui/input-otp.d.ts +31 -0
  97. package/dist/types/components/ui/input.d.ts +15 -0
  98. package/dist/types/components/ui/label.d.ts +9 -0
  99. package/dist/types/constants/defaultBranding.d.ts +2 -0
  100. package/dist/types/constants/defaultTheme.d.ts +2 -0
  101. package/dist/types/constants/index.d.ts +2 -0
  102. package/dist/types/constants.d.ts +15 -0
  103. package/dist/types/email-services/index.d.ts +3 -0
  104. package/dist/types/email-services/mailgun.d.ts +18 -0
  105. package/dist/types/email-services/postmark.d.ts +14 -0
  106. package/dist/types/email-services/resend.d.ts +14 -0
  107. package/dist/types/emails/defaults/Layout.d.ts +12 -0
  108. package/dist/types/emails/defaults/PrimaryButton.d.ts +11 -0
  109. package/dist/types/emails/defaults/ResetEmail.d.ts +1 -0
  110. package/dist/types/emails/defaults/ResetEmailByCode.d.ts +1 -0
  111. package/dist/types/emails/defaults/UserInvitation.d.ts +1 -0
  112. package/dist/types/emails/defaults/VerifyEmail.d.ts +1 -0
  113. package/dist/types/emails/defaults/VerifyEmailByCode.d.ts +1 -0
  114. package/dist/types/emails/defaults/WelcomeEmail.d.ts +1 -0
  115. package/dist/types/emails/defaults/compiled.d.ts +2 -0
  116. package/dist/types/emails/defaults/index.d.ts +6 -0
  117. package/dist/types/emails/defaults/subjects.d.ts +2 -0
  118. package/dist/types/emails/index.d.ts +70 -0
  119. package/dist/types/emails/render.d.ts +41 -0
  120. package/dist/types/errors/is-unique-constraint-error.d.ts +8 -0
  121. package/dist/types/errors/json-http-exception.d.ts +5 -0
  122. package/dist/types/errors/redirect-exception.d.ts +6 -0
  123. package/dist/types/generated/locale-types.d.ts +690 -0
  124. package/dist/types/helpers/cache-wrapper.d.ts +23 -0
  125. package/dist/types/helpers/client-assertion.d.ts +49 -0
  126. package/dist/types/helpers/client-keys.d.ts +27 -0
  127. package/dist/types/helpers/client.d.ts +496 -0
  128. package/dist/types/helpers/dcr/constraint-enforcement.d.ts +24 -0
  129. package/dist/types/helpers/dcr/metadata-mapping.d.ts +83 -0
  130. package/dist/types/helpers/dcr/mint-iat.d.ts +14 -0
  131. package/dist/types/helpers/dcr/mint-token.d.ts +7 -0
  132. package/dist/types/helpers/dcr/validate-connect-origin.d.ts +20 -0
  133. package/dist/types/helpers/dcr/verify-token.d.ts +8 -0
  134. package/dist/types/helpers/default-destinations.d.ts +55 -0
  135. package/dist/types/helpers/entity-hooks-wrapper.d.ts +43 -0
  136. package/dist/types/helpers/hook-events.d.ts +20 -0
  137. package/dist/types/helpers/hook-user-payload.d.ts +8 -0
  138. package/dist/types/helpers/hrd.d.ts +3 -0
  139. package/dist/types/helpers/logging.d.ts +65 -0
  140. package/dist/types/helpers/outbox-cleanup.d.ts +10 -0
  141. package/dist/types/helpers/outbox-destinations/index.d.ts +2 -0
  142. package/dist/types/helpers/outbox-destinations/log-streams.d.ts +66 -0
  143. package/dist/types/helpers/outbox-destinations/logs.d.ts +20 -0
  144. package/dist/types/helpers/outbox-destinations/registration-finalizer.d.ts +29 -0
  145. package/dist/types/helpers/outbox-destinations/webhooks.d.ts +57 -0
  146. package/dist/types/helpers/outbox-relay.d.ts +34 -0
  147. package/dist/types/helpers/password-policy.d.ts +54 -0
  148. package/dist/types/helpers/request-object.d.ts +40 -0
  149. package/dist/types/helpers/run-outbox-relay.d.ts +58 -0
  150. package/dist/types/helpers/saml.d.ts +1 -0
  151. package/dist/types/helpers/scope-claims.d.ts +4 -0
  152. package/dist/types/helpers/scopes-permissions.d.ts +38 -0
  153. package/dist/types/helpers/server-timing.d.ts +12 -0
  154. package/dist/types/helpers/service-token.d.ts +54 -0
  155. package/dist/types/helpers/set-tenant-id.d.ts +15 -0
  156. package/dist/types/helpers/signing-keys.d.ts +16 -0
  157. package/dist/types/helpers/try-connection-client.d.ts +15 -0
  158. package/dist/types/helpers/user-linking.d.ts +14 -0
  159. package/dist/types/helpers/user-session-cleanup.d.ts +21 -0
  160. package/dist/types/helpers/users.d.ts +46 -0
  161. package/dist/types/helpers/wait-until.d.ts +21 -0
  162. package/dist/types/hooks/addDataHooks.d.ts +16 -0
  163. package/dist/types/hooks/code-executor/local.d.ts +13 -0
  164. package/dist/types/hooks/codehooks.d.ts +70 -0
  165. package/dist/types/hooks/formhooks.d.ts +99 -0
  166. package/dist/types/hooks/helpers/token-api.d.ts +17 -0
  167. package/dist/types/hooks/index.d.ts +20 -0
  168. package/dist/types/hooks/link-users.d.ts +29 -0
  169. package/dist/types/hooks/pagehooks.d.ts +16 -0
  170. package/dist/types/hooks/post-user-login.d.ts +29 -0
  171. package/dist/types/hooks/pre-defined/account-linking.d.ts +73 -0
  172. package/dist/types/hooks/pre-defined/ensure-username.d.ts +86 -0
  173. package/dist/types/hooks/pre-defined/index.d.ts +23 -0
  174. package/dist/types/hooks/pre-defined/set-preferred-username.d.ts +26 -0
  175. package/dist/types/hooks/templatehooks.d.ts +29 -0
  176. package/dist/types/hooks/user-deletion.d.ts +14 -0
  177. package/dist/types/hooks/user-registration.d.ts +88 -0
  178. package/dist/types/hooks/user-update.d.ts +16 -0
  179. package/dist/types/hooks/validate-signup.d.ts +34 -0
  180. package/dist/types/hooks/webhooks.d.ts +35 -0
  181. package/dist/types/i18n/index.d.ts +77 -0
  182. package/dist/types/index.d.ts +15791 -0
  183. package/dist/types/locales/index.d.ts +9 -0
  184. package/dist/types/middlewares/apply-config.d.ts +14 -0
  185. package/dist/types/middlewares/authentication.d.ts +26 -0
  186. package/dist/types/middlewares/client-info.d.ts +8 -0
  187. package/dist/types/middlewares/index.d.ts +6 -0
  188. package/dist/types/middlewares/outbox.d.ts +24 -0
  189. package/dist/types/middlewares/register-component.d.ts +10 -0
  190. package/dist/types/middlewares/tenant.d.ts +12 -0
  191. package/dist/types/migration-providers/auth0.d.ts +3 -0
  192. package/dist/types/migration-providers/index.d.ts +5 -0
  193. package/dist/types/migration-providers/types.d.ts +32 -0
  194. package/dist/types/routes/auth-api/account.d.ts +36 -0
  195. package/dist/types/routes/auth-api/authenticate.d.ts +31 -0
  196. package/dist/types/routes/auth-api/authorize.d.ts +239 -0
  197. package/dist/types/routes/auth-api/callback.d.ts +234 -0
  198. package/dist/types/routes/auth-api/connect-start.d.ts +52 -0
  199. package/dist/types/routes/auth-api/dbconnections.d.ts +43 -0
  200. package/dist/types/routes/auth-api/index.d.ts +1580 -0
  201. package/dist/types/routes/auth-api/logout.d.ts +20 -0
  202. package/dist/types/routes/auth-api/oidc-logout.d.ts +52 -0
  203. package/dist/types/routes/auth-api/passwordless.d.ts +154 -0
  204. package/dist/types/routes/auth-api/register/index.d.ts +159 -0
  205. package/dist/types/routes/auth-api/register/shared.d.ts +30 -0
  206. package/dist/types/routes/auth-api/revoke.d.ts +73 -0
  207. package/dist/types/routes/auth-api/token.d.ts +412 -0
  208. package/dist/types/routes/auth-api/userinfo.d.ts +84 -0
  209. package/dist/types/routes/auth-api/well-known.d.ts +74 -0
  210. package/dist/types/routes/management-api/action-executions.d.ts +90 -0
  211. package/dist/types/routes/management-api/action-triggers.d.ts +118 -0
  212. package/dist/types/routes/management-api/actions.d.ts +673 -0
  213. package/dist/types/routes/management-api/analytics.d.ts +18 -0
  214. package/dist/types/routes/management-api/attack-protection.d.ts +189 -0
  215. package/dist/types/routes/management-api/authentication-methods.d.ts +115 -0
  216. package/dist/types/routes/management-api/branding.d.ts +402 -0
  217. package/dist/types/routes/management-api/client-grants.d.ts +183 -0
  218. package/dist/types/routes/management-api/client-registration-tokens.d.ts +35 -0
  219. package/dist/types/routes/management-api/clients.d.ts +995 -0
  220. package/dist/types/routes/management-api/connections.d.ts +872 -0
  221. package/dist/types/routes/management-api/custom-domains.d.ts +266 -0
  222. package/dist/types/routes/management-api/email-templates.d.ts +205 -0
  223. package/dist/types/routes/management-api/emails.d.ts +124 -0
  224. package/dist/types/routes/management-api/failed-events.d.ts +146 -0
  225. package/dist/types/routes/management-api/flows.d.ts +438 -0
  226. package/dist/types/routes/management-api/forms.d.ts +4090 -0
  227. package/dist/types/routes/management-api/guardian.d.ts +211 -0
  228. package/dist/types/routes/management-api/hook-code.d.ts +142 -0
  229. package/dist/types/routes/management-api/hooks.d.ts +405 -0
  230. package/dist/types/routes/management-api/index.d.ts +13210 -0
  231. package/dist/types/routes/management-api/keys.d.ts +98 -0
  232. package/dist/types/routes/management-api/log-streams.d.ts +170 -0
  233. package/dist/types/routes/management-api/logs.d.ts +159 -0
  234. package/dist/types/routes/management-api/migration-sources.d.ts +173 -0
  235. package/dist/types/routes/management-api/organizations.d.ts +896 -0
  236. package/dist/types/routes/management-api/prompts.d.ts +150 -0
  237. package/dist/types/routes/management-api/refresh_tokens.d.ts +66 -0
  238. package/dist/types/routes/management-api/resource-servers.d.ts +321 -0
  239. package/dist/types/routes/management-api/roles.d.ts +260 -0
  240. package/dist/types/routes/management-api/sessions.d.ts +78 -0
  241. package/dist/types/routes/management-api/stats.d.ts +44 -0
  242. package/dist/types/routes/management-api/tenants.d.ts +546 -0
  243. package/dist/types/routes/management-api/themes.d.ts +265 -0
  244. package/dist/types/routes/management-api/tickets.d.ts +75 -0
  245. package/dist/types/routes/management-api/users-by-email.d.ts +23 -0
  246. package/dist/types/routes/management-api/users.d.ts +1085 -0
  247. package/dist/types/routes/saml/index.d.ts +64 -0
  248. package/dist/types/routes/saml/samlp.d.ts +64 -0
  249. package/dist/types/routes/setup.d.ts +6 -0
  250. package/dist/types/routes/universal-login/account-change-email-confirmation.d.ts +30 -0
  251. package/dist/types/routes/universal-login/account-change-email-verify.d.ts +66 -0
  252. package/dist/types/routes/universal-login/account-change-email.d.ts +58 -0
  253. package/dist/types/routes/universal-login/account.d.ts +64 -0
  254. package/dist/types/routes/universal-login/common.d.ts +1482 -0
  255. package/dist/types/routes/universal-login/continue.d.ts +37 -0
  256. package/dist/types/routes/universal-login/enter-password.d.ts +49 -0
  257. package/dist/types/routes/universal-login/error-handler.d.ts +14 -0
  258. package/dist/types/routes/universal-login/error-page.d.ts +32 -0
  259. package/dist/types/routes/universal-login/error.d.ts +20 -0
  260. package/dist/types/routes/universal-login/flow-api.d.ts +381 -0
  261. package/dist/types/routes/universal-login/flow-widget.d.ts +23 -0
  262. package/dist/types/routes/universal-login/forgot-password.d.ts +32 -0
  263. package/dist/types/routes/universal-login/form-node.d.ts +74 -0
  264. package/dist/types/routes/universal-login/identifier.d.ts +55 -0
  265. package/dist/types/routes/universal-login/impersonate.d.ts +71 -0
  266. package/dist/types/routes/universal-login/index.d.ts +748 -0
  267. package/dist/types/routes/universal-login/info.d.ts +20 -0
  268. package/dist/types/routes/universal-login/invalid-session.d.ts +19 -0
  269. package/dist/types/routes/universal-login/otp-challenge.d.ts +54 -0
  270. package/dist/types/routes/universal-login/pre-signup-sent.d.ts +19 -0
  271. package/dist/types/routes/universal-login/pre-signup.d.ts +32 -0
  272. package/dist/types/routes/universal-login/reset-password.d.ts +39 -0
  273. package/dist/types/routes/universal-login/sanitization-utils.d.ts +55 -0
  274. package/dist/types/routes/universal-login/screen-api.d.ts +20 -0
  275. package/dist/types/routes/universal-login/screens/accept-invitation.d.ts +13 -0
  276. package/dist/types/routes/universal-login/screens/account-delete.d.ts +14 -0
  277. package/dist/types/routes/universal-login/screens/account-helpers.d.ts +13 -0
  278. package/dist/types/routes/universal-login/screens/account-linked.d.ts +14 -0
  279. package/dist/types/routes/universal-login/screens/account-mfa-phone-enrollment.d.ts +10 -0
  280. package/dist/types/routes/universal-login/screens/account-mfa-totp-enrollment.d.ts +10 -0
  281. package/dist/types/routes/universal-login/screens/account-passkeys.d.ts +10 -0
  282. package/dist/types/routes/universal-login/screens/account-profile.d.ts +14 -0
  283. package/dist/types/routes/universal-login/screens/account-security.d.ts +14 -0
  284. package/dist/types/routes/universal-login/screens/account.d.ts +14 -0
  285. package/dist/types/routes/universal-login/screens/connect-consent.d.ts +9 -0
  286. package/dist/types/routes/universal-login/screens/connect-tenant-select.d.ts +13 -0
  287. package/dist/types/routes/universal-login/screens/email-otp-challenge.d.ts +14 -0
  288. package/dist/types/routes/universal-login/screens/enter-password.d.ts +14 -0
  289. package/dist/types/routes/universal-login/screens/forgot-password.d.ts +11 -0
  290. package/dist/types/routes/universal-login/screens/identifier.d.ts +14 -0
  291. package/dist/types/routes/universal-login/screens/impersonate.d.ts +15 -0
  292. package/dist/types/routes/universal-login/screens/index.d.ts +29 -0
  293. package/dist/types/routes/universal-login/screens/login-passwordless-identifier.d.ts +17 -0
  294. package/dist/types/routes/universal-login/screens/login.d.ts +17 -0
  295. package/dist/types/routes/universal-login/screens/magic-link-sent.d.ts +11 -0
  296. package/dist/types/routes/universal-login/screens/mfa-login-options.d.ts +21 -0
  297. package/dist/types/routes/universal-login/screens/mfa-phone-challenge.d.ts +14 -0
  298. package/dist/types/routes/universal-login/screens/mfa-phone-enrollment.d.ts +14 -0
  299. package/dist/types/routes/universal-login/screens/mfa-totp-challenge.d.ts +14 -0
  300. package/dist/types/routes/universal-login/screens/mfa-totp-enrollment.d.ts +17 -0
  301. package/dist/types/routes/universal-login/screens/passkey-challenge.d.ts +16 -0
  302. package/dist/types/routes/universal-login/screens/passkey-enrollment-nudge.d.ts +17 -0
  303. package/dist/types/routes/universal-login/screens/passkey-enrollment.d.ts +11 -0
  304. package/dist/types/routes/universal-login/screens/passkey-utils.d.ts +100 -0
  305. package/dist/types/routes/universal-login/screens/registry.d.ts +28 -0
  306. package/dist/types/routes/universal-login/screens/reset-password-code.d.ts +18 -0
  307. package/dist/types/routes/universal-login/screens/reset-password.d.ts +36 -0
  308. package/dist/types/routes/universal-login/screens/signup.d.ts +14 -0
  309. package/dist/types/routes/universal-login/screens/sms-otp-challenge.d.ts +14 -0
  310. package/dist/types/routes/universal-login/screens/try-connection-result.d.ts +12 -0
  311. package/dist/types/routes/universal-login/screens/types.d.ts +167 -0
  312. package/dist/types/routes/universal-login/signup.d.ts +54 -0
  313. package/dist/types/routes/universal-login/u2-form-node.d.ts +93 -0
  314. package/dist/types/routes/universal-login/u2-index.d.ts +173 -0
  315. package/dist/types/routes/universal-login/u2-routes.d.ts +98 -0
  316. package/dist/types/routes/universal-login/u2-widget-page.d.ts +187 -0
  317. package/dist/types/routes/universal-login/universal-login-template.d.ts +55 -0
  318. package/dist/types/routes/universal-login/validate-email.d.ts +20 -0
  319. package/dist/types/routes/universal-login/widget-routes.d.ts +81 -0
  320. package/dist/types/seed.d.ts +86 -0
  321. package/dist/types/state-machines/index.d.ts +1 -0
  322. package/dist/types/state-machines/login-session.d.ts +173 -0
  323. package/dist/types/storybook-utils/HonoJSXWrapper.d.ts +43 -0
  324. package/dist/types/strategies/apple.d.ts +24 -0
  325. package/dist/types/strategies/facebook.d.ts +20 -0
  326. package/dist/types/strategies/github.d.ts +23 -0
  327. package/dist/types/strategies/google-oauth2.d.ts +43 -0
  328. package/dist/types/strategies/index.d.ts +69 -0
  329. package/dist/types/strategies/internal-oauth2.d.ts +17 -0
  330. package/dist/types/strategies/microsoft.d.ts +24 -0
  331. package/dist/types/strategies/oauth2.d.ts +38 -0
  332. package/dist/types/strategies/oidc.d.ts +38 -0
  333. package/dist/types/strategies/saml.d.ts +9 -0
  334. package/dist/types/strategies/vipps.d.ts +16 -0
  335. package/dist/types/styles/index.d.ts +9 -0
  336. package/dist/types/styles/tailwind.d.ts +1 -0
  337. package/dist/types/types/Auth0Client.d.ts +9 -0
  338. package/dist/types/types/AuthError.d.ts +14 -0
  339. package/dist/types/types/AuthHeroConfig.d.ts +415 -0
  340. package/dist/types/types/Bindings.d.ts +51 -0
  341. package/dist/types/types/GrantFlowResult.d.ts +22 -0
  342. package/dist/types/types/Hooks.d.ts +240 -0
  343. package/dist/types/types/IdToken.d.ts +30 -0
  344. package/dist/types/types/UserInfo.d.ts +8 -0
  345. package/dist/types/types/Variables.d.ts +33 -0
  346. package/dist/types/types/auth0/Query.d.ts +12 -0
  347. package/dist/types/types/auth0/Totals.d.ts +11 -0
  348. package/dist/types/types/auth0/UserResponse.d.ts +46 -0
  349. package/dist/types/types/auth0/index.d.ts +3 -0
  350. package/dist/types/types/index.d.ts +6 -0
  351. package/dist/types/types/saml.d.ts +1 -0
  352. package/dist/types/utils/append-log.d.ts +10 -0
  353. package/dist/types/utils/auth-header.d.ts +18 -0
  354. package/dist/types/utils/auth0-upstream.d.ts +60 -0
  355. package/dist/types/utils/authIframe.d.ts +11 -0
  356. package/dist/types/utils/client-info.d.ts +47 -0
  357. package/dist/types/utils/color.d.ts +23 -0
  358. package/dist/types/utils/connections.d.ts +11 -0
  359. package/dist/types/utils/cookies.d.ts +28 -0
  360. package/dist/types/utils/crypto.d.ts +2 -0
  361. package/dist/types/utils/deep-merge.d.ts +6 -0
  362. package/dist/types/utils/encryption.d.ts +22 -0
  363. package/dist/types/utils/entity-id.d.ts +13 -0
  364. package/dist/types/utils/fetchAll.d.ts +60 -0
  365. package/dist/types/utils/form-post.d.ts +1 -0
  366. package/dist/types/utils/id-token-hash.d.ts +1 -0
  367. package/dist/types/utils/incognito.d.ts +11 -0
  368. package/dist/types/utils/instance-to-json.d.ts +8 -0
  369. package/dist/types/utils/ip.d.ts +8 -0
  370. package/dist/types/utils/is-valid-redirect-url.d.ts +4 -0
  371. package/dist/types/utils/jwk-alg.d.ts +20 -0
  372. package/dist/types/utils/jwks.d.ts +41 -0
  373. package/dist/types/utils/jwt.d.ts +15 -0
  374. package/dist/types/utils/organization-id.d.ts +2 -0
  375. package/dist/types/utils/otp.d.ts +1 -0
  376. package/dist/types/utils/refresh-token-format.d.ts +20 -0
  377. package/dist/types/utils/safe-compare.d.ts +1 -0
  378. package/dist/types/utils/sort.d.ts +4 -0
  379. package/dist/types/utils/ssrf-fetch.d.ts +44 -0
  380. package/dist/types/utils/ulid.d.ts +1 -0
  381. package/dist/types/utils/url.d.ts +16 -0
  382. package/dist/types/utils/user-id.d.ts +2 -0
  383. package/dist/types/utils/username-password-provider.d.ts +67 -0
  384. package/dist/types/utils/username.d.ts +11 -0
  385. package/dist/types/variables.d.ts +4 -0
  386. package/package.json +11 -11
@@ -0,0 +1 @@
1
+ export { loginSessionMachine, transitionLoginSession, transitionLoginSessionFromEntity, canTransition, getValidEvents, LoginSessionEventType, type LoginSessionContext, type LoginSessionEvent, } from "./login-session";
@@ -0,0 +1,173 @@
1
+ import { LoginSession, LoginSessionState } from "@authhero/adapter-interfaces";
2
+ /**
3
+ * Context for the login session state machine
4
+ */
5
+ export interface LoginSessionContext {
6
+ /** User ID once identified */
7
+ userId?: string;
8
+ /** Error/failure reason if login failed */
9
+ failureReason?: string;
10
+ /** Hook/flow ID if waiting for completion */
11
+ hookId?: string;
12
+ /** Continuation scope - which pages are allowed during AWAITING_CONTINUATION */
13
+ continuationScope?: string[];
14
+ /** Additional state data */
15
+ stateData?: Record<string, unknown>;
16
+ }
17
+ /**
18
+ * Event types for the login session state machine
19
+ */
20
+ export declare enum LoginSessionEventType {
21
+ AUTHENTICATE = "AUTHENTICATE",
22
+ REQUIRE_EMAIL_VERIFICATION = "REQUIRE_EMAIL_VERIFICATION",
23
+ REQUIRE_MFA = "REQUIRE_MFA",
24
+ COMPLETE_MFA = "COMPLETE_MFA",
25
+ START_HOOK = "START_HOOK",
26
+ COMPLETE_HOOK = "COMPLETE_HOOK",
27
+ START_CONTINUATION = "START_CONTINUATION",
28
+ COMPLETE_CONTINUATION = "COMPLETE_CONTINUATION",
29
+ COMPLETE = "COMPLETE",
30
+ FAIL = "FAIL",
31
+ EXPIRE = "EXPIRE"
32
+ }
33
+ /**
34
+ * Events that can trigger state transitions
35
+ */
36
+ export type LoginSessionEvent = {
37
+ type: LoginSessionEventType.AUTHENTICATE;
38
+ userId: string;
39
+ } | {
40
+ type: LoginSessionEventType.REQUIRE_EMAIL_VERIFICATION;
41
+ } | {
42
+ type: LoginSessionEventType.REQUIRE_MFA;
43
+ } | {
44
+ type: LoginSessionEventType.COMPLETE_MFA;
45
+ } | {
46
+ type: LoginSessionEventType.START_HOOK;
47
+ hookId?: string;
48
+ } | {
49
+ type: LoginSessionEventType.COMPLETE_HOOK;
50
+ } | {
51
+ type: LoginSessionEventType.START_CONTINUATION;
52
+ scope: string[];
53
+ } | {
54
+ type: LoginSessionEventType.COMPLETE_CONTINUATION;
55
+ } | {
56
+ type: LoginSessionEventType.COMPLETE;
57
+ } | {
58
+ type: LoginSessionEventType.FAIL;
59
+ reason: string;
60
+ } | {
61
+ type: LoginSessionEventType.EXPIRE;
62
+ };
63
+ /**
64
+ * Login session state machine
65
+ *
66
+ * The AUTHENTICATED state acts as a "hub" that decides the next requirement.
67
+ * After completing hooks or continuations, the flow returns to AUTHENTICATED
68
+ * so the backend can check if additional steps are needed.
69
+ *
70
+ * Flow examples:
71
+ * pending → authenticated → completed (simple login)
72
+ * pending → authenticated → awaiting_email_verification → authenticated → completed
73
+ * pending → authenticated → awaiting_mfa → authenticated → completed
74
+ * pending → authenticated → awaiting_hook → authenticated → awaiting_continuation → authenticated → completed
75
+ *
76
+ * Any non-final state can transition to failed or expired.
77
+ *
78
+ * States:
79
+ * - pending: Initial state, awaiting user authentication
80
+ * - authenticated: Credentials validated - hub state that decides next steps
81
+ * - awaiting_email_verification: Blocked on email verification
82
+ * - awaiting_mfa: Waiting for MFA verification (SMS, TOTP, etc.)
83
+ * - awaiting_hook: Waiting for hook/flow completion (form, page, impersonate)
84
+ * - awaiting_continuation: Waiting for user to complete action on account page
85
+ * - completed: Tokens issued successfully (final)
86
+ * - failed: Authentication failed (final)
87
+ * - expired: Session timed out (final)
88
+ */
89
+ export declare const loginSessionMachine: import("xstate").StateMachine<LoginSessionContext, {
90
+ type: LoginSessionEventType.AUTHENTICATE;
91
+ userId: string;
92
+ } | {
93
+ type: LoginSessionEventType.REQUIRE_EMAIL_VERIFICATION;
94
+ } | {
95
+ type: LoginSessionEventType.REQUIRE_MFA;
96
+ } | {
97
+ type: LoginSessionEventType.COMPLETE_MFA;
98
+ } | {
99
+ type: LoginSessionEventType.START_HOOK;
100
+ hookId?: string;
101
+ } | {
102
+ type: LoginSessionEventType.COMPLETE_HOOK;
103
+ } | {
104
+ type: LoginSessionEventType.START_CONTINUATION;
105
+ scope: string[];
106
+ } | {
107
+ type: LoginSessionEventType.COMPLETE_CONTINUATION;
108
+ } | {
109
+ type: LoginSessionEventType.COMPLETE;
110
+ } | {
111
+ type: LoginSessionEventType.FAIL;
112
+ reason: string;
113
+ } | {
114
+ type: LoginSessionEventType.EXPIRE;
115
+ }, {}, never, {
116
+ type: "setUserId";
117
+ params: import("xstate").NonReducibleUnknown;
118
+ } | {
119
+ type: "setHookId";
120
+ params: import("xstate").NonReducibleUnknown;
121
+ } | {
122
+ type: "clearHookId";
123
+ params: import("xstate").NonReducibleUnknown;
124
+ } | {
125
+ type: "setContinuationScope";
126
+ params: import("xstate").NonReducibleUnknown;
127
+ } | {
128
+ type: "clearContinuationScope";
129
+ params: import("xstate").NonReducibleUnknown;
130
+ } | {
131
+ type: "setFailureReason";
132
+ params: import("xstate").NonReducibleUnknown;
133
+ }, never, never, "pending" | "failed" | "authenticated" | "expired" | "awaiting_email_verification" | "awaiting_mfa" | "awaiting_hook" | "awaiting_continuation" | "completed", string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
134
+ id: "loginSession";
135
+ states: {
136
+ readonly pending: {};
137
+ readonly authenticated: {};
138
+ readonly awaiting_email_verification: {};
139
+ readonly awaiting_mfa: {};
140
+ readonly awaiting_hook: {};
141
+ readonly awaiting_continuation: {};
142
+ readonly completed: {};
143
+ readonly failed: {};
144
+ readonly expired: {};
145
+ };
146
+ }>;
147
+ /**
148
+ * Transition a login session and return the new state
149
+ *
150
+ * Uses XState's transition for a single source of truth - the machine
151
+ * definition determines all valid transitions.
152
+ */
153
+ export declare function transitionLoginSession(currentState: LoginSessionState, event: LoginSessionEvent, context?: LoginSessionContext): {
154
+ state: LoginSessionState;
155
+ context: Partial<LoginSessionContext>;
156
+ };
157
+ /**
158
+ * Check if a login session can transition with the given event
159
+ *
160
+ * Uses XState's transition - if the state changes, the transition is valid.
161
+ */
162
+ export declare function canTransition(currentState: LoginSessionState, eventType: LoginSessionEvent["type"], context?: LoginSessionContext): boolean;
163
+ /**
164
+ * Helper to transition from a LoginSession object
165
+ */
166
+ export declare function transitionLoginSessionFromEntity(loginSession: LoginSession, event: LoginSessionEvent): {
167
+ state: LoginSessionState;
168
+ context: Partial<LoginSessionContext>;
169
+ };
170
+ /**
171
+ * Get valid events for a given state
172
+ */
173
+ export declare function getValidEvents(currentState: LoginSessionState): LoginSessionEventType[];
@@ -0,0 +1,43 @@
1
+ /** @jsxImportSource react */
2
+ import React from "react";
3
+ /**
4
+ * Wrapper component to render Hono JSX components in Storybook
5
+ * This takes the already-rendered HTML string from a Hono component
6
+ * and hydrates client-side functionality
7
+ */
8
+ export declare function HonoJSXWrapper({ html }: {
9
+ html: string;
10
+ }): React.DetailedReactHTMLElement<{
11
+ dangerouslySetInnerHTML: {
12
+ __html: string;
13
+ };
14
+ className: string;
15
+ }, HTMLElement>;
16
+ /**
17
+ * Helper function to render a Hono component to HTML
18
+ * Use this in your stories to convert Hono JSX to HTML before passing to React
19
+ */
20
+ export declare function renderHonoComponent<T>(Component: (props: T) => any, props: T): string;
21
+ /**
22
+ * Extract body content from a full HTML document
23
+ * This is useful for rendering full-page components (like AuthLayout) in Storybook
24
+ */
25
+ export declare function extractBodyContent(html: string): string;
26
+ /**
27
+ * Wrapper for rendering full HTML documents in Storybook
28
+ * Extracts just the body content to display in the Storybook iframe
29
+ * Uses display:contents to make the wrapper transparent to layout,
30
+ * allowing the inner flex container to work properly
31
+ * Also hydrates client-side functionality like password toggles
32
+ */
33
+ export declare function HonoFullPageWrapper({ html }: {
34
+ html: string;
35
+ }): React.DetailedReactHTMLElement<{
36
+ dangerouslySetInnerHTML: {
37
+ __html: string;
38
+ };
39
+ className: string;
40
+ style: {
41
+ display: "contents";
42
+ };
43
+ }, HTMLElement>;
@@ -0,0 +1,24 @@
1
+ import { Context } from "hono";
2
+ import { Connection } from "@authhero/adapter-interfaces";
3
+ import { Bindings, Variables } from "../types";
4
+ export declare const displayName = "Apple";
5
+ export declare const logoDataUri = "data:image/svg+xml,%3Csvg%20width%3D%2245%22%20height%3D%2245%22%20viewBox%3D%220%200%2045%2045%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M45%200H0V45H45V0Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M23.5344%2010.3846C25.5313%2010.3846%2028.0344%209.01144%2029.525%207.18055C30.875%205.5213%2031.8594%203.20407%2031.8594%200.886839C31.8594%200.572154%2031.8313%200.25747%2031.775%200C29.5531%200.0858233%2026.8813%201.51621%2025.2781%203.43293C24.0125%204.89193%2022.8594%207.18055%2022.8594%209.52638C22.8594%209.86968%2022.9156%2010.213%2022.9438%2010.3274C23.0844%2010.356%2023.3094%2010.3846%2023.5344%2010.3846ZM16.5031%2045C19.2313%2045%2020.4406%2043.1405%2023.8438%2043.1405C27.3031%2043.1405%2028.0625%2044.9428%2031.1%2044.9428C34.0813%2044.9428%2036.0781%2042.1392%2037.9625%2039.3929C40.0719%2036.246%2040.9438%2033.1564%2041%2033.0134C40.8031%2032.9561%2035.0938%2030.5817%2035.0938%2023.9161C35.0938%2018.1373%2039.5938%2015.534%2039.8469%2015.3338C36.8656%2010.9854%2032.3375%2010.8709%2031.1%2010.8709C27.7531%2010.8709%2025.025%2012.9307%2023.3094%2012.9307C21.4531%2012.9307%2019.0063%2010.9854%2016.1094%2010.9854C10.5969%2010.9854%205%2015.6198%205%2024.3738C5%2029.8093%207.08125%2035.5594%209.64063%2039.2784C11.8344%2042.4253%2013.7469%2045%2016.5031%2045Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E";
6
+ export declare function getRedirect(ctx: Context<{
7
+ Bindings: Bindings;
8
+ Variables: Variables;
9
+ }>, connection: Connection): Promise<{
10
+ redirectUrl: string;
11
+ code: string;
12
+ }>;
13
+ export declare function validateAuthorizationCodeAndGetUser(ctx: Context<{
14
+ Bindings: Bindings;
15
+ Variables: Variables;
16
+ }>, connection: Connection, code: string): Promise<{
17
+ sub: string;
18
+ email: string | undefined;
19
+ given_name: string | undefined;
20
+ family_name: string | undefined;
21
+ name: string | undefined;
22
+ picture: unknown;
23
+ locale: unknown;
24
+ }>;
@@ -0,0 +1,20 @@
1
+ import { Context } from "hono";
2
+ import { Connection } from "@authhero/adapter-interfaces";
3
+ import { Bindings, Variables } from "../types";
4
+ export declare const displayName = "Facebook";
5
+ export declare const logoDataUri = "data:image/svg+xml,%3Csvg%20width%3D%2245%22%20height%3D%2245%22%20viewBox%3D%220%200%2045%2045%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M45%2022.5C45%2010.0736%2034.9264%200%2022.5%200C10.0736%200%200%2010.0736%200%2022.5C0%2033.7031%208.23242%2042.9785%2019.0039%2044.6953V28.9746H13.2861V22.5H19.0039V17.5391C19.0039%2011.8945%2022.3828%208.75977%2027.5391%208.75977C29.9658%208.75977%2032.5049%209.19922%2032.5049%209.19922V14.7656H29.7012C26.9414%2014.7656%2026.0156%2016.4824%2026.0156%2018.2432V22.5H32.2412L31.2012%2028.9746H26.0156V44.6953C36.7871%2042.9785%2045%2033.7031%2045%2022.5Z%22%20fill%3D%22%231877F2%22%2F%3E%3Cpath%20d%3D%22M31.2012%2028.9746L32.2412%2022.5H26.0156V18.2432C26.0156%2016.4824%2026.9414%2014.7656%2029.7012%2014.7656H32.5049V9.19922C32.5049%209.19922%2029.9658%208.75977%2027.5391%208.75977C22.3828%208.75977%2019.0039%2011.8945%2019.0039%2017.5391V22.5H13.2861V28.9746H19.0039V44.6953C20.1562%2044.8984%2021.3203%2045%2022.5%2045C23.6797%2045%2024.8438%2044.8984%2026.0156%2044.6953V28.9746H31.2012Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E";
6
+ export declare function getRedirect(ctx: Context<{
7
+ Bindings: Bindings;
8
+ Variables: Variables;
9
+ }>, connection: Connection): Promise<{
10
+ redirectUrl: string;
11
+ code: string;
12
+ }>;
13
+ export declare function validateAuthorizationCodeAndGetUser(ctx: Context<{
14
+ Bindings: Bindings;
15
+ Variables: Variables;
16
+ }>, connection: Connection, code: string): Promise<{
17
+ sub: any;
18
+ email: any;
19
+ name: any;
20
+ }>;
@@ -0,0 +1,23 @@
1
+ import { Context } from "hono";
2
+ import { Connection } from "@authhero/adapter-interfaces";
3
+ import { Bindings, Variables } from "../types";
4
+ export declare const displayName = "GitHub";
5
+ export declare const logoDataUri = "data:image/svg+xml,%3Csvg%20width%3D%2245%22%20height%3D%2245%22%20viewBox%3D%220%200%2045%2045%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M22.5%200C10.074%200%200%2010.335%200%2023.077C0%2033.266%206.444%2041.895%2015.39%2044.955C16.515%2045.165%2016.935%2044.46%2016.935%2043.857C16.935%2043.32%2016.92%2041.865%2016.905%2039.99C10.65%2041.355%209.33%2036.99%209.33%2036.99C8.31%2034.32%206.825%2033.615%206.825%2033.615C4.77%2032.205%206.975%2032.235%206.975%2032.235C9.24%2032.385%2010.425%2034.59%2010.425%2034.59C12.45%2038.13%2015.75%2037.125%2017.01%2036.555C17.22%2035.07%2017.82%2034.065%2018.48%2033.51C13.455%2032.94%208.19%2030.93%208.19%2022.035C8.19%2019.5%209.075%2017.43%2010.47%2015.81C10.23%2015.24%209.435%2012.87%2010.695%209.66C10.695%209.66%2012.585%209.045%2016.875%2012.06C18.675%2011.565%2020.595%2011.31%2022.5%2011.31C24.405%2011.31%2026.325%2011.565%2028.125%2012.06C32.415%209.045%2034.305%209.66%2034.305%209.66C35.565%2012.87%2034.77%2015.24%2034.53%2015.81C35.925%2017.43%2036.81%2019.5%2036.81%2022.035C36.81%2030.96%2031.53%2032.925%2026.49%2033.48C27.33%2034.2%2028.095%2035.625%2028.095%2037.815C28.095%2040.95%2028.065%2043.47%2028.065%2043.857C28.065%2044.46%2028.485%2045.18%2029.625%2044.955C38.571%2041.88%2045%2033.252%2045%2023.077C45%2010.335%2034.926%200%2022.5%200Z%22%20fill%3D%22%23181717%22%2F%3E%3C%2Fsvg%3E";
6
+ export declare function getRedirect(ctx: Context<{
7
+ Bindings: Bindings;
8
+ Variables: Variables;
9
+ }>, connection: Connection): Promise<{
10
+ redirectUrl: string;
11
+ code: string;
12
+ }>;
13
+ export declare function validateAuthorizationCodeAndGetUser(ctx: Context<{
14
+ Bindings: Bindings;
15
+ Variables: Variables;
16
+ }>, connection: Connection, code: string): Promise<{
17
+ sub: any;
18
+ email: any;
19
+ name: any;
20
+ given_name: any;
21
+ family_name: any;
22
+ picture: any;
23
+ }>;
@@ -0,0 +1,43 @@
1
+ import { Context } from "hono";
2
+ import { Connection } from "@authhero/adapter-interfaces";
3
+ import { Bindings, Variables } from "../types";
4
+ export declare const displayName = "Google";
5
+ export declare const disableEmbeddedBrowsers = true;
6
+ export declare const logoDataUri = "data:image/svg+xml,%3Csvg%20width%3D%2245%22%20height%3D%2245%22%20viewBox%3D%220%200%2045%2045%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M44.1035%2023.0123C44.1054%2021.4791%2043.9758%2019.9486%2043.716%2018.4375H22.498V27.1028H34.6507C34.4021%2028.4868%2033.8757%2029.8061%2033.1034%2030.9812C32.3311%2032.1562%2031.3289%2033.1628%2030.1571%2033.9401V39.5649H37.41C41.6567%2035.6494%2044.1035%2029.859%2044.1035%2023.0123Z%22%20fill%3D%22%234285F4%22%2F%3E%3Cpath%20d%3D%22M22.4982%2044.9997C28.5698%2044.9997%2033.6821%2043.0061%2037.4101%2039.5687L30.1573%2033.9439C28.1386%2035.3126%2025.5387%2036.0938%2022.4982%2036.0938C16.6296%2036.0938%2011.6485%2032.1377%209.86736%2026.8066H2.39575V32.6033C4.26839%2036.3297%207.13989%2039.4622%2010.6896%2041.6512C14.2394%2043.8402%2018.3277%2044.9995%2022.4982%2044.9997Z%22%20fill%3D%22%2334A853%22%2F%3E%3Cpath%20d%3D%22M9.86737%2026.8073C8.92572%2024.0138%208.92572%2020.9886%209.86737%2018.1951V12.3984H2.39576C0.820432%2015.5332%200%2018.9929%200%2022.5012C0%2026.0095%200.820432%2029.4692%202.39576%2032.604L9.86737%2026.8073Z%22%20fill%3D%22%23FBBC04%22%2F%3E%3Cpath%20d%3D%22M22.4982%208.90741C25.7068%208.85499%2028.8071%2010.0673%2031.1291%2012.2823L37.5507%205.86064C33.4788%202.03602%2028.0843%20-0.0637686%2022.4982%200.00147616C18.3277%200.00166623%2014.2394%201.16098%2010.6896%203.34999C7.13989%205.539%204.26839%208.67155%202.39575%2012.3979L9.86736%2018.1946C11.6485%2012.8635%2016.6296%208.90741%2022.4982%208.90741Z%22%20fill%3D%22%23EA4335%22%2F%3E%3C%2Fsvg%3E";
7
+ export declare function getRedirect(ctx: Context<{
8
+ Bindings: Bindings;
9
+ Variables: Variables;
10
+ }>, connection: Connection, loginHint?: string): Promise<{
11
+ redirectUrl: string;
12
+ code: string;
13
+ codeVerifier: string;
14
+ }>;
15
+ declare function validateAuthorizationCodeAndGetUserInternal(ctx: Context<{
16
+ Bindings: Bindings;
17
+ Variables: Variables;
18
+ }>, connection: Connection, code: string, code_verifier?: string): Promise<{
19
+ userinfo: {
20
+ sub: string;
21
+ email?: string;
22
+ given_name?: string;
23
+ family_name?: string;
24
+ name?: string;
25
+ picture?: string;
26
+ locale?: string;
27
+ };
28
+ raw: Record<string, unknown> | null;
29
+ }>;
30
+ export declare function validateAuthorizationCodeAndGetUser(ctx: Context<{
31
+ Bindings: Bindings;
32
+ Variables: Variables;
33
+ }>, connection: Connection, code: string, code_verifier?: string): Promise<{
34
+ sub: string;
35
+ email?: string;
36
+ given_name?: string;
37
+ family_name?: string;
38
+ name?: string;
39
+ picture?: string;
40
+ locale?: string;
41
+ }>;
42
+ export declare const validateAuthorizationCodeAndGetUserWithRaw: typeof validateAuthorizationCodeAndGetUserInternal;
43
+ export {};
@@ -0,0 +1,69 @@
1
+ import { Context } from "hono";
2
+ import { Connection } from "@authhero/adapter-interfaces";
3
+ import { Bindings, Variables } from "../types";
4
+ /**
5
+ * Resolve the redirect_uri that strategies should hand to the upstream IdP.
6
+ * Defaults to `${authUrl}login/callback` on the request's host (custom domain
7
+ * if present, otherwise the default issuer) — matching Auth0's default. Set
8
+ * `options.callback_url` per connection to pin an explicit URL — required
9
+ * when an upstream IdP has the legacy `/callback` URL registered and you
10
+ * don't want it to flip when the request comes in via a custom domain.
11
+ */
12
+ export declare function getConnectionCallbackUrl(ctx: Context<{
13
+ Bindings: Bindings;
14
+ Variables: Variables;
15
+ }>, connection: Connection): string;
16
+ export type UserInfo = {
17
+ sub: string;
18
+ email?: string;
19
+ given_name?: string;
20
+ family_name?: string;
21
+ name?: string;
22
+ };
23
+ /**
24
+ * Verified result returned by strategies that also expose the unmodified
25
+ * upstream payload (id_token payload, userinfo response, etc.). Used by the
26
+ * "Try Connection" diagnostic flow to surface raw provider claims to the
27
+ * caller — production flows only consume `userinfo`.
28
+ */
29
+ export type UserInfoWithRaw = {
30
+ userinfo: UserInfo;
31
+ raw: Record<string, unknown> | null;
32
+ };
33
+ export type StrategyHandler = {
34
+ displayName: string;
35
+ logoDataUri: string;
36
+ getRedirect: (ctx: Context<{
37
+ Bindings: Bindings;
38
+ Variables: Variables;
39
+ }>, connection: Connection, loginHint?: string) => Promise<{
40
+ redirectUrl: string;
41
+ code: string;
42
+ codeVerifier?: string;
43
+ }>;
44
+ validateAuthorizationCodeAndGetUser: (ctx: Context<{
45
+ Bindings: Bindings;
46
+ Variables: Variables;
47
+ }>, connection: Connection, code: string, codeVerifier?: string) => Promise<UserInfo>;
48
+ validateAuthorizationCodeAndGetUserWithRaw?: (ctx: Context<{
49
+ Bindings: Bindings;
50
+ Variables: Variables;
51
+ }>, connection: Connection, code: string, codeVerifier?: string) => Promise<UserInfoWithRaw>;
52
+ disableEmbeddedBrowsers?: boolean;
53
+ };
54
+ export declare const BUILTIN_STRATEGIES: Record<string, StrategyHandler>;
55
+ export declare function getStrategy(ctx: Context<{
56
+ Bindings: Bindings;
57
+ Variables: Variables;
58
+ }>, name: string): StrategyHandler;
59
+ export declare const ENTERPRISE_STRATEGIES: Set<string>;
60
+ export declare function getProviderFromConnection(connection: Connection): string;
61
+ /**
62
+ * Get the icon URL for a connection, falling back to strategy defaults
63
+ */
64
+ export declare function getConnectionIconUrl(connection: {
65
+ strategy: string;
66
+ options?: {
67
+ icon_url?: string;
68
+ };
69
+ }): string | undefined;
@@ -0,0 +1,17 @@
1
+ import { OAuth2Client, OAuth2Tokens } from "arctic";
2
+ /**
3
+ * Extends arctic's `OAuth2Client` so we own the token-endpoint exchange. We
4
+ * support both `client_secret_basic` (HTTP Basic) and `client_secret_post`
5
+ * (credentials in form body), and always surface the upstream response body in
6
+ * thrown errors — arctic discards it, which makes diagnosing `invalid_client`
7
+ * from providers like JumpCloud nearly impossible.
8
+ */
9
+ export type TokenEndpointAuthMethod = "client_secret_basic" | "client_secret_post";
10
+ export declare class ExtendedOAuth2Client extends OAuth2Client {
11
+ private readonly _clientId;
12
+ private readonly _clientPassword;
13
+ private readonly _redirectURI;
14
+ private readonly tokenEndpointAuthMethod;
15
+ constructor(clientId: string, clientPassword: string | null, redirectURI: string | null, tokenEndpointAuthMethod?: TokenEndpointAuthMethod);
16
+ validateAuthorizationCode(tokenEndpoint: string, code: string, codeVerifier: string | null): Promise<OAuth2Tokens>;
17
+ }
@@ -0,0 +1,24 @@
1
+ import { Context } from "hono";
2
+ import { Connection } from "@authhero/adapter-interfaces";
3
+ import { Bindings, Variables } from "../types";
4
+ export declare const displayName = "Microsoft";
5
+ export declare const logoDataUri = "data:image/svg+xml,%3Csvg%20width%3D%2245%22%20height%3D%2245%22%20viewBox%3D%220%200%2045%2045%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23F25022%22%20d%3D%22M0%200H21.43V21.43H0V0Z%22%2F%3E%3Cpath%20fill%3D%22%237FBA00%22%20d%3D%22M23.57%200H45V21.43H23.57V0Z%22%2F%3E%3Cpath%20fill%3D%22%2300A4EF%22%20d%3D%22M0%2023.57H21.43V45H0V23.57Z%22%2F%3E%3Cpath%20fill%3D%22%23FFB900%22%20d%3D%22M23.57%2023.57H45V45H23.57V23.57Z%22%2F%3E%3C%2Fsvg%3E";
6
+ export declare function getRedirect(ctx: Context<{
7
+ Bindings: Bindings;
8
+ Variables: Variables;
9
+ }>, connection: Connection, loginHint?: string): Promise<{
10
+ redirectUrl: string;
11
+ code: string;
12
+ codeVerifier: string;
13
+ }>;
14
+ export declare function validateAuthorizationCodeAndGetUser(ctx: Context<{
15
+ Bindings: Bindings;
16
+ Variables: Variables;
17
+ }>, connection: Connection, code: string, code_verifier?: string): Promise<{
18
+ sub: string;
19
+ email: string | undefined;
20
+ given_name: string | undefined;
21
+ family_name: string | undefined;
22
+ name: string | undefined;
23
+ picture: unknown;
24
+ }>;
@@ -0,0 +1,38 @@
1
+ import { Context } from "hono";
2
+ import { Connection } from "@authhero/adapter-interfaces";
3
+ import { Bindings, Variables } from "../types";
4
+ export declare const displayName = "OAuth 2.0";
5
+ export declare const logoDataUri = "data:image/svg+xml,%3Csvg%20width%3D%2245%22%20height%3D%2245%22%20viewBox%3D%220%200%2045%2045%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M22.5%200C14.492%200%208%206.492%208%2014.5V18H5v22h35V18h-3v-3.5C37%206.492%2030.508%200%2022.5%200zm0%204c5.799%200%2010.5%204.701%2010.5%2010.5V18h-21v-3.5C12%208.701%2016.701%204%2022.5%204z%22%20fill%3D%22%236B7280%22%2F%3E%3Ccircle%20cx%3D%2222.5%22%20cy%3D%2229%22%20r%3D%223%22%20fill%3D%22%236B7280%22%2F%3E%3C%2Fsvg%3E";
6
+ export declare function getRedirect(ctx: Context<{
7
+ Bindings: Bindings;
8
+ Variables: Variables;
9
+ }>, connection: Connection, loginHint?: string): Promise<{
10
+ redirectUrl: string;
11
+ code: string;
12
+ codeVerifier: string;
13
+ }>;
14
+ declare function validateAuthorizationCodeAndGetUserInternal(ctx: Context<{
15
+ Bindings: Bindings;
16
+ Variables: Variables;
17
+ }>, connection: Connection, code: string, codeVerifier?: string): Promise<{
18
+ userinfo: {
19
+ sub: string;
20
+ email?: string;
21
+ given_name?: string;
22
+ family_name?: string;
23
+ name?: string;
24
+ };
25
+ raw: Record<string, unknown> | null;
26
+ }>;
27
+ export declare function validateAuthorizationCodeAndGetUser(ctx: Context<{
28
+ Bindings: Bindings;
29
+ Variables: Variables;
30
+ }>, connection: Connection, code: string, codeVerifier?: string): Promise<{
31
+ sub: string;
32
+ email?: string;
33
+ given_name?: string;
34
+ family_name?: string;
35
+ name?: string;
36
+ }>;
37
+ export declare const validateAuthorizationCodeAndGetUserWithRaw: typeof validateAuthorizationCodeAndGetUserInternal;
38
+ export {};
@@ -0,0 +1,38 @@
1
+ import { Context } from "hono";
2
+ import { Connection } from "@authhero/adapter-interfaces";
3
+ import { Bindings, Variables } from "../types";
4
+ export declare const displayName = "OpenID Connect";
5
+ export declare const logoDataUri = "data:image/svg+xml,%3Csvg%20width%3D%2245%22%20height%3D%2245%22%20viewBox%3D%220%200%2045%2045%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M22.5%200C10.074%200%200%2010.074%200%2022.5S10.074%2045%2022.5%2045%2045%2034.926%2045%2022.5%2034.926%200%2022.5%200zm0%2040.5c-9.941%200-18-8.059-18-18s8.059-18%2018-18%2018%208.059%2018%2018-8.059%2018-18%2018z%22%20fill%3D%22%23F7931E%22%2F%3E%3Cpath%20d%3D%22M22.5%209c-7.456%200-13.5%206.044-13.5%2013.5S15.044%2036%2022.5%2036%2036%2029.956%2036%2022.5%2029.956%209%2022.5%209zm0%2022.5c-4.971%200-9-4.029-9-9s4.029-9%209-9%209%204.029%209%209-4.029%209-9%209z%22%20fill%3D%22%23F7931E%22%2F%3E%3C%2Fsvg%3E";
6
+ export declare function getRedirect(ctx: Context<{
7
+ Bindings: Bindings;
8
+ Variables: Variables;
9
+ }>, connection: Connection, loginHint?: string): Promise<{
10
+ redirectUrl: string;
11
+ code: string;
12
+ codeVerifier: string;
13
+ }>;
14
+ declare function validateAuthorizationCodeAndGetUserInternal(ctx: Context<{
15
+ Bindings: Bindings;
16
+ Variables: Variables;
17
+ }>, connection: Connection, code: string, codeVerifier?: string): Promise<{
18
+ userinfo: {
19
+ sub: string;
20
+ email?: string;
21
+ given_name?: string;
22
+ family_name?: string;
23
+ name?: string;
24
+ };
25
+ raw: Record<string, unknown> | null;
26
+ }>;
27
+ export declare function validateAuthorizationCodeAndGetUser(ctx: Context<{
28
+ Bindings: Bindings;
29
+ Variables: Variables;
30
+ }>, connection: Connection, code: string, codeVerifier?: string): Promise<{
31
+ sub: string;
32
+ email?: string;
33
+ given_name?: string;
34
+ family_name?: string;
35
+ name?: string;
36
+ }>;
37
+ export declare const validateAuthorizationCodeAndGetUserWithRaw: typeof validateAuthorizationCodeAndGetUserInternal;
38
+ export {};
@@ -0,0 +1,9 @@
1
+ import { Context } from "hono";
2
+ import { Bindings, Variables } from "../types";
3
+ import { AuthParams, User } from "@authhero/adapter-interfaces";
4
+ import { EnrichedClient } from "../helpers/client";
5
+ export declare function samlResponseForm(postUrl: string, base64EncodedSaml: string, relayState?: string): Response;
6
+ export declare function samlCallback(ctx: Context<{
7
+ Bindings: Bindings;
8
+ Variables: Variables;
9
+ }>, client: EnrichedClient, authParams: AuthParams, user: User, sid: string): Promise<Response>;
@@ -0,0 +1,16 @@
1
+ import { Context } from "hono";
2
+ import { Connection } from "@authhero/adapter-interfaces";
3
+ import { Bindings, Variables } from "../types";
4
+ export declare const displayName = "Vipps";
5
+ export declare const logoDataUri = "data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%20width%3D%2245%22%20height%3D%2245%22%3E%3Cpath%20fill%3D%22%23FF5B24%22%20d%3D%22M3.5%2C8h41c1.9%2C0%2C3.5%2C1.6%2C3.5%2C3.5v25c0%2C1.9-1.6%2C3.5-3.5%2C3.5h-41C1.6%2C40%2C0%2C38.4%2C0%2C36.5v-25C0%2C9.6%2C1.6%2C8%2C3.5%2C8z%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20fill%3D%22%23FFFFFF%22%20d%3D%22M27.9%2C20.3c1.4%2C0%2C2.6-1%2C2.6-2.5h0c0-1.5-1.2-2.5-2.6-2.5c-1.4%2C0-2.6%2C1-2.6%2C2.5C25.3%2C19.2%2C26.5%2C20.3%2C27.9%2C20.3z%20M31.2%2C24.4c-1.7%2C2.2-3.5%2C3.8-6.7%2C3.8h0c-3.2%2C0-5.8-2-7.7-4.8c-0.8-1.2-2-1.4-2.9-0.8c-0.8%2C0.6-1%2C1.8-0.3%2C2.9%20c2.7%2C4.1%2C6.5%2C6.6%2C10.9%2C6.6c4%2C0%2C7.2-2%2C9.6-5.2c0.9-1.2%2C0.9-2.5%2C0-3.1C33.3%2C22.9%2C32.1%2C23.2%2C31.2%2C24.4z%22%2F%3E%3C%2Fsvg%3E";
6
+ export declare function getRedirect(ctx: Context<{
7
+ Bindings: Bindings;
8
+ Variables: Variables;
9
+ }>, connection: Connection): Promise<{
10
+ redirectUrl: string;
11
+ code: string;
12
+ }>;
13
+ export declare function validateAuthorizationCodeAndGetUser(ctx: Context<{
14
+ Bindings: Bindings;
15
+ Variables: Variables;
16
+ }>, connection: Connection, code: string): Promise<any>;
@@ -0,0 +1,9 @@
1
+ import "./tailwind.css";
2
+ import { tailwindCss } from "./tailwind";
3
+ export { tailwindCss };
4
+ export declare function injectTailwindCSS(): void;
5
+ declare const _default: {
6
+ tailwindCss: string;
7
+ injectTailwindCSS: typeof injectTailwindCSS;
8
+ };
9
+ export default _default;
@@ -0,0 +1 @@
1
+ export declare const tailwindCss = "\n@font-face{font-display:swap;font-family:KHTeka;font-style:normal;font-weight:400;src:url(https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Regular.woff2) format(\"woff2\")}@font-face{font-display:swap;font-family:KHTeka;font-style:normal;font-weight:500;src:url(https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Medium.woff2) format(\"woff2\")}@font-face{font-display:swap;font-family:KHTeka;font-style:normal;font-weight:600;src:url(https://assets.sesamy.com/fonts/khteka/WOFF2/KHTeka-Bold.woff2) format(\"woff2\")}@font-face{font-family:uicon;src:url(https://login2.sesamy.com/_next/static/media/uicon.0b00e08a.woff2)}[class*=\" uicon-\"],[class^=uicon-]{font-family:uicon!important;font-size:inherit;font-style:normal;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}.uicon-apple:before{content:\"\\ea01\"}.uicon-arrow-down:before{content:\"\\ea02\"}.uicon-arrow-left:before{content:\"\\ea03\"}.uicon-arrow-right:before{content:\"\\ea04\"}.uicon-arrow-up:before{content:\"\\ea05\"}.uicon-facebook:before{content:\"\\ea06\"}.uicon-google:before{content:\"\\ea07\"}.uicon-info-bubble:before{content:\"\\ea08\"}.uicon-info:before{content:\"\\ea09\"}.uicon-sesamy:before{content:\"\\ea0a\"}.uicon-spinner-circle:before{content:\"\\ea0b\"}.uicon-spinner-inner:before{content:\"\\ea0c\"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }\n\n/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #bfbcd7;box-sizing:border-box}:after,:before{--tw-content:\"\"}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:KHTeka,Helvetica Neue,HelveticaNeue,TeX Gyre Heros,TeXGyreHeros,FreeSans,Nimbus Sans L,Liberation Sans,Arimo,Helvetica,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#4b4a58;opacity:1}input::placeholder,textarea::placeholder{color:#4b4a58;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}body,html{height:100%}body{--tw-bg-opacity:1;background-color:rgb(248 249 251/var(--tw-bg-opacity,1));font-size:1rem;letter-spacing:.0125rem;line-height:120%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width:1280px){body{font-size:1.125rem;line-height:120%}}body:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}button,input,optgroup,select,textarea{font-size:.875rem;letter-spacing:.0125rem;line-height:120%}@media (min-width:1280px){button,input,optgroup,select,textarea{font-size:1rem;line-height:120%}}h1{font-size:1.5rem;font-weight:500;line-height:120%}@media (min-width:1280px){h1{font-size:2rem;line-height:120%}}@media (min-width:640px){h1{font-size:3rem;letter-spacing:-.0625rem;line-height:100%}}@media (min-width:1280px){h1{font-size:3.5rem;letter-spacing:-.0625rem;line-height:100%}}h2{font-size:1.25rem;font-weight:500;line-height:120%}@media (min-width:1280px){h2{font-size:1.5rem;line-height:120%}}@media (min-width:640px){h2{font-size:2rem;letter-spacing:0;line-height:120%}}@media (min-width:1280px){h2{font-size:3rem;letter-spacing:-.0625rem;line-height:100%}}h3{font-size:1.125rem;font-weight:500;line-height:120%}@media (min-width:1280px){h3{font-size:1.25rem;line-height:120%}}@media (min-width:640px){h3{font-size:1.5rem;line-height:120%}}@media (min-width:1280px){h3{font-size:2rem;line-height:120%}}h4{font-size:1rem;font-weight:500;line-height:120%}@media (min-width:1280px){h4{font-size:1.125rem;line-height:120%}}@media (min-width:640px){h4{font-size:1.125rem;line-height:120%}}@media (min-width:1280px){h4{font-size:1.5rem;line-height:120%}}h5{font-size:.875rem;font-weight:500;line-height:120%}@media (min-width:1280px){h5{font-size:1rem;line-height:120%}}@media (min-width:640px){h5{font-size:1rem;line-height:120%}}@media (min-width:1280px){h5{font-size:1.125rem;line-height:120%}}h6{font-size:.75rem;font-weight:500;line-height:135%}@media (min-width:1280px){h6{font-size:.875rem;line-height:120%}}@media (min-width:640px){h6{font-size:.875rem;line-height:120%}}@media (min-width:1280px){h6{font-size:1rem;line-height:120%}}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1920px){.container{max-width:1920px}}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.left-0{left:0}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\\/2{top:50%}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.line-clamp-1{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-full{height:100%}.min-h-\\[calc\\(100vh-83px\\)\\]{min-height:calc(100vh - 83px)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-5{width:1.25rem}.w-9{width:2.25rem}.w-\\[calc\\(100\\%-theme\\(space\\.2\\)-theme\\(space\\.2\\)\\)\\]{width:calc(100% - 1rem)}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-\\[1295px\\]{max-width:1295px}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\\/2{--tw-translate-y:-50%}.-translate-y-1\\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-col{flex-direction:column}.\\!flex-nowrap{flex-wrap:nowrap!important}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.\\!justify-between{justify-content:space-between!important}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-1\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.break-all{word-break:break-all}.rounded-2xl{border-radius:1.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.625rem}.rounded-md{border-radius:.375rem}.rounded-r-lg{border-bottom-right-radius:.625rem;border-top-right-radius:.625rem}.border{border-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-gray-100{--tw-border-opacity:1;border-color:rgb(248 249 251/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(191 188 215/var(--tw-border-opacity,1))}.border-gray-200\\/50{border-color:rgba(191,188,215,.5)}.border-gray-300{--tw-border-opacity:1;border-color:rgb(136 134 159/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(75 74 88/var(--tw-border-opacity,1))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(59 57 70/var(--tw-border-opacity,1))}.border-red{--tw-border-opacity:1;border-color:rgb(252 90 90/var(--tw-border-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(248 249 251/var(--tw-bg-opacity,1))}.bg-gray-200\\/40{background-color:rgba(191,188,215,.4)}.bg-primary{background-color:var(--primary-color)}.bg-primaryHover{background-color:var(--primary-hover)}.bg-red\\/80{background-color:rgba(252,90,90,.8)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-cover{background-size:cover}.bg-center{background-position:50%}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-2{padding-bottom:.5rem}.pb-8{padding-bottom:2rem}.pl-12{padding-left:3rem}.pl-6{padding-left:1.5rem}.pr-12{padding-right:3rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-2\\.5{padding-top:.625rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.indent-\\[5px\\]{text-indent:5px}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.\\!text-base{font-size:1rem!important;line-height:120%!important}.\\!text-xs{font-size:.75rem!important;line-height:135%!important}.text-2xl{font-size:1.5rem;line-height:120%}.text-3xl{font-size:2rem;line-height:120%}.text-base{font-size:1rem;line-height:120%}.text-lg{font-size:1.125rem;line-height:120%}.text-sm{font-size:.875rem;line-height:120%}.text-xl{font-size:1.25rem;line-height:120%}.text-xs{font-size:.75rem;line-height:135%}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.leading-\\[0\\]{line-height:0}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.text-\\[\\#B2B2B2\\]{--tw-text-opacity:1;color:rgb(178 178 178/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(191 188 215/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(75 74 88/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(59 57 70/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(20 20 26/var(--tw-text-opacity,1))}.text-green{--tw-text-opacity:1;color:rgb(54 191 118/var(--tw-text-opacity,1))}.text-primary{color:var(--primary-color)}.text-red{--tw-text-opacity:1;color:rgb(252 90 90/var(--tw-text-opacity,1))}.text-textOnPrimary{color:var(--text-on-primary)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.accent-\\[\\#4F2D7F\\]{accent-color:#4f2d7f}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-90{opacity:.9}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-white{--tw-ring-offset-color:#fff}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.row-up-left{align-content:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start}.row-left{justify-content:flex-start}.row,.row-left{align-content:center;align-items:center;display:flex;flex-direction:row;flex-wrap:wrap}.row{justify-content:center}.column-left{align-items:flex-start}.column,.column-left{display:flex;flex-direction:column;justify-content:center}.column{align-items:center}@media (min-width:1280px){.text-5xl{font-size:5.125rem;letter-spacing:-.125rem;line-height:100%}.text-4xl{font-size:3.5rem}.text-3xl,.text-4xl{letter-spacing:-.0625rem;line-height:100%}.text-3xl{font-size:3rem}.text-2xl{font-size:2rem}.text-2xl,.text-xl{line-height:120%}.text-xl{font-size:1.5rem}.text-lg{font-size:1.25rem}.text-base,.text-lg{line-height:120%}.text-base{font-size:1.125rem}.text-sm{font-size:1rem}.text-sm,.text-xs{line-height:120%}.text-xs{font-size:.875rem}}:root{--primary-color:#7d68f4;--primary-hover:#9786f6;--text-on-primary:#fff}svg{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}*,:after,:before{text-underline-offset:4px}input[type=number],input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:textfield!important}.btn.is-loading{cursor:not-allowed;opacity:.4;pointer-events:none}.btn .btn-spinner,.btn.is-loading .btn-label{opacity:0;visibility:hidden}.btn.is-loading .btn-spinner{opacity:1;visibility:visible}[class*=\" uicon-\"],[class^=uicon-]{letter-spacing:0;line-height:100%}.file\\:border-0::file-selector-button{border-width:0}.file\\:text-sm::file-selector-button{font-size:.875rem;line-height:120%}.file\\:font-medium::file-selector-button{font-weight:500}.placeholder\\:normal-case::-moz-placeholder{text-transform:none}.placeholder\\:normal-case::placeholder{text-transform:none}.placeholder\\:text-gray-300::-moz-placeholder{--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity,1))}.placeholder\\:text-gray-300::placeholder{--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity,1))}.placeholder\\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(59 57 70/var(--tw-text-opacity,1))}.placeholder\\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(59 57 70/var(--tw-text-opacity,1))}.first\\:rounded-l-md:first-child{border-bottom-left-radius:.375rem;border-top-left-radius:.375rem}.first\\:border-l:first-child{border-left-width:1px}.last\\:rounded-r-md:last-child{border-bottom-right-radius:.375rem;border-top-right-radius:.375rem}.hover\\:bg-black\\/5:hover{background-color:rgba(0,0,0,.05)}.hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(248 249 251/var(--tw-bg-opacity,1))}.hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(191 188 215/var(--tw-bg-opacity,1))}.hover\\:bg-gray-200\\/75:hover{background-color:rgba(191,188,215,.75)}.hover\\:bg-primaryHover:hover{background-color:var(--primary-hover)}.hover\\:bg-red\\/90:hover{background-color:rgba(252,90,90,.9)}.hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(30 30 39/var(--tw-text-opacity,1))}.hover\\:text-primaryHover:hover{color:var(--primary-hover)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.hover\\:brightness-90:hover{--tw-brightness:brightness(.9);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\\:z-10:focus{z-index:10}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-1:focus,.focus\\:ring:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.group[open] .group-open\\:rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:disabled~.peer-disabled\\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\\:opacity-70{opacity:.7}.has-\\[\\:disabled\\]\\:opacity-50:has(:disabled){opacity:.5}.dark\\:border-gray-500:is(.dark *){--tw-border-opacity:1;border-color:rgb(59 57 70/var(--tw-border-opacity,1))}.dark\\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(40 40 52/var(--tw-border-opacity,1))}.dark\\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 30 39/var(--tw-border-opacity,1))}.dark\\:bg-black:is(.dark *){--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.dark\\:bg-gray-600:is(.dark *){--tw-bg-opacity:1;background-color:rgb(40 40 52/var(--tw-bg-opacity,1))}.dark\\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 30 39/var(--tw-bg-opacity,1))}.dark\\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 20 26/var(--tw-bg-opacity,1))}.dark\\:text-\\[\\#201a41\\]:is(.dark *){--tw-text-opacity:1;color:rgb(32 26 65/var(--tw-text-opacity,1))}.dark\\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(136 134 159/var(--tw-text-opacity,1))}.dark\\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(75 74 88/var(--tw-text-opacity,1))}.dark\\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\\:ring-offset-gray-900:is(.dark *){--tw-ring-offset-color:#08080e}.dark\\:placeholder\\:text-gray-400:is(.dark *)::-moz-placeholder{--tw-text-opacity:1;color:rgb(75 74 88/var(--tw-text-opacity,1))}.dark\\:placeholder\\:text-gray-400:is(.dark *)::placeholder{--tw-text-opacity:1;color:rgb(75 74 88/var(--tw-text-opacity,1))}.dark\\:hover\\:bg-black\\/90:hover:is(.dark *){background-color:rgba(0,0,0,.9)}.dark\\:hover\\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 30 39/var(--tw-bg-opacity,1))}.dark\\:hover\\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(20 20 26/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\\:absolute{position:absolute}.sm\\:left-4{left:1rem}.sm\\:top-1\\/2{top:50%}.sm\\:mt-4{margin-top:1rem}.sm\\:inline{display:inline}.sm\\:h-6{height:1.5rem}.sm\\:min-h-\\[700px\\]{min-height:700px}.sm\\:w-6{width:1.5rem}.sm\\:w-\\[calc\\(100\\%-theme\\(space\\.16\\)-theme\\(space\\.16\\)\\)\\]{width:calc(100% - 8rem)}.sm\\:w-auto{width:auto}.sm\\:w-full{width:100%}.sm\\:max-w-md{max-width:28rem}.sm\\:-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\\:flex-col{flex-direction:column}.sm\\:justify-normal{justify-content:normal}.sm\\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(0px*(1 - var(--tw-space-x-reverse)));margin-right:calc(0px*var(--tw-space-x-reverse))}.sm\\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.sm\\:bg-fixed{background-attachment:fixed}.sm\\:bg-left-top{background-position:0 0}.sm\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\\:py-14{padding-bottom:3.5rem;padding-top:3.5rem}.sm\\:py-4{padding-bottom:1rem;padding-top:1rem}.sm\\:pt-16{padding-top:4rem}.sm\\:text-2xl{font-size:1.5rem;line-height:120%}.sm\\:text-base{font-size:1rem;line-height:120%}}@media (min-width:1280px){.md\\:min-w-\\[448px\\]{min-width:448px}.md\\:p-10{padding:2.5rem}.md\\:py-10{padding-bottom:2.5rem;padding-top:2.5rem}.md\\:pl-10{padding-left:2.5rem}.md\\:pl-20{padding-left:5rem}.md\\:pr-10{padding-right:2.5rem}.md\\:pr-20{padding-right:5rem}.md\\:text-3xl{font-size:2rem;line-height:120%}.md\\:text-base{font-size:1rem;line-height:120%}.md\\:text-sm{font-size:.875rem;line-height:120%}.md\\:text-xs{font-size:.75rem;line-height:135%}}@media (max-height:900px) and (min-width:640px){.short\\:static{position:static}.short\\:left-auto{left:auto}.short\\:top-auto{top:auto}.short\\:inline{display:inline}.short\\:hidden{display:none}.short\\:h-5{height:1.25rem}.short\\:min-h-\\[558px\\]{min-height:558px}.short\\:w-5{width:1.25rem}.short\\:flex-1{flex:1 1 0%}.short\\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.short\\:flex-row{flex-direction:row}.short\\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.short\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.short\\:px-0{padding-left:0;padding-right:0}.short\\:py-3{padding-bottom:.75rem;padding-top:.75rem}}.\\[\\&\\>\\*\\:last-child\\]\\:mb-0>:last-child{margin-bottom:0}.\\[\\&_h1\\]\\:mb-6 h1,.\\[\\&_h2\\]\\:mb-6 h2{margin-bottom:1.5rem}";
@@ -0,0 +1,9 @@
1
+ import { z } from "@hono/zod-openapi";
2
+ export declare const auth0ClientSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ version: z.ZodString;
5
+ env: z.ZodOptional<z.ZodObject<{
6
+ node: z.ZodOptional<z.ZodString>;
7
+ }, z.core.$strip>>;
8
+ }, z.core.$strip>;
9
+ export type Auth0Client = z.infer<typeof auth0ClientSchema>;