@zitadel/components 0.0.0 → 0.1.0-alpha.2

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 (80) hide show
  1. package/README.md +41 -36
  2. package/dist/atoms/index.d.mts +1 -1
  3. package/dist/atoms/index.mjs +1 -1
  4. package/dist/atoms/zl-alert.d.ts.map +1 -1
  5. package/dist/atoms/zl-button.d.ts +7 -1
  6. package/dist/atoms/zl-button.d.ts.map +1 -1
  7. package/dist/atoms/zl-card.d.ts +7 -0
  8. package/dist/atoms/zl-card.d.ts.map +1 -1
  9. package/dist/atoms/zl-field.d.ts +14 -1
  10. package/dist/atoms/zl-field.d.ts.map +1 -1
  11. package/dist/atoms/zl-icon.d.ts.map +1 -1
  12. package/dist/atoms/zl-page-shell.d.ts +6 -0
  13. package/dist/atoms/zl-page-shell.d.ts.map +1 -1
  14. package/dist/atoms/zl-passkey.d.ts +6 -1
  15. package/dist/atoms/zl-passkey.d.ts.map +1 -1
  16. package/dist/atoms/zl-pill.d.ts +0 -1
  17. package/dist/atoms/zl-pill.d.ts.map +1 -1
  18. package/dist/{atoms-CmOTltTH.mjs → atoms-eOxuoGDq.mjs} +135 -78
  19. package/dist/atoms-eOxuoGDq.mjs.map +1 -0
  20. package/dist/default-DP74t2io.mjs +6 -0
  21. package/dist/default-DP74t2io.mjs.map +1 -0
  22. package/dist/{index-bZEvwHtq.d.mts → index-DjBsBWdg.d.mts} +99 -98
  23. package/dist/index-DjBsBWdg.d.mts.map +1 -0
  24. package/dist/{index-DIUFZjXw.d.mts → index-DmtnqUIY.d.mts} +1237 -574
  25. package/dist/index-DmtnqUIY.d.mts.map +1 -0
  26. package/dist/{index-DaOSCm0T.d.mts → index-EJengPPu.d.mts} +1 -1
  27. package/dist/{index-DaOSCm0T.d.mts.map → index-EJengPPu.d.mts.map} +1 -1
  28. package/dist/index.d.mts +6 -5
  29. package/dist/index.d.mts.map +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.mjs +4 -3
  33. package/dist/internal/emit.d.ts +12 -0
  34. package/dist/internal/emit.d.ts.map +1 -0
  35. package/dist/internal/escape-html.d.ts +10 -0
  36. package/dist/internal/escape-html.d.ts.map +1 -0
  37. package/dist/{manifest-DCC2FxCE.d.mts → manifest-DN5Al_Ur.d.mts} +1 -1
  38. package/dist/{manifest-DCC2FxCE.d.mts.map → manifest-DN5Al_Ur.d.mts.map} +1 -1
  39. package/dist/manifests.d.mts +1 -1
  40. package/dist/manifests.mjs +1 -1
  41. package/dist/orchestrator/index.d.mts +3 -2
  42. package/dist/orchestrator/index.d.ts +3 -5
  43. package/dist/orchestrator/index.d.ts.map +1 -1
  44. package/dist/orchestrator/index.mjs +3 -2
  45. package/dist/orchestrator/liquid.d.ts +3 -0
  46. package/dist/orchestrator/liquid.d.ts.map +1 -1
  47. package/dist/orchestrator/locales/de.d.ts +7 -0
  48. package/dist/orchestrator/locales/de.d.ts.map +1 -1
  49. package/dist/orchestrator/locales/en.d.ts +6 -0
  50. package/dist/orchestrator/locales/en.d.ts.map +1 -1
  51. package/dist/orchestrator/locales/index.d.ts +1 -0
  52. package/dist/orchestrator/locales/index.d.ts.map +1 -1
  53. package/dist/orchestrator/locales/it.d.ts +14 -0
  54. package/dist/orchestrator/locales/it.d.ts.map +1 -0
  55. package/dist/orchestrator/resolve-api.d.ts +37 -0
  56. package/dist/orchestrator/resolve-api.d.ts.map +1 -0
  57. package/dist/orchestrator/zitadel-login.d.ts +30 -2
  58. package/dist/orchestrator/zitadel-login.d.ts.map +1 -1
  59. package/dist/orchestrator/zitadel-logout.d.ts +33 -5
  60. package/dist/orchestrator/zitadel-logout.d.ts.map +1 -1
  61. package/dist/{orchestrator-CNKo2WQG.mjs → orchestrator-Dds72XrU.mjs} +587 -619
  62. package/dist/orchestrator-Dds72XrU.mjs.map +1 -0
  63. package/dist/standalone.mjs +12002 -0
  64. package/dist/tokens/index.d.mts +1 -1
  65. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  66. package/package.json +9 -3
  67. package/dist/atoms-CmOTltTH.mjs.map +0 -1
  68. package/dist/index-7FDHEpv5.d.mts +0 -996
  69. package/dist/index-7FDHEpv5.d.mts.map +0 -1
  70. package/dist/index-DIUFZjXw.d.mts.map +0 -1
  71. package/dist/index-bZEvwHtq.d.mts.map +0 -1
  72. package/dist/orchestrator/templates/auth-form.liquid.d.ts +0 -14
  73. package/dist/orchestrator/templates/auth-form.liquid.d.ts.map +0 -1
  74. package/dist/orchestrator/templates/default.liquid.d.ts +0 -23
  75. package/dist/orchestrator/templates/default.liquid.d.ts.map +0 -1
  76. package/dist/orchestrator/templates/passkey-upsell.liquid.d.ts +0 -15
  77. package/dist/orchestrator/templates/passkey-upsell.liquid.d.ts.map +0 -1
  78. package/dist/orchestrator/templates/signed-in.liquid.d.ts +0 -20
  79. package/dist/orchestrator/templates/signed-in.liquid.d.ts.map +0 -1
  80. package/dist/orchestrator-CNKo2WQG.mjs.map +0 -1
@@ -1,996 +0,0 @@
1
- import { $ as GetKeys200, A as CreateFlowDefinitionBody, At as SubmitFlowStepBody, B as CreateTeamBody, C as CreateFlow201StepChallenge, Ct as ListSessionsParams, D as CreateFlowBody, Dt as RevokeTokenBody, E as CreateFlow201StepSsoProvidersItem, Et as RevokeSessionParams, F as CreateSchemaBody, G as EndSessionParams, H as CreateUser201, I as CreateSchemaParams, J as ExchangeHandoffParams, K as ExchangeHandoff200, L as CreateSession201, M as CreateProject201, Mt as UpdateFlowDefinitionBody, N as CreateProjectBody, Nt as VerifyChallengeProof200, O as CreateFlowBodyPurpose, Ot as SubmitFlowEventBody, P as CreateSchema201, Pt as VerifyChallengeProofBody, Q as GetHealthDefault, R as CreateSessionBody, S as CreateFlow201StepActions, St as ListSessions200, T as CreateFlow201StepGates, Tt as ListUsersParams, U as CreateUserBody, V as CreateTeamParams, W as CreateUserParams, X as GetFlowDefinition200, Y as GetAuthAttempt200, Z as GetFlowStep200, _ as CreateAuthAttemptBody, _t as IntrospectBody, at as GetSchemaById200, b as CreateFlow201BrandingLayout, bt as ListFlowDefinitions200, ct as GetSessionParams, dt as GetToken200, et as GetLiveDefault, f as AuthorizeDevice200, ft as GetTokenBody, g as CreateAuthAttempt201, gt as Introspect200, h as AuthorizeGetParams, ht as GetUserInfo200, it as GetReadyDefault, j as CreateHandoff200, jt as UpdateFlowDefinition200, k as CreateFlowDefinition201, kt as SubmitFlowStep200, lt as GetTeam200, m as AuthorizeGetDefault, mt as GetUserByIDParams, nt as GetOpenIDConfiguration200, ot as GetSchemaByIdParams, p as AuthorizeDeviceParams, pt as GetUserByID200, q as ExchangeHandoffBody, rt as GetProject200, st as GetSession200, tt as GetMySession200, ut as GetTeamParams, v as CreateFlow201, vt as IssueChallenge201, w as CreateFlow201StepFields, wt as ListUsers200Item, x as CreateFlow201Step, xt as ListFlowDefinitionsParams, y as CreateFlow201Branding, yt as IssueChallengeBody, z as CreateTeam201 } from "./index-DIUFZjXw.mjs";
2
- import * as _$lit from "lit";
3
- import { LitElement, PropertyValues, ReactiveController, ReactiveControllerHost, nothing } from "lit";
4
-
5
- //#region ../api/dist/zitadelNextGen-C-fBEgnH.d.mts
6
- //#region src/generated/endpoints/zitadelNextGen.d.ts
7
- declare namespace zitadelNextGen_d_exports {
8
- export { authorizeDevice, authorizeGet, createAuthAttempt, createFlow, createFlowDefinition, createHandoff, createProject, createSchema, createSession, createTeam, createUser, deleteFlowDefinition, endSession, exchangeHandoff, getAuthAttempt, getAuthorizeDeviceUrl, getAuthorizeGetUrl, getCreateAuthAttemptUrl, getCreateFlowDefinitionUrl, getCreateFlowUrl, getCreateHandoffUrl, getCreateProjectUrl, getCreateSchemaUrl, getCreateSessionUrl, getCreateTeamUrl, getCreateUserUrl, getDeleteFlowDefinitionUrl, getEndSessionUrl, getExchangeHandoffUrl, getFlowDefinition, getFlowStep, getGetAuthAttemptUrl, getGetFlowDefinitionUrl, getGetFlowStepUrl, getGetHealthUrl, getGetKeysUrl, getGetLiveUrl, getGetMySessionUrl, getGetOpenIDConfigurationUrl, getGetProjectUrl, getGetReadyUrl, getGetSchemaByIdUrl, getGetSessionUrl, getGetTeamUrl, getGetTokenUrl, getGetUserByIDUrl, getGetUserInfoUrl, getHealth, getIntrospectUrl, getIssueChallengeUrl, getKeys, getListFlowDefinitionsUrl, getListSessionsUrl, getListUsersUrl, getLive, getMySession, getOpenIDConfiguration, getProject, getReady, getRevokeMySessionUrl, getRevokeSessionUrl, getRevokeTokenUrl, getSchemaById, getSession, getSubmitFlowEventUrl, getSubmitFlowStepUrl, getTeam, getToken, getUpdateFlowDefinitionUrl, getUserByID, getUserInfo, getVerifyChallengeProofUrl, introspect, issueChallenge, listFlowDefinitions, listSessions, listUsers, revokeMySession, revokeSession, revokeToken, submitFlowEvent, submitFlowStep, updateFlowDefinition, verifyChallengeProof };
9
- }
10
- declare const getGetOpenIDConfigurationUrl: () => string;
11
- /**
12
- * Retrieve the OpenID Connect configuration
13
- * @summary Get OpenID Connect configuration
14
- */
15
- declare const getOpenIDConfiguration: (options?: RequestInit) => Promise<GetOpenIDConfiguration200>;
16
- declare const getAuthorizeGetUrl: (params: AuthorizeGetParams) => string;
17
- /**
18
- * @summary Authorize a user
19
- */
20
- declare const authorizeGet: (params: AuthorizeGetParams, options?: RequestInit) => Promise<AuthorizeGetDefault>;
21
- declare const getAuthorizeDeviceUrl: (params: AuthorizeDeviceParams) => string;
22
- /**
23
- * @summary Authorize a device
24
- */
25
- declare const authorizeDevice: (params: AuthorizeDeviceParams, options?: RequestInit) => Promise<AuthorizeDevice200>;
26
- declare const getEndSessionUrl: (params?: EndSessionParams) => string;
27
- /**
28
- * @summary End a session
29
- */
30
- declare const endSession: (params?: EndSessionParams, options?: RequestInit) => Promise<void>;
31
- declare const getIntrospectUrl: () => string;
32
- /**
33
- * @summary Introspect a token
34
- */
35
- declare const introspect: (introspectBody: IntrospectBody, options?: RequestInit) => Promise<Introspect200>;
36
- declare const getGetKeysUrl: () => string;
37
- /**
38
- * @summary Get public keys
39
- */
40
- declare const getKeys: (options?: RequestInit) => Promise<GetKeys200>;
41
- declare const getRevokeTokenUrl: () => string;
42
- /**
43
- * @summary Revoke an access token or refresh token
44
- */
45
- declare const revokeToken: (revokeTokenBody: RevokeTokenBody, options?: RequestInit) => Promise<void>;
46
- declare const getGetTokenUrl: () => string;
47
- /**
48
- * @summary Get accesstoken
49
- */
50
- declare const getToken: (getTokenBody: GetTokenBody, options?: RequestInit) => Promise<GetToken200>;
51
- declare const getGetUserInfoUrl: () => string;
52
- /**
53
- * @summary Get user info
54
- */
55
- declare const getUserInfo: (options?: RequestInit) => Promise<GetUserInfo200>;
56
- declare const getGetHealthUrl: () => string;
57
- /**
58
- * Check whether the server is healthy
59
- * @summary Check server health
60
- */
61
- declare const getHealth: (options?: RequestInit) => Promise<GetHealthDefault>;
62
- declare const getGetLiveUrl: () => string;
63
- /**
64
- * Check whether the server is started
65
- * @summary Check server liveness
66
- */
67
- declare const getLive: (options?: RequestInit) => Promise<GetLiveDefault>;
68
- declare const getGetReadyUrl: () => string;
69
- /**
70
- * Check whether the server is ready to accept requests
71
- * @summary Check server readiness
72
- */
73
- declare const getReady: (options?: RequestInit) => Promise<GetReadyDefault>;
74
- declare const getCreateUserUrl: (params: CreateUserParams) => string;
75
- /**
76
- * @summary Create user
77
- */
78
- declare const createUser: (createUserBody: CreateUserBody, params: CreateUserParams, options?: RequestInit) => Promise<CreateUser201>;
79
- declare const getListUsersUrl: (params?: ListUsersParams) => string;
80
- /**
81
- * @summary List users
82
- */
83
- declare const listUsers: (params?: ListUsersParams, options?: RequestInit) => Promise<ListUsers200Item[]>;
84
- declare const getGetUserByIDUrl: (userId: string, params: GetUserByIDParams) => string;
85
- /**
86
- * @summary Get user by ID
87
- */
88
- declare const getUserByID: (userId: string, params: GetUserByIDParams, options?: RequestInit) => Promise<GetUserByID200>;
89
- declare const getCreateFlowUrl: () => string;
90
- /**
91
- * Resolves a flow definition based on purpose + audience context and returns
92
- the first capability step. Creates a new session implicitly unless
93
- `session_id` is provided (for step-up / reauth on an existing session).
94
-
95
- The response contains an `id` field — the flow handle. Use it as the path
96
- parameter for all subsequent `/flow/{id}/submit` and `/flow/{id}/event` calls.
97
-
98
- The response also sets an encrypted `HttpOnly` cookie (`_zflow`) containing
99
- the flow's orchestration state (current step, collected data, history).
100
- The server is stateless between requests — all flow state lives in this
101
- cookie. The browser sends it automatically on subsequent requests.
102
-
103
- * @summary Start a new flow
104
- */
105
- declare const createFlow: (createFlowBody: CreateFlowBody, options?: RequestInit) => Promise<CreateFlow201>;
106
- declare const getGetFlowStepUrl: (id: string) => string;
107
- /**
108
- * Returns the current capability step without advancing the state machine.
109
- Useful for page reloads or re-rendering after a network error.
110
-
111
- * @summary Get current step (re-render)
112
- */
113
- declare const getFlowStep: (id: string, options?: RequestInit) => Promise<GetFlowStep200>;
114
- declare const getSubmitFlowStepUrl: (id: string) => string;
115
- /**
116
- * Submits user input for the current step. The server validates,
117
- processes (e.g., verifies a credential), advances the state machine
118
- through any invisible steps, and returns the next visible step.
119
-
120
- The response sets an updated encrypted `HttpOnly` cookie (`_zflow`)
121
- with the new flow state. The server is stateless — all orchestration
122
- state is carried in this cookie between requests.
123
-
124
- **Important:** The `id` in the response may differ from the `id` used in
125
- the request. This happens when a flow pivots (pushes a new flow onto the
126
- stack) or when a stacked flow completes (auto-pops to the parent flow).
127
- Always use the `id` from the latest response for the next request.
128
-
129
- ## Flow completion
130
-
131
- When `step.type` is `complete`, the flow is terminal. The `step.behavior`
132
- field tells the frontend what to do:
133
-
134
- | `behavior` | Action |
135
- |------------- |------------------------------------------------------------|
136
- | `redirect` | Navigate to `redirect_uri` (OIDC/SAML auth request done). |
137
- | `show` | Render the step as a success screen (e.g., registration). |
138
-
139
- A `complete` step is only returned when the **entire flow stack** is done.
140
- If a stacked flow (e.g., recovery pivoted from login) finishes, the server
141
- auto-pops to the parent flow and returns the parent's next step — the
142
- frontend never sees a `complete` for intermediate flows.
143
-
144
- * @summary Submit step data and advance
145
- */
146
- declare const submitFlowStep: (id: string, submitFlowStepBody: SubmitFlowStepBody, options?: RequestInit) => Promise<SubmitFlowStep200>;
147
- declare const getSubmitFlowEventUrl: (id: string) => string;
148
- /**
149
- * Submits telemetry or fingerprint data from the frontend.
150
- Does not advance the state machine. Used for risk evaluation.
151
-
152
- * @summary Submit client-side event
153
- */
154
- declare const submitFlowEvent: (id: string, submitFlowEventBody: SubmitFlowEventBody, options?: RequestInit) => Promise<void>;
155
- declare const getCreateAuthAttemptUrl: () => string;
156
- /**
157
- * Starts a new authentication attempt. This is the entry point for the auth_attempts state machine.
158
-
159
- An attempt is an ephemeral (15-minute TTL) state machine that drives a single authentication round.
160
- It accepts factor challenges, verifies proofs, and completes into a session or handoff token.
161
-
162
- Accepts a project_id and challenge_nonce (from POST /bootstrap/challenge). For step-up re-auth,
163
- also include session_id to add factors to an existing session.
164
-
165
- * @summary Create a new authentication attempt
166
- */
167
- declare const createAuthAttempt: (createAuthAttemptBody: CreateAuthAttemptBody, options?: RequestInit) => Promise<CreateAuthAttempt201>;
168
- declare const getGetAuthAttemptUrl: (attemptId: string) => string;
169
- /**
170
- * Polls the current state of an authentication attempt.
171
-
172
- Returns the attempt's state, available factors for the next challenge,
173
- challenges issued so far, and any errors preventing progress.
174
-
175
- Use this for polling during long-running factor verifications (e.g., waiting for
176
- a federated IdP callback or a device flow).
177
-
178
- * @summary Get authentication attempt state
179
- */
180
- declare const getAuthAttempt: (attemptId: string, options?: RequestInit) => Promise<GetAuthAttempt200>;
181
- declare const getIssueChallengeUrl: (attemptId: string) => string;
182
- /**
183
- * Issues a single-factor verification challenge within an auth attempt.
184
-
185
- This advances the authentication state machine by requesting a specific factor method
186
- (password, passkey, TOTP, OTP via SMS, etc.). The server responds with challenge details
187
- including method, metadata, and any UI hints. The client then verifies the proof
188
- by calling POST /auth_attempts/{attempt_id}/challenges/{challenge_id}/verify.
189
-
190
- * @summary Issue a factor challenge
191
- */
192
- declare const issueChallenge: (attemptId: string, issueChallengeBody: IssueChallengeBody, options?: RequestInit) => Promise<IssueChallenge201>;
193
- declare const getVerifyChallengeProofUrl: (attemptId: string, challengeId: string) => string;
194
- /**
195
- * Submits a proof (credential, code, assertion) to verify a factor challenge.
196
-
197
- The proof format depends on the challenge method. For example:
198
- - `password` method: { password: "…" }
199
- - `totp` method: { totp: { code: "123456" } }
200
- - `passkey` method: { passkey: { assertion: "…" } }
201
- - `recovery_code` method: { recovery_code: "…" }
202
-
203
- On successful verification, the factor is written to the auth attempt.
204
- The attempt moves to the next pending challenge or completes if all required factors are verified.
205
-
206
- * @summary Verify a factor proof
207
- */
208
- declare const verifyChallengeProof: (attemptId: string, challengeId: string, verifyChallengeProofBody: VerifyChallengeProofBody, options?: RequestInit) => Promise<VerifyChallengeProof200>;
209
- declare const getCreateHandoffUrl: (attemptId: string) => string;
210
- /**
211
- * Completes the authentication attempt and mints a `handoff_token`.
212
-
213
- Call this after all required factors have been verified and the attempt is in `completed` state.
214
- The handoff token is short-lived (≤60 seconds) and must be exchanged at
215
- POST /sessions/exchange to receive the final session and session_token.
216
-
217
- The handoff token is:
218
- - Single-use (atomic exchange, no retry)
219
- - Audience-bound (requires matching project key for exchange)
220
- - Idempotency-safe within a 5-minute window (see conventions)
221
-
222
- * @summary Complete authentication and create handoff token
223
- */
224
- declare const createHandoff: (attemptId: string, options?: RequestInit) => Promise<CreateHandoff200>;
225
- declare const getCreateProjectUrl: () => string;
226
- /**
227
- * @summary Create project
228
- */
229
- declare const createProject: (createProjectBody: CreateProjectBody, options?: RequestInit) => Promise<CreateProject201>;
230
- declare const getGetProjectUrl: (projectId: string) => string;
231
- /**
232
- * Returns the current state of a project.
233
-
234
- * @summary Get project
235
- */
236
- declare const getProject: (projectId: string, options?: RequestInit) => Promise<GetProject200>;
237
- declare const getCreateSessionUrl: () => string;
238
- /**
239
- * Creates an anonymous session shell with no user and no factors (`state: building`).
240
-
241
- This is optional — an `auth_attempt` will create a session implicitly if none is provided.
242
- Use this explicitly when you want to:
243
- - Pre-allocate a `session_id` before the user is known, so device/telemetry signals
244
- can be correlated with the eventual authenticated session from the start.
245
- - Track anonymous state (bot detection, device fingerprint) that survives until authentication.
246
-
247
- The returned `session_token` authorises GET and DELETE on this session.
248
- It is superseded when a handoff exchange completes — clients must replace it at that point.
249
-
250
- Anonymous sessions expire aggressively (10-minute TTL). The TTL resets to the configured
251
- full session TTL when the first authentication factor is written via a completing `auth_attempt`.
252
-
253
- * @summary Create an anonymous session shell
254
- */
255
- declare const createSession: (createSessionBody: CreateSessionBody, options?: RequestInit) => Promise<CreateSession201>;
256
- declare const getListSessionsUrl: (params: ListSessionsParams) => string;
257
- /**
258
- * Returns a paginated list of sessions for a project.
259
- Requires a project service key (OAuth2 client credentials).
260
-
261
- * @summary List sessions
262
- */
263
- declare const listSessions: (params: ListSessionsParams, options?: RequestInit) => Promise<ListSessions200>;
264
- declare const getExchangeHandoffUrl: (params: ExchangeHandoffParams) => string;
265
- /**
266
- * Consumes a one-time `handoff_token` minted by `POST /auth_attempts/{id}/handoff`
267
- and returns the resulting session and a `session_token`.
268
-
269
- The server resolves the originating `auth_attempt` from the token and then:
270
-
271
- | Originating auth_attempt | Outcome |
272
- |---|---|
273
- | No `session_id` | A new authenticated session is **created**. |
274
- | `session_id` points to an anonymous shell | Existing session is **upgraded** — user and factors written in, TTL reset to full session TTL. |
275
- | `session_id` points to an active session (step-up) | Existing session is **upgraded** — new factors merged, `assurance_levels[]` expanded. |
276
-
277
- The response shape is identical in all three cases.
278
-
279
- The `session_token` supersedes any previously issued `session_token` for the same session.
280
- Clients must replace their stored token at this point.
281
-
282
- Requires a project service key (OAuth2 client credentials).
283
-
284
- * @summary Exchange handoff token for a session
285
- */
286
- declare const exchangeHandoff: (exchangeHandoffBody: ExchangeHandoffBody, params: ExchangeHandoffParams, options?: RequestInit) => Promise<ExchangeHandoff200>;
287
- declare const getGetSessionUrl: (sessionId: string, params: GetSessionParams) => string;
288
- /**
289
- * Returns the current state of a session including its factors and all currently
290
- satisfied assurance levels.
291
-
292
- `assurance_levels[]` may shrink over time as factor freshness windows expire,
293
- without the session itself expiring. Use step-up authentication (a new `auth_attempt`
294
- against the same `session_id`) to restore a dropped assurance level.
295
-
296
- * @summary Get session state
297
- */
298
- declare const getSession: (sessionId: string, params: GetSessionParams, options?: RequestInit) => Promise<GetSession200>;
299
- declare const getRevokeSessionUrl: (sessionId: string, params: RevokeSessionParams) => string;
300
- /**
301
- * Revokes the session immediately (`state: revoked`). This is the logout operation.
302
-
303
- The session_token issued at creation (or superseded by a handoff exchange) is required.
304
- After revocation, any tokens derived from this session are invalidated.
305
-
306
- * @summary Revoke session
307
- */
308
- declare const revokeSession: (sessionId: string, params: RevokeSessionParams, options?: RequestInit) => Promise<void>;
309
- declare const getGetMySessionUrl: () => string;
310
- /**
311
- * Returns the current state of the current session including its factors and all currently
312
- satisfied assurance levels.
313
-
314
- `assurance_levels[]` may shrink over time as factor freshness windows expire,
315
- without the session itself expiring. Use step-up authentication (a new `auth_attempt`
316
- against the same `session_id`) to restore a dropped assurance level.
317
-
318
- * @summary Get my session state
319
- */
320
- declare const getMySession: (options?: RequestInit) => Promise<GetMySession200>;
321
- declare const getRevokeMySessionUrl: () => string;
322
- /**
323
- * Revokes the session immediately (`state: revoked`). This is the logout operation.
324
-
325
- The __nextgen_session cookie issued at creation (or superseded by a handoff exchange) is required.
326
- After revocation, any tokens derived from this session are invalidated including the cookie itself, which is cleared in the response.
327
-
328
- * @summary Revoke my session
329
- */
330
- declare const revokeMySession: (options?: RequestInit) => Promise<void>;
331
- declare const getCreateSchemaUrl: (params: CreateSchemaParams) => string;
332
- /**
333
- * Create a new schema. The schema definition must include a unique $id field,
334
- which will be used to identify the schema in future requests. The $id must
335
- be a valid URI and should ideally point to the location where the schema
336
- can be accessed.
337
-
338
- The schema can either be a concrete schema, e.g. a user schema, or a
339
- schema-url which will be resolved by the server.
340
-
341
- * @summary Create new schema
342
- */
343
- declare const createSchema: (createSchemaBody: CreateSchemaBody, params: CreateSchemaParams, options?: RequestInit) => Promise<CreateSchema201>;
344
- declare const getGetSchemaByIdUrl: (id: string, params: GetSchemaByIdParams) => string;
345
- /**
346
- * Get a schema by its ID. This will return the default revision of the schema.
347
- * @summary Get schema by ID
348
- */
349
- declare const getSchemaById: (id: string, params: GetSchemaByIdParams, options?: RequestInit) => Promise<GetSchemaById200>;
350
- declare const getCreateFlowDefinitionUrl: () => string;
351
- /**
352
- * Creates a new flow definition.
353
- Flow definitions are templates that define the sequence of steps (capabilities)
354
- for a particular user journey (e.g., registration, login, password reset).
355
-
356
- Flow definitions are created based on the flow meta schema, which includes the flow's purpose, audience, and the steps involved.
357
-
358
- * @summary Create a new flow definition
359
- */
360
- declare const createFlowDefinition: (createFlowDefinitionBody: CreateFlowDefinitionBody, options?: RequestInit) => Promise<CreateFlowDefinition201>;
361
- declare const getListFlowDefinitionsUrl: (params: ListFlowDefinitionsParams) => string;
362
- /**
363
- * Retrieves a list of all flow definitions.
364
- This endpoint can be used to view existing flow definitions and their configurations.
365
-
366
- * @summary List flow definitions
367
- */
368
- declare const listFlowDefinitions: (params: ListFlowDefinitionsParams, options?: RequestInit) => Promise<ListFlowDefinitions200>;
369
- declare const getGetFlowDefinitionUrl: (id: string) => string;
370
- /**
371
- * Get a flow definition by id
372
- * @summary Get a flow definition by id
373
- */
374
- declare const getFlowDefinition: (id: string, options?: RequestInit) => Promise<GetFlowDefinition200>;
375
- declare const getUpdateFlowDefinitionUrl: (id: string) => string;
376
- /**
377
- * Update a flow definition by id
378
- * @summary Update a flow definition by id
379
- */
380
- declare const updateFlowDefinition: (id: string, updateFlowDefinitionBody: UpdateFlowDefinitionBody, options?: RequestInit) => Promise<UpdateFlowDefinition200>;
381
- declare const getDeleteFlowDefinitionUrl: (id: string) => string;
382
- /**
383
- * Delete a flow definition by id
384
- * @summary Delete a flow definition by id
385
- */
386
- declare const deleteFlowDefinition: (id: string, options?: RequestInit) => Promise<void>;
387
- declare const getCreateTeamUrl: (params: CreateTeamParams) => string;
388
- /**
389
- * @summary Create team
390
- */
391
- declare const createTeam: (params: CreateTeamParams, createTeamBody?: CreateTeamBody, options?: RequestInit) => Promise<CreateTeam201>;
392
- declare const getGetTeamUrl: (teamId: string, params: GetTeamParams) => string;
393
- /**
394
- * Returns the current state of a team.
395
-
396
- * @summary Get team
397
- */
398
- declare const getTeam: (teamId: string, params: GetTeamParams, options?: RequestInit) => Promise<GetTeam200>; //#endregion
399
- //#endregion
400
- //#region ../api/dist/runtime/api-factory.d.mts
401
- //#region src/runtime/api-factory.d.ts
402
- /**
403
- * Typed Zitadel client returned by {@link createZitadelClient}.
404
- * Mirrors the orval-generated endpoints module 1:1.
405
- */
406
- type ZitadelClient = typeof zitadelNextGen_d_exports;
407
- /** Re-exported under the legacy name some consumers (`runtime/config.ts`) still import. */
408
- type ZitadelApi = ZitadelClient;
409
- /** Options for {@link createZitadelClient}. */
410
- //#endregion
411
- //#region ../api/dist/runtime/config.d.mts
412
- /**
413
- * The initialized project handle returned by {@link configureZitadel}.
414
- * Pure data — use factory functions like {@link getApi} to derive services.
415
- */
416
- interface ZitadelProject {
417
- /** Proxy path for API requests. */
418
- readonly proxyPath: string;
419
- /** Project ID passed to flow creation. */
420
- readonly projectId: string;
421
- /** Full URL of the Zitadel auth backend. */
422
- readonly url?: string;
423
- }
424
- /**
425
- * Initializes app-wide SDK configuration and returns the frozen
426
- * {@link ZitadelProject} handle.
427
- *
428
- * Write-once — subsequent calls with the same values return the original
429
- * handle; calls with different values log a warning and return the
430
- * original. This prevents accidental overwrites while remaining safe
431
- * for HMR and framework double-mounts.
432
- */
433
- //#endregion
434
- //#region src/orchestrator/locales/en.d.ts
435
- /**
436
- * Minimal English locale dictionary.
437
- *
438
- * The `| t` filter looks up `text_key` strings here. Missing keys fall through
439
- * to the raw key (matches the spec in
440
- * `docs/design/flowengine/flow-engine-guide.md`).
441
- *
442
- * Copy aligned to Figma screens file `xkvBjkOJ8ENuHdTGZHXezK` (May 2026).
443
- * MVP only — multi-locale support is deferred.
444
- */
445
- declare const en: Record<string, string>;
446
- type Locale = Record<string, string>;
447
- //#endregion
448
- //#region src/orchestrator/locales/de.d.ts
449
- declare const de: Locale;
450
- //#endregion
451
- //#region src/orchestrator/locales/index.d.ts
452
- declare const builtinLocales: Readonly<Record<string, Locale>>;
453
- //#endregion
454
- //#region src/orchestrator/zitadel-login.d.ts
455
- /**
456
- * `<zitadel-login>` — the auth-UI orchestrator.
457
- *
458
- * Drives the typed `@zitadel/api` Flow API directly: `POST /flow`
459
- * starts a flow, `POST /flow/{id}/submit` advances it. Renders each step
460
- * through LiquidJS, sanitises the output via DOMPurify, and mounts the
461
- * result inside a real `<form>` element in its Shadow DOM via Lit's
462
- * `unsafeHTML` directive. Atom CustomEvents (`zl-input` / `zl-submit`)
463
- * and the form's native `submit` event feed back into the
464
- * submit cycle.
465
- *
466
- * Form participation: the orchestrator owns the `<form>` so Enter submits,
467
- * browsers offer "save password" prompts, and password managers / autofill
468
- * see a real form. Each `<zl-field>` is form-associated (see
469
- * `docs/design/branding/form-participation.md`) so its value participates in
470
- * the form even though it lives inside its own shadow root. The shadow root
471
- * also delegates focus, and after each step swap focus moves to the first
472
- * field so screen-reader and keyboard users land in a sensible spot.
473
- *
474
- * Session/state: the server is stateless between requests — a `_zflow`
475
- * HttpOnly cookie carries orchestration state. We always run with
476
- * `credentials: "include"` (set in `api-client.ts`). The flow handle (`id`)
477
- * may rotate on pivots/pops; we re-read it from every response.
478
- *
479
- * Spec sources:
480
- * - `docs/design/flowengine/flow-engine-guide.md`
481
- * - `docs/design/branding/templates.md`
482
- * - `docs/design/branding/tokens.md`
483
- * - `docs/design/branding/schema.md`
484
- * - `docs/design/branding/form-participation.md`
485
- * - `docs/design/flowengine/template-security.md`
486
- */
487
- declare class ZitadelLogin extends LitElement {
488
- static shadowRootOptions: ShadowRootInit;
489
- static styles: _$lit.CSSResult;
490
- accessor purpose: CreateFlowBodyPurpose;
491
- /**
492
- * SDK project handle returned by `configureZitadel()`. When set, takes
493
- * precedence over the global singleton from `getZitadelConfig()`.
494
- */
495
- accessor project: ZitadelProject | undefined;
496
- /**
497
- * URL to navigate to after a successful embedded sign-in. When set, the
498
- * orchestrator exchanges the terminal `handoff_token` via the generated
499
- * API client (setting the session cookie) and then performs a full
500
- * navigation to this URL so host middleware can observe the cookie.
501
- * For `complete: "redirect"` the orchestrator follows `redirect_uri`
502
- * instead and does not run the exchange.
503
- */
504
- accessor postSignInUrl: string;
505
- /**
506
- * Existing flow handle to resume rather than start a new flow. When set,
507
- * the orchestrator hits `GET /flow/{id}` instead of `POST /flow` on
508
- * mount, so a page reload after a network blip can re-render the same
509
- * step without losing collected state.
510
- */
511
- accessor resumeFlowId: string;
512
- /**
513
- * BCP 47 language tag (e.g. `"de"`, `"en-US"`). The widget resolves this
514
- * to a built-in locale dictionary. Falls back to auto-detection from
515
- * `document.documentElement.lang` or `navigator.language` when empty.
516
- */
517
- accessor lang: string;
518
- /**
519
- * Custom locale dictionaries keyed by language code. When set, these take
520
- * precedence over the built-in dictionaries for matching language codes.
521
- *
522
- * ```ts
523
- * import { en } from "@zitadel/components";
524
- * const locales = {
525
- * en: { ...en, "identifier.title": "Welcome" },
526
- * de: myGermanDict,
527
- * };
528
- * ```
529
- */
530
- accessor locales: Record<string, Locale> | undefined;
531
- private accessor response;
532
- private accessor branding;
533
- private accessor loading;
534
- private accessor startupError;
535
- private accessor formValues;
536
- private readonly themeController;
537
- private engine;
538
- private readonly sanitise;
539
- /**
540
- * Cached compiled tenant template, keyed by source string. Re-rendering on
541
- * every `formValues` change otherwise re-parses the same template.
542
- */
543
- private tenantTemplateCache;
544
- createRenderRoot(): HTMLElement | DocumentFragment;
545
- /**
546
- * Start the flow after the first render rather than in `connectedCallback`.
547
- * Frameworks that wrap web components (e.g. `@lit/react` in the console)
548
- * attach the element first and then assign object properties (`branding`,
549
- * `locale`) via setters. `connectedCallback` runs synchronously on attach
550
- * — before any setters from a wrapper's effects/refs — so reading those
551
- * properties there sees stale defaults. `firstUpdated` runs after Lit's
552
- * first render, by which time setters from the wrapping framework have
553
- * fired.
554
- */
555
- protected firstUpdated(): void;
556
- /**
557
- * Resolves the effective locale dictionary. The built-in dictionary for the
558
- * resolved language is used as the base; entries from the `locales` map (if
559
- * set) are spread on top so partial overrides work without importing and
560
- * spreading the full base dictionary.
561
- */
562
- private resolveLocale;
563
- willUpdate(changed: PropertyValues<this>): void;
564
- updated(changed: PropertyValues<this>): void;
565
- render(): _$lit.TemplateResult<1>;
566
- /**
567
- * Inject the attribution badge into the rendered template's
568
- * `<zl-page-shell>` footer slot. The attribution must live INSIDE the
569
- * page-shell so it sits within the 100vh viewport rhythm (matching the
570
- * Figma sign-in frame where the pill sits 24px below the card, both
571
- * centred on the page). It can't be a sibling of the page-shell because
572
- * the page-shell already occupies the full viewport height.
573
- */
574
- private injectAttribution;
575
- /**
576
- * "Secured with Zitadel" attribution chrome injected into every
577
- * template's page-shell footer slot. Controlled by
578
- * `branding.attribution.show_zitadel` — defaults to `true` for
579
- * community / OSS deployments. Licensed tenants can suppress the badge
580
- * entirely or swap it for a `custom_link` value.
581
- */
582
- private renderAttributionHtml;
583
- private startFlow;
584
- private applyResponse;
585
- /**
586
- * Acts on terminal flow steps. The wire surfaces two kinds of completion:
587
- *
588
- * - `step.complete === "redirect"` — navigate the browser to
589
- * `response.redirect_uri` (OIDC/SAML `auth_request_id` resolved). This
590
- * takes precedence over `post-sign-in-url`.
591
- * - `step.complete === "show"` — when `post-sign-in-url` is set, exchange
592
- * the `handoff_token` for a session cookie and navigate there.
593
- *
594
- * `zitadel-flow-complete` is always emitted so hosts with custom post-sign-in
595
- * flows can handle the handoff themselves when `post-sign-in-url` is omitted.
596
- */
597
- private maybeCompleteFlow;
598
- private renderStep;
599
- /**
600
- * Build a `FlowIdentity` from the orchestrator's captured form values so
601
- * the signed-in template can greet the user by email without the API
602
- * having to round-trip identity claims. Email comes from the
603
- * identifier step; display name composes from `given_name` /
604
- * `family_name` when the register step ran.
605
- */
606
- private deriveIdentity;
607
- private applyValuesToFields;
608
- private handleAtomInput;
609
- private handleAtomSubmit;
610
- /** Secondary navigation rows (`data-action` on `.zl-card-nav__link`). */
611
- private handleDelegatedAction;
612
- private handleFormSubmit;
613
- /**
614
- * Handle a successful WebAuthn ceremony. Auto-submit with the proof
615
- * as `challenge_response` so the flow advances without extra user
616
- * interaction — the ceremony IS the factor verification (ADR 013).
617
- */
618
- private handlePasskeyResult;
619
- /**
620
- * Handle a WebAuthn ceremony error. Re-render the current step with
621
- * an error message so the user sees feedback and can retry or skip.
622
- *
623
- * Guard: if the step already carries the same error key, skip the update.
624
- * Mutating `this.response` triggers `unsafeHTML` to replace the DOM tree,
625
- * which reconnects a fresh `<zl-passkey>` that immediately re-starts the
626
- * ceremony — creating an infinite loop. The guard breaks the cycle.
627
- *
628
- * We also strip the `challenge` from the step so the template does not
629
- * render a new `<zl-passkey>` on re-render. Without this, the first
630
- * cancel would trigger a second ceremony (the guard prevents a third).
631
- */
632
- private handlePasskeyError;
633
- private findPrimaryAction;
634
- private moveFocusToFirstField;
635
- private submit;
636
- private handleTransportError;
637
- }
638
- declare global {
639
- interface HTMLElementTagNameMap {
640
- "zitadel-login": ZitadelLogin;
641
- }
642
- } //# sourceMappingURL=zitadel-login.d.ts.map
643
- //#endregion
644
- //#region src/orchestrator/zitadel-logout.d.ts
645
- /**
646
- * `<zitadel-logout>` — orchestrator-tier element that lets the signed-in user
647
- * sign out without touching the flow API.
648
- *
649
- * Reads the user's display name + email from the `__nextgen_display` cookie
650
- * (set by the auth backend on sign-in), renders an avatar trigger with a
651
- * dropdown that exposes a "Sign out" action, and calls the typed
652
- * `endSession` operation in `@zitadel/api`
653
- * (`GET /auth/end-session`). The server clears the session cookie via
654
- * `Set-Cookie: Max-Age=0`; on success the element fires `zitadel-signout`
655
- * and optionally navigates to `post-sign-out-url`.
656
- *
657
- * ## Template-slot mode
658
- *
659
- * When the consumer projects a `<template>` child the element renders the
660
- * template's clone into its light DOM with `{{name}}`, `{{email}}`, and
661
- * `{{initial}}` substituted. Any element with `data-action="logout"` inside
662
- * the cloned template triggers the sign-out flow. This mirrors the
663
- * placeholder `<nextgen-logout>`'s contract so existing markup keeps working.
664
- *
665
- * Default styles consume the `--zl-*` design tokens so tenant branding
666
- * applies automatically — there is no hardcoded brand colour, radius, or
667
- * shadow.
668
- */
669
- declare class ZitadelLogout extends LitElement {
670
- static styles: _$lit.CSSResult[];
671
- /**
672
- * SDK project handle returned by `configureZitadel()`. When set, takes
673
- * precedence over the global singleton from `getZitadelConfig()`.
674
- */
675
- accessor project: ZitadelProject | undefined;
676
- /** URL to navigate to after a successful sign-out. */
677
- accessor postSignOutUrl: string;
678
- /**
679
- * OIDC `client_id` to forward as a query parameter on the end-session
680
- * request, mirroring the standard end-session contract. Optional —
681
- * leaving this empty is fine when the backend can resolve the client
682
- * from the session cookie alone.
683
- */
684
- accessor clientId: string;
685
- private accessor displayName;
686
- private accessor displayEmail;
687
- private accessor open;
688
- private accessor loading;
689
- private accessor errorMessage;
690
- private templateMode;
691
- connectedCallback(): void;
692
- disconnectedCallback(): void;
693
- updated(): void;
694
- /**
695
- * Decodes the `__nextgen_display` cookie (base64-encoded JSON, set by the
696
- * auth backend on sign-in) and populates `displayName` / `displayEmail`.
697
- * A missing or malformed cookie is intentionally non-fatal — the dropdown
698
- * still renders, just with empty values.
699
- */
700
- private readDisplayCookie;
701
- private get initial();
702
- /**
703
- * Clones a consumer-supplied `<template>` into the light DOM, fills the
704
- * `{{name}}`, `{{email}}`, and `{{initial}}` tokens via a TreeWalker, and
705
- * wires every element with `data-action="logout"` to trigger sign-out.
706
- * Light-DOM mounting is deliberate so the consumer's existing CSS applies.
707
- */
708
- private renderTemplate;
709
- private readonly handleDocumentClick;
710
- private readonly handleDocumentKeydown;
711
- private toggleOpen;
712
- /**
713
- * Calls the typed `endSession` operation (`GET /auth/end-session`) with
714
- * `credentials: "include"`. The server clears the session cookie via
715
- * `Set-Cookie: Max-Age=0`; on success this element fires `zitadel-signout`
716
- * and optionally navigates to `postSignOutUrl`.
717
- */
718
- private doLogout;
719
- /**
720
- * Returns the absolute URL the end-session request will hit. Useful for
721
- * test assertions and for consumers that prefer to navigate the browser
722
- * directly (instead of fetching) so the OIDC session-end redirect is
723
- * driven by the user agent.
724
- */
725
- getEndSessionUrl(): string;
726
- private handleSignOutClick;
727
- render(): _$lit.TemplateResult<1> | typeof nothing;
728
- }
729
- declare global {
730
- interface HTMLElementTagNameMap {
731
- "zitadel-logout": ZitadelLogout;
732
- }
733
- } //# sourceMappingURL=zitadel-logout.d.ts.map
734
- //#endregion
735
- //#region src/orchestrator/branding.d.ts
736
- type FlowLayout = CreateFlow201BrandingLayout;
737
- type BrandingPalette = {
738
- primary?: string;
739
- on_primary?: string;
740
- background?: string;
741
- surface?: string;
742
- muted?: string;
743
- border?: string;
744
- text?: string;
745
- text_muted?: string;
746
- link?: string;
747
- success?: string;
748
- warning?: string;
749
- error?: string;
750
- };
751
- type BrandingTypography = {
752
- font_family?: string;
753
- font_family_mono?: string;
754
- scale?: number;
755
- };
756
- type BrandingShape = {
757
- radius?: "none" | "sm" | "md" | "lg" | "full";
758
- density?: "compact" | "regular" | "comfortable";
759
- };
760
- type BrandingTheme = {
761
- mode?: "light" | "dark" | "auto";
762
- dark?: {
763
- palette?: BrandingPalette;
764
- };
765
- };
766
- type BrandingAssets = {
767
- logo_dark?: string;
768
- favicon?: string;
769
- background_image?: string;
770
- };
771
- /**
772
- * Wire shape (`CreateFlow201Branding`) plus the v2 client-only extension.
773
- * Structurally a superset, so any `CreateFlow201Branding` payload from the
774
- * wire is assignable to `Branding` without a cast.
775
- *
776
- * `attribution.show_zitadel` controls the "Secured with Zitadel" pill in
777
- * the orchestrator footer. Tenants set it to `false` only when they have a
778
- * licence that permits removing attribution (community / OSS deployments
779
- * always show it). The flag intentionally lives on `Branding` so it can
780
- * be overridden per-flow alongside the rest of the visual surface.
781
- */
782
- type Branding = CreateFlow201Branding & {
783
- palette?: BrandingPalette;
784
- typography?: BrandingTypography;
785
- shape?: BrandingShape;
786
- assets?: BrandingAssets;
787
- theme?: BrandingTheme;
788
- attribution?: BrandingAttribution;
789
- };
790
- type BrandingAttribution = {
791
- show_zitadel?: boolean;
792
- custom_link?: {
793
- label: string;
794
- href: string;
795
- };
796
- };
797
- //#endregion
798
- //#region src/orchestrator/theme-controller.d.ts
799
- type ResolvedTheme = "light" | "dark";
800
- declare class ThemeController implements ReactiveController {
801
- private readonly host;
802
- private branding;
803
- private mediaQuery;
804
- private _theme;
805
- constructor(host: ReactiveControllerHost);
806
- get theme(): ResolvedTheme;
807
- setBranding(branding: Branding | undefined): void;
808
- hostConnected(): void;
809
- hostDisconnected(): void;
810
- private refresh;
811
- private attach;
812
- private detach;
813
- private onMediaChange;
814
- private update;
815
- }
816
- //#endregion
817
- //#region src/orchestrator/branding-to-tokens.d.ts
818
- type BrandingToTokensOptions = {
819
- resolvedTheme?: ResolvedTheme;
820
- };
821
- /**
822
- * Build a CSS string of `:host { --zl-* }` declarations from a Branding
823
- * payload. Light values land on `:host`; dark overrides land on
824
- * `:host([data-theme="dark"])`.
825
- */
826
- declare function buildBrandingStylesheet(branding: Branding | undefined, options?: BrandingToTokensOptions): string;
827
- /**
828
- * Apply a branding payload as a `--zl-*` overrides layer on top of the base
829
- * token sheet. Subsequent calls replace the previous override sheet so a new
830
- * branding payload paints cleanly without leaking older declarations.
831
- *
832
- * Callers should run `applyBaseTokens(shadowRoot)` first (once per shadow
833
- * root) so the base values exist before branding patches them.
834
- */
835
- declare function applyBrandingTokens(shadowRoot: ShadowRoot, branding: Branding | undefined, resolvedTheme: ResolvedTheme): void;
836
- declare function resolveTheme(branding: Branding | undefined): ResolvedTheme;
837
- //#endregion
838
- //#region src/orchestrator/font-loader.d.ts
839
- declare function applyFontUrl(shadowRoot: ShadowRoot, fontUrl: string | null | undefined): void;
840
- //#endregion
841
- //#region src/orchestrator/template-names.d.ts
842
- /**
843
- * Names of the bundled Liquid templates the `<zitadel-login>` orchestrator
844
- * registers.
845
- *
846
- * This lives in its own module — separate from `liquid.ts` — so the public
847
- * barrel can re-export `TEMPLATE_NAMES` without dragging LiquidJS' `Liquid`
848
- * type (and its Node ambient-type requirements) into the published
849
- * declaration surface. See `liquid.ts` / the orchestrator barrel.
850
- */
851
- declare const TEMPLATE_NAMES: {
852
- readonly default: "default";
853
- readonly authForm: "auth-form";
854
- readonly passkeyUpsell: "passkey-upsell";
855
- readonly signedIn: "signed-in";
856
- };
857
- //#endregion
858
- //#region src/orchestrator/mandatory-gates.d.ts
859
- declare const MANDATORY_GATES_MARKER = "ZL_MANDATORY_GATES";
860
- declare const mandatoryGatesMarkerComment = "<!--ZL_MANDATORY_GATES-->";
861
- declare function patchMandatoryGates(html: string, step: CreateFlow201Step, locale: Locale): string;
862
- //#endregion
863
- //#region src/orchestrator/sanitiser.d.ts
864
- /**
865
- * Returns a sanitiser bound to the current manifest registry. Callers should
866
- * cache the result; rebuilding is cheap but allocates a fresh DOMPurify config.
867
- */
868
- declare function createSanitiser(): (html: string) => string;
869
- //#endregion
870
- //#region src/orchestrator/templates/default.liquid.d.ts
871
- /**
872
- * Bundled `default.liquid` master template.
873
- *
874
- * Renders the four target Figma auth screens (Sign in, Sign up, Passkey
875
- * upsell, Signed in) by including the appropriate partial based on
876
- * `step.name`. Tenant-specific layouts (`branding.layout`) replace the
877
- * outer chrome only — the per-step partials stay shared so atom output
878
- * tracks the design system without each tenant re-implementing it.
879
- *
880
- * Spec: docs/design/branding/templates.md.
881
- */
882
- declare const defaultTemplate: string;
883
- /**
884
- * Layout chrome injected as an `adoptedStyleSheet` on the orchestrator's
885
- * shadow root. Provides the page background and the attribution-footer
886
- * positioning that lives *outside* any template — the rest of the visual
887
- * surface is owned by the `<zl-page-shell>` / `<zl-card>` atoms the
888
- * templates render. Token references resolve against the
889
- * `@zitadel/design-tokens` CSS variables that are present on
890
- * `:host` via the branding stylesheet.
891
- */
892
- declare const layoutChromeCss = "\n:host {\n display: block;\n min-height: 100%;\n background: var(--zl-color-surface-default-black, #0f0f11);\n color: var(--zl-color-text-primary-white, #f4f4f6);\n font-family: var(--zl-font-family-sans, system-ui, sans-serif);\n}\n.zl-mount {\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n background: inherit;\n color: inherit;\n}\n.zl-mount > zl-page-shell,\n.zl-mount > [data-zl-template-root] {\n flex: 1 1 auto;\n}\n.zl-attribution {\n display: flex;\n justify-content: center;\n align-items: center;\n background: transparent;\n}\n.zl-attribution[hidden] {\n display: none;\n}\n/* Card header typography \u2014 Figma \"Desktop/Headings/Small\" + \"Body Small\n Regular\" pattern shared by sign-in (6593:141740), passkey upsell\n (6594:89142 / 6594:12796), and signed-in (6596:132845). Templates\n slot raw <h1>/<p> elements into <zl-card>, which keeps them in the\n light DOM where the orchestrator's stylesheet can reach them \u2014 the\n atom intentionally doesn't dictate typography. */\n.zl-card-title {\n margin: 0;\n font-family: var(--zl-font-family-heading, var(--zl-font-family-sans, system-ui, sans-serif));\n font-size: 2rem;\n font-weight: 400;\n line-height: 2.5rem;\n letter-spacing: -0.02em;\n color: var(--zl-color-text-primary-white, #f4f4f6);\n text-align: left;\n}\n.zl-card-subtitle {\n margin: 0;\n font-family: var(--zl-font-family-sans, system-ui, sans-serif);\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 400;\n color: var(--zl-color-text-primary-white, #f4f4f6);\n}\n/* Figma 6593:141989 / 6594:12882 \u2014 left-aligned in Field+CTAs (x=0, items-start). */\n.zl-card-nav {\n margin: 0;\n font-family: var(--zl-font-family-sans, system-ui, sans-serif);\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 400;\n color: var(--zl-color-text-primary-white, #f4f4f6);\n text-align: left;\n}\n.zl-card-nav__link {\n display: inline;\n margin: 0;\n padding: 0;\n border: none;\n background: transparent;\n font: inherit;\n line-height: inherit;\n color: var(--zl-color-icon-default-purple, #bba5e4);\n text-decoration: none;\n cursor: pointer;\n}\n.zl-card-nav__link:hover {\n text-decoration: underline;\n}\n.zl-card-nav__link:focus-visible {\n outline: var(--zl-focus-width, 2px) solid var(--zl-focus-color, #f4f4f6);\n outline-offset: var(--zl-focus-offset, 2px);\n}\n/* Figma 6593:141989 \u2014 forgot password row (left-aligned, before CTAs). */\n.zl-card-forgot {\n margin: 0;\n text-align: left;\n}\n.zl-card-forgot__link {\n display: inline;\n margin: 0;\n padding: 0;\n border: none;\n background: transparent;\n font-family: var(--zl-font-family-sans, system-ui, sans-serif);\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 400;\n color: var(--zl-color-icon-default-purple, #bba5e4);\n text-decoration: none;\n cursor: pointer;\n}\n.zl-card-forgot__link:hover {\n text-decoration: underline;\n}\n.zl-card-forgot__link:focus-visible {\n outline: var(--zl-focus-width, 2px) solid var(--zl-focus-color, #f4f4f6);\n outline-offset: var(--zl-focus-offset, 2px);\n}\n";
893
- //#endregion
894
- //#region src/orchestrator/templates/auth-form.liquid.d.ts
895
- /**
896
- * `auth-form` partial — Sign in and Sign up screens (Figma screens file).
897
- *
898
- * Sign up 2xl frame: `6593:141741` (card `6593:141743`, attribution `6593:141767`).
899
- * Sign in 2xl frame: `6593:141983`, card `6593:141985`, stack `6593:141989`
900
- * (email + password + forgot link + CTAs on one step).
901
- * Sign-in errors: wrong credentials `6602:180268`, server alert `6594:125237`.
902
- *
903
- * Figma `Field+CTAs` stacks fields + CTAs in one column at 16px (`spacing-03`).
904
- * Primary/secondary are 48px buttons; register / sign_in are body copy with a
905
- * purple text link (24px row) — not `<zl-button hierarchy="text">`.
906
- */
907
- declare const authFormTemplate: string;
908
- //#endregion
909
- //#region src/orchestrator/templates/passkey-upsell.liquid.d.ts
910
- /**
911
- * `passkey-upsell` partial — third Figma target screen (file
912
- * `xkvBjkOJ8ENuHdTGZHXezK`, node `6594:630`).
913
- *
914
- * Differs from `auth-form`:
915
- * - heading + subtitle live in a compact card (gap 24px instead of 32px),
916
- * - primary "Set up passkey" CTA carries a trailing 24px passkey icon
917
- * (Figma slots the icon to the right of the label, not above it),
918
- * - secondary "Skip for now" uses the dark secondary hierarchy, not the
919
- * `text` hierarchy — the Figma button has a solid #252528 background.
920
- *
921
- * Server-side errors land in a `<zl-alert>` the same way as the auth form.
922
- */
923
- declare const passkeyUpsellTemplate: string;
924
- //#endregion
925
- //#region src/orchestrator/templates/signed-in.liquid.d.ts
926
- /**
927
- * `signed-in` partial — fourth Figma target screen (file
928
- * `xkvBjkOJ8ENuHdTGZHXezK`, node `6596:132844`).
929
- *
930
- * Figma layout:
931
- * - heading "You're signed in as" (left-aligned, full width)
932
- * - body line with the authenticated email address (Arimo Regular 16/24)
933
- * - "Continue" primary CTA
934
- * - "Logout" secondary CTA
935
- *
936
- * No avatar / identity hero glyph: the Figma frame is intentionally a
937
- * pure modal layover and dropping the avatar keeps the orchestrator
938
- * default in lockstep with the spec.
939
- *
940
- * Rendered when the flow returns a terminal step (`complete: "show"`)
941
- * and no `post-sign-in-url` is configured, so the user can confirm the
942
- * identity before the host SPA takes over.
943
- */
944
- declare const signedInTemplate: string;
945
- //#endregion
946
- //#region src/orchestrator/api-client.d.ts
947
- declare function startFlow(api: ZitadelApi, input: CreateFlowBody): Promise<CreateFlow201>;
948
- declare function submitStep(api: ZitadelApi, id: string, body: SubmitFlowStepBody): Promise<CreateFlow201>;
949
- declare function getCurrentStep(api: ZitadelApi, id: string): Promise<CreateFlow201>;
950
- //#endregion
951
- //#region src/orchestrator/branding-validator.d.ts
952
- type BrandingValidationResult = {
953
- branding: Branding | undefined;
954
- issues: readonly string[];
955
- };
956
- declare function validateBranding(input: Branding | undefined): BrandingValidationResult;
957
- //#endregion
958
- //#region src/orchestrator/template-context.d.ts
959
- type FlowMessage = {
960
- level: "info" | "warning";
961
- text_key: string;
962
- };
963
- type FlowError = {
964
- code?: string;
965
- text_key?: string;
966
- message?: string;
967
- };
968
- type FlowIdentity = {
969
- display_name?: string;
970
- email_address?: string;
971
- avatar_url?: string;
972
- };
973
- /**
974
- * Liquid render context. The orchestrator builds this from the wire
975
- * `CreateFlow201` payload before invoking the engine.
976
- *
977
- * Capability dictionaries point at the orval wire shapes directly. The only
978
- * client-only pieces are `messages`, `identity`, `errors`, the resolved
979
- * `branding` (v2 superset), and `loading`.
980
- */
981
- type LiquidContext = {
982
- step: Pick<CreateFlow201Step, "name" | "complete" | "texts">;
983
- fields: CreateFlow201StepFields;
984
- actions: CreateFlow201StepActions;
985
- gates: CreateFlow201StepGates;
986
- sso_providers: readonly CreateFlow201StepSsoProvidersItem[];
987
- challenge: CreateFlow201StepChallenge | null;
988
- messages: readonly FlowMessage[];
989
- identity: FlowIdentity | null;
990
- errors: readonly FlowError[];
991
- branding: Branding | Record<string, never>;
992
- loading: boolean;
993
- };
994
- //#endregion
995
- export { BrandingShape as A, resolveTheme as C, BrandingAssets as D, Branding as E, ZitadelLogin as F, builtinLocales as I, de as L, BrandingTypography as M, FlowLayout as N, BrandingAttribution as O, ZitadelLogout as P, Locale as R, buildBrandingStylesheet as S, ThemeController as T, mandatoryGatesMarkerComment as _, BrandingValidationResult as a, applyFontUrl as b, startFlow as c, passkeyUpsellTemplate as d, authFormTemplate as f, MANDATORY_GATES_MARKER as g, createSanitiser as h, LiquidContext as i, BrandingTheme as j, BrandingPalette as k, submitStep as l, layoutChromeCss as m, FlowIdentity as n, validateBranding as o, defaultTemplate as p, FlowMessage as r, getCurrentStep as s, FlowError as t, signedInTemplate as u, patchMandatoryGates as v, ResolvedTheme as w, applyBrandingTokens as x, TEMPLATE_NAMES as y, en as z };
996
- //# sourceMappingURL=index-7FDHEpv5.d.mts.map